Skip to content

[BUG] Internal CS42L43 microphone returns EIO with sof-firmware 2026.09.1 / SOF 2.15 on Meteor Lake SoundWire #11259

Description

@zengmao

My Dell XPS Laptop microphone stopped working after recent Arch Linux updates. The problem was solved by downgrading the sof-firmware version to 2025.12.2, after a debugging conversation with ChatGPT which identified the problems using various ALSA commands. Below is a ChatGPT writeup of the bug, which I've read through and contains many outputs from shell commands I executed (though I have little knowledge about hardware).

Description

The internal microphone on a Meteor Lake-P laptop stopped working after upgrading from:

sof-firmware 2025.12.2-1

to:

sof-firmware 2026.09.1-1

The speaker continues to work. Downgrading only sof-firmware restores the microphone after reboot.

The microphone is exposed through the CS42L43 SoundWire codec and PCM device 4:

card 1: sofsoundwire [sof-soundwire], device 4: Microphone

With sof-firmware 2026.09.1-1, ALSA can open the PCM and accepts its hardware parameters, but the first read fails with Input/output error.

Linux distribution context

The reported capture failure and ALSA reproduction describe the SOF issue generally. Package and pacman information are specific to the Arch Linux laptop.

Hardware/software

Platform: Intel Meteor Lake-P
Audio controller: Intel Meteor Lake-P HD Audio Controller (`8086:7e28`, revision 20)
Audio codec: Cirrus Logic CS42L43 SmartMic over SoundWire
Card: sof-soundwire
Internal microphone PCM: hw:1,4
Audio subsystem: Dell (`1028:0c62`)

Exact laptop model: Dell XPS 16 9640
BIOS version: 1.23.0

Broken Arch Linux package:

sof-firmware 2026.09.1-1
SOF firmware reported by kernel: 2.15.0.1

Working Arch Linux package:

sof-firmware 2025.12.2-1

Other Arch Linux packages:

alsa-ucm-conf 1.2.16.1-1
alsa-lib 1.2.16.1-1

Arch Linux kernel packages installed:

linux 7.2.8.arch1-2
linux-lts 6.18.54-2

The issue occurred with both kernels. The reported running kernel was 7.2.8-arch1-2.

The controller is bound to sof-audio-pci-intel-mtl; the kernel also lists snd_sof_pci_intel_mtl and snd_hda_intel as available modules.

Steps to reproduce

With sof-firmware 2026.09.1-1 installed:

arecord -l

Output includes:

**** List of CAPTURE Hardware Devices ****
card 1: sofsoundwire [sof-soundwire], device 1: Jack In (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: sofsoundwire [sof-soundwire], device 4: Microphone (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0

The internal microphone advertises:

FORMAT: S16_LE S24_LE S32_LE
CHANNELS: 2
RATE: 48000

Direct ALSA capture then fails:

arecord -D hw:1,4 -f S16_LE -r 48000 -c 2 -d 5 /tmp/mic.wav

Result:

Recording WAVE '/tmp/mic.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
arecord: pcm_read:2285: read error: Input/output error

The same failure occurs with:

arecord -D hw:1,4 -f S24_LE -r 48000 -c 2 -d 5 /tmp/mic-s24.wav
arecord -D hw:1,4 -f S32_LE -r 48000 -c 2 -d 5 /tmp/mic-s32.wav
arecord -D plughw:1,4 -f S16_LE -r 48000 -c 2 -d 5 /tmp/mic-plug.wav

The failure occurs with PipeWire bypassed, using ALSA directly.

The other capture PCM opens successfully:

arecord -D hw:1,1 -f S16_LE -r 48000 -c 2 -d 5 /tmp/jack.wav

That endpoint is the headset/line input and was not expected to contain a signal during testing.

UCM and mixer checks

UCM identifies the internal microphone as PCM 4:

CapturePCM/Mic=_ucm0001.hw:sofsoundwire,4

The microphone device can be enabled with:

set _verb HiFi
set _enadev Mic

The CS42L43 routing controls after enabling the UCM microphone device were:

cs42l43 DP1TX1 Input = Decimator 3
cs42l43 DP1TX2 Input = Decimator 4
cs42l43 DP1TX3 Input = None
cs42l43 DP1TX4 Input = None

The decimator switches were enabled:

cs42l43 Decimator 1 Switch = on
cs42l43 Decimator 2 Switch = on
cs42l43 Decimator 3 Switch = on
cs42l43 Decimator 4 Switch = on

Therefore this does not appear to be simply a PipeWire source-selection issue or an obviously disabled UCM/mixer route.

Kernel log from the broken boot

The DSP and topology initialize successfully:

snd_hda_intel 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
acpi device:2c: find_sdca_function: SDCA function SmartMic (type 3) at 0x2
sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 0
sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri
sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware lib path: intel/sof-ipc4-lib/mtl
sof-audio-pci-intel-mtl 0000:00:1f.3: Topology file: intel/sof-ace-tplg/sof-mtl-cs42l43-l0-cs35l56-l23.tplg
sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.15.0.1
sof-audio-pci-intel-mtl 0000:00:1f.3: Booted firmware version: 2.15.0.1
sof-audio-pci-intel-mtl 0000:00:1f.3: loading topology 1: intel/sof-ace-tplg/sof-sdca-mic-id4.tplg

There are no new kernel messages when arecord produces the EIO failure. The boot log contains no obvious firmware-load failure, DSP crash, IPC timeout, or SoundWire enumeration failure.

Regression test (Arch Linux)

After installing the older cached package:

sudo pacman -U /var/cache/pacman/pkg/sof-firmware-2025.12.2-1-x86_64.pkg.tar.zst
sudo reboot

the internal microphone worked immediately after reboot.

The same ALSA test then succeeded:

arecord -D hw:1,4 -f S16_LE -r 48000 -c 2 -d 5 /tmp/mic.wav

No PipeWire, WirePlumber, kernel, or UCM package changes were made during this A/B test.

Expected behavior

The internal microphone PCM should record audio:

arecord -D hw:1,4 -f S16_LE -r 48000 -c 2 -d 5 /tmp/mic.wav

Actual behavior

With sof-firmware 2026.09.1-1, the PCM opens but the first read fails:

arecord: pcm_read:2285: read error: Input/output error

Workaround (Arch Linux)

Downgrading to:

sof-firmware 2025.12.2-1

restores the microphone. The newer package is currently held in /etc/pacman.conf:

IgnorePkg = sof-firmware

Suspected regression area

The regression may involve one of the following files or their interaction:

intel/sof-ipc4/mtl/sof-mtl.ri
intel/sof-ipc4-lib/mtl/
intel/sof-ace-tplg/sof-sdca-mic-id4.tplg

The affected path is specifically the Meteor Lake + CS42L43 SmartMic/SoundWire capture path. Speaker playback remains functional.


System diagnostics (Arch Linux host)

uname -a
sudo dmidecode -s system-product-name
sudo dmidecode -s bios-version
lspci -nnk -s 00:1f.3
pacman -Q sof-firmware alsa-ucm-conf alsa-lib linux linux-lts

Output:

Linux xps-laptop 7.2.8-arch1-2 #1 SMP PREEMPT_DYNAMIC Thu, 01 Oct 2026 17:24:20 +0000 x86_64 GNU/Linux
System product name: XPS 16 9640
BIOS version: 1.23.0
00:1f.3 Audio device [0403]: Intel Corporation Meteor Lake-P HD Audio Controller [8086:7e28] (rev 20)
    Subsystem: Dell Device [1028:0c62]
    Kernel driver in use: sof-audio-pci-intel-mtl
    Kernel modules: snd_sof_pci_intel_mtl, snd_hda_intel
sof-firmware 2025.12.2-1
alsa-ucm-conf 1.2.16.1-1
alsa-lib 1.2.16.1-1
linux 7.2.8.arch1-2
linux-lts 6.18.54-2

Activity

  1. added
    bugSomething isn't working as expected
    on Oct 2, 2026
  2. gewitternacht commented on Oct 5, 2026

    @gewitternacht

    I had the same issue on Arch Linux on a Dell Pro 16 Plus PB16250 (kernel 7.2.7-arch1-1): there was either no sound or some rhythmic squeaking noises from my built-in microphone, and I too got arecord: pcm_read:2285: read error: Input/output error while debugging the problem.
    Downgrading sof-firmware from 2026.09-1 to 2025.12.2-1 fixed it.

    Maybe these details from a kernel log (while the mic was not working) help with identifying the root cause:

    Firmware file:     intel/sof-ipc4/arl/sof-arl.ri
    Firmware lib path: intel/sof-ipc4-lib/arl
    Loaded firmware library: ADSPFW, version: 2.15.0.1
    Booted firmware version: 2.15.0.1
    loading topology: intel/sof-ipc4-tplg/sof-arl-cs42l43-l0.tplg
    
  3. kv2019i commented on Oct 6, 2026

    @kv2019i
    Collaborator

    Fixes here #11258 and #11268 . Already merged to SOF main and backported to stable-v2.15. We'll be doing a new 2.15.x release soon.

  4. kv2019i commented on Oct 6, 2026

    @kv2019i
    Collaborator

    SOF v2.15.1 tagged. Release binaries for all targets are available for testing in thesofproject/sof-bin#214 . ETA to merge and get a release out tomorrow (Wed).

  5. kv2019i commented on Oct 7, 2026

    @kv2019i
    Collaborator
  6. added a commit that references this issue on Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working as expectedtopologyTopology issues

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions