Onboard Speaker does not work and Internal Mic (DMIC) isn't detected on Dell Latitude 7350 Detachable
Closed this issue · 12 comments
Installed Fedora Rawhide on Dell Latitude 7350 Detachable resulting in no-audio output from onboard speaker and in-built mic (DMIC) can't be detected. (SKU - 0x0C64)
Updated the SUT with the following
- Topology built rightly.
- Noticed proper SOF Machine driver in upstream as on v.6.10-rc1, able to load the topology.
- Updated the UCM2 config files as per [ALSA_UCM_README]
Below is the error found while alsaucm reload
[linuxengg@fedora ~]$ sudo alsaucm reload
ALSA lib ucm_subs.c:807:(uc_mgr_get_substituted_value) variable '${var:__RegEx}' is not defined in this context!
ALSA lib parser.c:2024:(parse_verb_file) error: /sof-soundwire/HiFi.conf failed to parse device ALSA lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -22
alsaucm: error failed to open sound card hw:0: Invalid argument
Adding Alsa-Info logs for the same
alsa-info.txt
I don't know where you refer the __RegEx
variable:
# curl -L -o alsa-ucm-conf.tar.gz https://github.com/alsa-project/alsa-ucm-conf/archive/refs/heads/master.tar.gz
# tar xvzf alsa-ucm-conf.tar.gz -C /usr/share/alsa --strip-components=1 --wildcards "*/ucm2"
# find /usr/share/alsa/ucm2 -type f -exec grep -H "__RegEx" {} \;
Not found...
There was a small issue with ab2b4f1 fixed by 4aa9822 , so the master branch should work.
Thanks @perexg.
By updating the alsa-ucm-conf once again which has the commit mentioned by you, alsaucm reload error has been solved, but the underlying problem mentioned in the description of the issue still holds good and exists completely as it.
You should do reboot to let the sound server detect the UCM configuration changes. The alsaucm reload
does not reload configuration for the already running sound server.
I got your point @perexg,
Reboot was performed post updating the ucm2 conf, as part of the standard process. But post reboot, the mentioned issue exists for sound. Later to confirm if alsaucm reload could work, I have tried running that command too, which results no errors.
Unfortunately, without a description what does not exactly work now, I cannot give further hints. The sound server should list audio devices (check using pavucontrol
command). Also, you may list the UCM configuration using alsaucm -c hw:0 dump text
command for the further analysis.
Output for alsaucm -c hw:0 dump text :
Verb.HiFi {
Comment "Play HiFi quality Music"
Device.Speaker {
Comment Speaker
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,2"
PlaybackPriority 100
TQ HiFi
}
}
Device.Mic {
Comment "SoundWire microphones"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
CaptureMixerElem "rt713-dmic FU1E"
CapturePCM "_ucm0001.hw:sofsoundwire,4"
CapturePriority 100
CaptureSwitch "rt713-dmic FU1E Capture Switch"
CaptureVolume "rt713-dmic FU1E Capture Volume"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
TQ HiFi
}
}
Device.Headphones {
Comment Headphones
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "Headphone Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire"
PlaybackPriority 200
TQ HiFi
}
}
Device.Headset {
Comment "Headset Microphone"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
CaptureMixerElem "rt713 FU0F"
CapturePCM "_ucm0001.hw:sofsoundwire,1"
CapturePriority 200
CaptureSwitch "rt713 FU0F Capture Switch"
CaptureVolume "rt713 FU0F Capture Volume"
JackControl "Headset Mic Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
TQ HiFi
}
}
Device.HDMI1 {
Comment "HDMI / DisplayPort 1 Output"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "HDMI/DP,pcm=5 Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,5"
PlaybackPriority 500
TQ HiFi
}
}
Device.HDMI2 {
Comment "HDMI / DisplayPort 2 Output"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "HDMI/DP,pcm=6 Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,6"
PlaybackPriority 600
TQ HiFi
}
}
Device.HDMI3 {
Comment "HDMI / DisplayPort 3 Output"
Values {
CaptureCTL "_ucm0001.hw:sofsoundwire"
JackControl "HDMI/DP,pcm=7 Jack"
PlaybackCTL "_ucm0001.hw:sofsoundwire"
PlaybackPCM "_ucm0001.hw:sofsoundwire,7"
PlaybackPriority 700
TQ HiFi
}
}
}
Unfortunately, without a description what does not exactly work now, I cannot give further hints. The sound server should list audio devices (check using
pavucontrol
command). Also, you may list the UCM configuration usingalsaucm -c hw:0 dump text
command for the further analysis.
Thanks @perexg for the quick turnaround. Appreciate your efforts.
Below are two issues observed on Latitude 7350 Detachable (SKU - 0x0C64)
- Onboard Speaker is detected as mentioned in the snapshot attached in the comment but audio does play
- Internal Mic (DMIC) isn't detected as mentioned in the snapshot attached.
I would suggest to move this discussion to the SOF project: https://github.com/thesofproject/sof/issues . From UCM view, the configuration looks fine now.
Sure @perexg , Thanks for the support 👍
I will take it to SOF Project.
This issue got fixed with below mentioned fix.
https://patchwork.kernel.org/project/alsa-devel/patch/20240612075740.1678082-1-shumingf@realtek.com/