Repository navigation
Closed
Description
After #5780 I think everything is working with the built-in sound on Debian/trixie-backports except for the sound input on the headphone jack. I have found no way to record from the headset for a long time now. I'm not sure it ever worked. Plug events are detected, and the sound settings reflect that:
I couldn't see anything on alsamixer:
I couldn't get anything to record using arecord unless I changed devices manually:
~ $ arecord -L
null
Discard all samples (playback) or generate zero samples (capture)
lavrate
Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
Rate Converter Plugin Using Samplerate Library
speexrate
Rate Converter Plugin Using Speex Resampler
jack
JACK Audio Connection Kit
oss
Open Sound System
pipewire
PipeWire Sound Server
pulse
PulseAudio Sound Server
speex
Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
default
Default ALSA Output (currently PipeWire Media Server)
hw:CARD=sofsoundwire,DEV=1
sof-soundwire,
Direct hardware device without any conversions
hw:CARD=sofsoundwire,DEV=4
sof-soundwire,
Direct hardware device without any conversions
plughw:CARD=sofsoundwire,DEV=1
sof-soundwire,
Hardware device with all software conversions
plughw:CARD=sofsoundwire,DEV=4
sof-soundwire,
Hardware device with all software conversions
dsnoop:CARD=sofsoundwire,DEV=1
sof-soundwire,
Direct sample snooping device
dsnoop:CARD=sofsoundwire,DEV=4
sof-soundwire,
Direct sample snooping device
usbstream:CARD=sofsoundwire
sof-soundwire
USB Stream Output
~ $ arecord -d 2 -f cd test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
~ $ aplay test.wav # no sound at all in the recording
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
~ $ arecord -D plughw:0,1 -d 2 -f cd test.wav
~ $ aplay test.wav # no sound at all in the recording
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
~ $ arecord -D plughw:0,4 -d 2 -f cd test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
~ $ aplay test.wav # now there is sound in the recording
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, StereoMetadata
Metadata
Assignees
Labels
No labels
Activity
shumingfan commentedon Jun 1, 2026
@eighthave
This issue also appears to be related to the UCM configuration.
Could you check whether the corresponding amixer controls are being set correctly?
https://github.com/alsa-project/alsa-ucm-conf/blob/master/ucm2/codecs/rt711-sdca/init.conf
https://github.com/alsa-project/alsa-ucm-conf/blob/master/ucm2/sof-soundwire/rt711-sdca.conf#L21
'rt711 ADC 22 Mux' 'MIC2'
'rt711 FU0F Capture Volume' 57
'rt711 FU0F Capture Switch' 1
'Headset Mic Switch' 1
eighthave commentedon Jun 1, 2026
I'm not quite sure how to check here. Here's my attempts:
Looking at alsamixer, I can see:
Should I use something different? I tried to figure out alsaucm but so far no luck
shumingfan commentedon Jun 1, 2026
@eighthave
The commands to get the status are:
$ amixer -c0 cget name='rt711 ADC 22 Mux'
$ amixer -c0 cget name='rt711 FU0F Capture Volume'
$ amixer -c0 cget name='rt711 FU0F Capture Switch'
$ amixer -c0 cget name='Headset Mic Switch'
Set the amixer controls.
$ amixer -c0 cset name='rt711 ADC 22 Mux' 'MIC2'
$ amixer -c0 cset name='rt711 FU0F Capture Volume' 57
$ amixer -c0 cset name='rt711 FU0F Capture Switch' 1
$ amixer -c0 cset name='Headset Mic Switch' 1
eighthave commentedon Jun 1, 2026
Still no sound input from the headset.
shumingfan commentedon Jun 1, 2026
@eighthave
Could you dump registers while the headset is recording?
$ cat /sys/kernel/debug/regmap/sdw:0:025d:0711:01/registers
$ cat /sys/kernel/debug/regmap/sdw:0:025d:0711:01-sdw-mbq/registers
eighthave commentedon Jun 1, 2026
The device name that you wrote did not exist, but I think I find the right one with a slightly different name:
registers
shumingfan commentedon Jun 1, 2026
@eighthave
Did you keep the recording when you captured the registers?
If no, please keep the recording and dump the registers again.
If yes, please check the DAPM status during the recording.
$ grep -rn On /sys/kernel/debug/asoc/
eighthave commentedon Jun 1, 2026
I wrote a script which hopefully does what you want:
And here are the results of two runs:
1780318363-runs_record-sof-registers.zip
shumingfan commentedon Jun 2, 2026
@eighthave
The register dump and DAPM status do not capture the information I need to see.
Please keep the recording running while collecting this information. The recording in your test lasted only 20 seconds, while the register dump may take several minutes to complete.
However, I checked the test.wav file and could hear the audio when playing it back.
It seems the volume/gain should be increased. Please try the following mixer controls and test again.
$ amixer -c0 cset name='rt711 FU44 Gain Volume' 1
$ amixer -c0 cset name='PGA5.0 5 Master Capture Volume' 80
eighthave commentedon Jun 2, 2026
It seemed that those volume levels were already up to some degree.
In the sound settings, the mic level is full up and there is never any output shown on the little meter there:
I tried recording in Audacity. Using the "default" settings, I could not get audio input. When I manually switched to "sof soundwire: - (hw:0,4)", then I could record audio from the plugged in headset:
eighthave commentedon Jun 2, 2026
Ok, something strange is going on. Earlier today, the headset was plugged in and the sounds settings only showed "SoundWire microphone..." and the additional "Headset Microphone - Alder Lake..." option was not present. I unplugged the headset, waited a couple seconds, and plugged it back in. Then "Headset Microphone - Alder Lake..." also showed up. Then I did what I wrote in the comment above. Since then, I have attached a Bluetooth speakerphone and had a work call, then turned off Bluetooth and plugged in the headset. The sound settings look the same, but now Audacity has sprouted another input:
Here's the status of recording on all the inputs:
shumingfan commentedon Jun 2, 2026
@eighthave
Please use the command to test the headset mic and dump the information I mentioned(#5795 (comment)).
$ arecord -D hw:0,1 -f dat test.wav -vvv
The 'sof-soundwire: - (hw:0,4)' is the built-in mic.
eighthave commentedon Jun 2, 2026
The two
catcommands block for some seconds, then exit. They don't go more than 20 seconds. Is there something to do to there? Here's my updated script with the WAV recording and a 60 second record time just to be sure:And the result:
record-sof-registers.sh-1780411295.zip
shumingfan commentedon Jun 2, 2026
@eighthave
Please KEEP the recording until the register dump is complete.
It will take several minutes if you haven't dumped ever, not just 60 seconds.
eighthave commentedon Jun 2, 2026
Is this the register dump:
If so, those complete in a couple of seconds, while the recording is still running. Also when I do it manually in the terminal.
4 remaining items
eighthave commentedon Jun 9, 2026
Ok here's the latest:
Then I waited for a couple of minutes, and the recording in the terminal worked:
shumingfan commentedon Jun 10, 2026
@eighthave
The recording contains audio at the beginning, so I suspect the codec lost microphone detection at some point during the recording.
Based on the dump I reviewed earlier, I only saw the headphone being detected; the microphone was not detected.
Could you try testing with a different headset and see if the issue still occurs?
BTW, please test switching on/off during the recording.
You could check the meter which has sound or not.
eighthave commentedon Jun 10, 2026
Yeah, it does seem like something is intermittent here. This time:
arecord -D hw:0,1 -f dat test.wav -vvvIt worked for a couple of rounds, then the last time I plugged it in, it didn't get any sound. Then I left the headset in, stopped the recording and waited for a couple of minutes, then restarted the recording and it worked.
evtestseems to show this pretty clearly:[-]no sound coming in headphone jack (Dell 9720 w/ Alder Lake PCH-P audio)[/-][+]intermittent failure detecting headset mic from headphone jack (Dell 9720 w/ Alder Lake PCH-P audio)[/+]eighthave commentedon Jun 10, 2026
FYI, this has been a very reliable headset. I use it on my phone and other computers too. I don't have another headset with me, but when I find one, I'll test again.
I tried to reproduce it. The headset was still plugged in when I started
evtest. I unplugged it, then plugged, etc. The last unplug event was never reported, even after some minutes of waiting:The headset is still unplugged here. Then when I plugged the headset in again, I got two sets of events:
eighthave commentedon Jun 10, 2026
Here's the recording test:
evtestthat I got SW_HEADPHONE_INSERT and SW_MICROPHONE_INSERT with a value of 1.amixeramixerarecord[-]intermittent failure detecting headset mic from headphone jack (Dell 9720 w/ Alder Lake PCH-P audio)[/-][+]no sound coming in headphone jack (Dell 9720 w/ Alder Lake PCH-P audio)[/+]shumingfan commentedon Jun 11, 2026
@eighthave Thanks for testing.
Regarding the amixer controls, you missed the following control required for the headset microphone:
$ amixer -c0 cset name='PGA2.0 2 Master Capture Switch' 1As for the jack detection issue, I tested another Dell machine with the same codec and could not reproduce the problem.
I'm not sure whether this is related to the jack socket itself or some other issue.
However, you can force the jack detection result to the headset by setting the following control:
$ amixer -c0 cset name='rt711 GE49 Selected Mode' 2This setting is only for your case. Not a general case.
eighthave commentedon Jun 15, 2026
I tested plugging and unplugging with a brand new, albeit cheap, Alcatel headset. It resulted in similar behavior. Here's
evtest:Here's what it looked like:
signal-2026-06-15-10-42-45-754.mp4
eighthave commentedon Jun 15, 2026
In #5795 (comment)
I'm not sure what you mean here. In #5795 (comment) that command was run and seemed successful.
shumingfan commentedon Jun 15, 2026
@eighthave
Sorry for the confusion.
What I meant is that, based on the alsa-info log (#5780 (comment)), the only missing amixer control for the headset microphone is:
PGA2.0 2 Master Capture Switch
I checked the evtest video, and I still suspect this is related to the jack socket hardware.
If it is indeed a hardware issue, there is not much that can be addressed from the software side.
However, you can refer to the following comment:
#5795 (comment)
It may help with your case.
eighthave commentedon Jun 19, 2026
Yup, its probably a hardware issue. Sorry for the noise here, there were so many overlapping issues, I got a little lost in what was what.
shumingfan commentedon Jun 23, 2026
@eighthave Could we close this issue?
shumingfan commentedon Jun 29, 2026
@eighthave
Close this issue now. Reopen it if needed.