Support for 8086:ae20 Intel Smart Sound Technology on Fujitsu Lifebook
Dear all,
(please Cc)
today I realized that the built-in microphone (next to the webcam) of my Fujitsu Lifebook U-series is not detected. (I usully use a headset, but due to travelling was forced to use the internal).
I tried hard to get this device working, but neither with my self-compiled kernel (5.15.6) nor the Debian kernel distribution kernel 5.15 the microphone seems to be detected.
I booted into Windows and tried to find out what the device might be. My **guess** is what is mentioned as Intel Smart Sound Technology with Vendor ID 8086 Device ID ae20 I git grepped the kernel sources for this, and snd-hda-intel contains quite some mentioning about Vendor ID 8086, but ae20 is not appearing.
Now the interesting thing is that booting into linux and using lspci and lsusb, I cannot see a single device with the above specifications:
lspci: root@sakefilet /usr/src/git/linux/Documentation # lspci 00:00.0 Host bridge: Intel Corporation Comet Lake-U v1 4c Host Bridge/DRAM Controller (rev 0c) 00:02.0 VGA compatible controller: Intel Corporation CometLake-U GT2 [UHD Graphics] (rev 02) 00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c) 00:12.0 Signal processing controller: Intel Corporation Comet Lake Thermal Subsytem 00:14.0 USB controller: Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller 00:14.2 RAM memory: Intel Corporation Comet Lake PCH-LP Shared SRAM 00:14.3 Network controller: Intel Corporation Comet Lake PCH-LP CNVi WiFi 00:15.0 Serial bus controller [0c80]: Intel Corporation Serial IO I2C Host Controller 00:15.1 Serial bus controller [0c80]: Intel Corporation Comet Lake Serial IO I2C Host Controller 00:15.3 Serial bus controller [0c80]: Intel Corporation Device 02eb 00:16.0 Communication controller: Intel Corporation Comet Lake Management Engine Interface 00:16.3 Serial controller: Intel Corporation Device 02e3 00:1c.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #1 (rev f0) 00:1c.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #5 (rev f0) 00:1d.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #9 (rev f0) 00:1d.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #13 (rev f0) 00:1e.0 Communication controller: Intel Corporation Device 02a8 00:1e.1 Communication controller: Intel Corporation Device 02a9 00:1f.0 ISA bridge: Intel Corporation Comet Lake PCH-LP LPC Premium Controller/eSPI Controller 00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH-LP cAVS 00:1f.4 SMBus: Intel Corporation Comet Lake PCH-LP SMBus Host Controller 00:1f.5 Serial bus controller [0c80]: Intel Corporation Comet Lake SPI (flash) Controller 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (10) I219-LM 06:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) 07:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) 07:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) 07:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) 07:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) 08:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] (rev 06) 3d:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] (rev 06) 72:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 77:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01)
lsusb: Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 04f2:b6e1 Chicony Electronics Co., Ltd FJ Camera Bus 001 Device 003: ID 298d:2033 Next Biometrics NB-2033-U Bus 001 Device 002: ID 058f:9540 Alcor Micro Corp. AU9540 Smartcard Reader Bus 001 Device 005: ID 8087:0026 Intel Corp. AX201 Bluetooth Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
I attach the output of alsa-info for completeness. The kernel version is 5.15.6 with some patches from xannmod, but I could reproduce the same behaviour with standard Debian kernel 5.15.
Am I missing some config option, or is the vendorid/devid not supported by now?
Thanks for every suggestion,
(Please CC!)
Al the best
Norbert
-- PREINING Norbert https://www.preining.info Fujitsu Research + IFMGA Guide + TU Wien + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
today I realized that the built-in microphone (next to the webcam) of my Fujitsu Lifebook U-series is not detected. (I usully use a headset, but due to travelling was forced to use the internal).
I tried hard to get this device working, but neither with my self-compiled kernel (5.15.6) nor the Debian kernel distribution kernel 5.15 the microphone seems to be detected.
I booted into Windows and tried to find out what the device might be. My **guess** is what is mentioned as Intel Smart Sound Technology with Vendor ID 8086 Device ID ae20 I git grepped the kernel sources for this, and snd-hda-intel contains quite some mentioning about Vendor ID 8086, but ae20 is not appearing.
I checked in our internal sources and while I do see a 'DMIC_DEVICE_ID' 0xAE20, this is not related to PCI and that's not what is used to probe a driver.
if you are looking at Windows, the string you want to look for starts with 'CTLR_DEV_', not 'DEV_'
Now the interesting thing is that booting into linux and using lspci and lsusb, I cannot see a single device with the above specifications:
lspci: root@sakefilet /usr/src/git/linux/Documentation # lspci
[...]
00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH-LP cAVS
This is the one you want details on. please share the results of:
cat /sys/bus/pci/devices/0000:00:1f.3/device cat /sys/bus/pci/devices/0000:00:1f.3/class
and sudo lspci -vvv -s 00:1f.3
Dear Pierre-Louis, dear all,
(please cc)
thanks for your answer, much appreciated.
On Mon, 06 Dec 2021, Pierre-Louis Bossart wrote:
if you are looking at Windows, the string you want to look for starts with 'CTLR_DEV_', not 'DEV_'
Thanks, didn't know. The string I found is CTRL_DEV_02C8
00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH-LP cAVS
This is the one you want details on. please share the results of:
cat /sys/bus/pci/devices/0000:00:1f.3/device cat /sys/bus/pci/devices/0000:00:1f.3/class
and sudo lspci -vvv -s 00:1f.3
Here they are
[~] cat /sys/bus/pci/devices/0000:00:1f.3/device 0x02c8 [~] cat /sys/bus/pci/devices/0000:00:1f.3/class 0x040100 [~] sudo lspci -vvv -s 00:1f.3 00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH-LP cAVS Subsystem: Fujitsu Client Computing Limited Comet Lake PCH-LP cAVS Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 173 IOMMU group: 13 Region 0: Memory at a2130000 (64-bit, non-prefetchable) [size=16K] Region 4: Memory at 604e000000 (64-bit, non-prefetchable) [size=1M] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+) Status: D3 NoSoftRst+ PME-Enable+ DSel=0 DScale=0 PME- Capabilities: [80] Vendor Specific Information: Len=14 <?> Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+ Address: 00000000fee008d8 Data: 0000 Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci_intel_cnl [~]
When I check with pavucontrol I only see Built-in Audio Analog Stereo as input source, and there is no reaction to sound (and it is unmuted). So I guess this is the device connected to the plug on the side of the laptop.
(please cc)
All the best
Norbert
-- PREINING Norbert https://www.preining.info Fujitsu Research + IFMGA Guide + TU Wien + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
[~] cat /sys/bus/pci/devices/0000:00:1f.3/device 0x02c8
so that's CometLake LP
[~] cat /sys/bus/pci/devices/0000:00:1f.3/class 0x040100
this one means the audio DSP is enabled, but might not be required for your platform.
[~] sudo lspci -vvv -s 00:1f.3 00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH-LP cAVS Subsystem: Fujitsu Client Computing Limited Comet Lake PCH-LP cAVS Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 173 IOMMU group: 13 Region 0: Memory at a2130000 (64-bit, non-prefetchable) [size=16K] Region 4: Memory at 604e000000 (64-bit, non-prefetchable) [size=1M] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+) Status: D3 NoSoftRst+ PME-Enable+ DSel=0 DScale=0 PME- Capabilities: [80] Vendor Specific Information: Len=14 <?> Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+ Address: 00000000fee008d8 Data: 0000 Kernel driver in use: snd_hda_intel
and this means the kernel did not detect an interface that requires the DSP.
Looking at your alsa-info log, an alternate explanation is that your distribution forces the use of the
snd_intel_dspcfg: dsp_driver=1 option, which will select the HDaudio legacy.
If you happen to have a device with microphones attached to the PCH, not the HDaudio codec, then by design you *cannot* use the legacy HDaudio driver (snd-hda-intel). you will have to use the SOF driver (snd-sof-pci-intel-cnl).
Can you check in /etc/modprobe.d/*.conf if you see a configuration that sets this module parameter?
If you see this option set, try to comment it out and reboot. You should really avoid setting the dsp_driver option since it will bypass the autodetection and might result in the wrong driver being used.
Hi Pierre-Louis,
snd_intel_dspcfg: dsp_driver=1 option, which will select the HDaudio legacy.
Bingo! I carried that over (without thinking) from my previous laptop (lenovo where it was necessary).
Removing the modprobe.d file, *and* installing the firmware files helped.
Now the device shows up and everything seems to work. Puuuh.
Thanks a big lot for your help, that is much appreciated.
Sorry for the noise, and all the best
Norbert
-- PREINING Norbert https://www.preining.info Fujitsu Research + IFMGA Guide + TU Wien + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
participants (2)
-
Norbert Preining
-
Pierre-Louis Bossart