Also using a Lenovo X1 7th generation. I can confirm that everything
works using 5.3.0-20. I suspect that I've compared to Joel above me,
taken a few extra steps:
* Added snd_hda_intel and snd_soc_skl to /etc/modprobe/blacklist.conf
* Added the alsa-ucm files from [1] to /usr/share/alsa/ucm/sof-
skl_hda_card
* Added this sof topology file [2] from a Lenovo employee to
/usr/lib/firmware/intel/sof-tplg
I have the following devices displayed using `arecord -l`
card 0: sofsklhdacard [sof-skl_hda_card], device 0: HDA Analog (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofsklhdacard [sof-skl_hda_card], device 1: HDA Digital (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofsklhdacard [sof-skl_hda_card], device 6: DMIC32 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofsklhdacard [sof-skl_hda_card], device 7: DMIC16 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
In pulseaudio I have the following sources
index: 4
name:
<alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_0_5__sink.monitor>
driver: <module-alsa-card.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1030
volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100%
/ 0,00 dB
balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 0,00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0,00 ms; range is 0,50 .. 341,00 ms
monitor_of: 2
card: 2 <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic>
module: 9
properties:
device.description = "Monitor of Cannon Point-LP High
Definition Audio Controller HDMI3/DP3 Output"
device.class = "monitor"
alsa.card = "0"
alsa.card_name = "sof-skl_hda_card"
alsa.long_card_name =
"LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600"
alsa.driver_name = "snd_soc_skl_hda_dsp"
device.bus_path =
"pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path =
"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "9dc8"
device.product.name = "Cannon Point-LP High Definition Audio
Controller"
device.string = "0"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
index: 5
name:
<alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_0_4__sink.monitor>
driver: <module-alsa-card.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1030
volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100%
/ 0,00 dB
balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 0,00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0,00 ms; range is 0,50 .. 341,00 ms
monitor_of: 3
card: 2 <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic>
module: 9
properties:
device.description = "Monitor of Cannon Point-LP High
Definition Audio Controller HDMI2/DP2 Output"
device.class = "monitor"
alsa.card = "0"
alsa.card_name = "sof-skl_hda_card"
alsa.long_card_name =
"LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600"
alsa.driver_name = "snd_soc_skl_hda_dsp"
device.bus_path =
"pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path =
"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "9dc8"
device.product.name = "Cannon Point-LP High Definition Audio
Controller"
device.string = "0"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
index: 6
name:
<alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_0_3__sink.monitor>
driver: <module-alsa-card.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1030
volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100%
/ 0,00 dB
balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 0,00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0,00 ms; range is 0,50 .. 341,00 ms
monitor_of: 4
card: 2 <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic>
module: 9
properties:
device.description = "Monitor of Cannon Point-LP High
Definition Audio Controller HDMI1/DP1 Output"
device.class = "monitor"
alsa.card = "0"
alsa.card_name = "sof-skl_hda_card"
alsa.long_card_name =
"LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600"
alsa.driver_name = "snd_soc_skl_hda_dsp"
device.bus_path =
"pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path =
"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "9dc8"
device.product.name = "Cannon Point-LP High Definition Audio
Controller"
device.string = "0"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
index: 7
name:
<alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofsklhdacard_0__sink.monitor>
driver: <module-alsa-card.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1030
volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100%
/ 0,00 dB
balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 0,00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0,00 ms; range is 0,50 .. 341,00 ms
monitor_of: 5
card: 2 <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic>
module: 9
properties:
device.description = "Monitor of Cannon Point-LP High
Definition Audio Controller Speaker + Headphone"
device.class = "monitor"
alsa.card = "0"
alsa.card_name = "sof-skl_hda_card"
alsa.long_card_name =
"LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600"
alsa.driver_name = "snd_soc_skl_hda_dsp"
device.bus_path =
"pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path =
"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "9dc8"
device.product.name = "Cannon Point-LP High Definition Audio
Controller"
device.string = "0"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
* index: 8
name:
<alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_0_6__source>
driver: <module-alsa-card.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 9030
volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100%
/ 0,00 dB
balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 0,00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0,00 ms; range is 0,50 .. 341,00 ms
card: 2 <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic>
module: 9
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = ""
alsa.id = "DMIC32 (*)"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "6"
alsa.card = "0"
alsa.card_name = "sof-skl_hda_card"
alsa.long_card_name =
"LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600"
alsa.driver_name = "snd_soc_skl_hda_dsp"
device.bus_path =
"pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path =
"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "9dc8"
device.product.name = "Cannon Point-LP High Definition Audio
Controller"
device.string = "hw:0,6"
device.buffering.buffer_size = "65472"
device.buffering.fragment_size = "16320"
device.access_mode = "mmap+timer"
device.profile.name = "HiFi: hw:0,6: source"
device.profile.description = "DMIC Stereo"
device.description = "Cannon Point-LP High Definition Audio
Controller DMIC Stereo"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
[In] Dmic: DMIC Stereo (priority 100, latency offset 0 usec,
available: unknown)
properties:
active port: <[In] Dmic>
index: 9
name:
<alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_0_0__source>
driver: <module-alsa-card.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 9030
volume: front-left: 61681 / 94% / -1,58 dB, front-right: 61681 /
94% / -1,58 dB
balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 0,00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0,00 ms; range is 0,50 .. 341,00 ms
card: 2 <alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic>
module: 9
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = ""
alsa.id = "HDA Analog (*)"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "sof-skl_hda_card"
alsa.long_card_name =
"LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600"
alsa.driver_name = "snd_soc_skl_hda_dsp"
device.bus_path =
"pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path =
"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "9dc8"
device.product.name = "Cannon Point-LP High Definition Audio
Controller"
device.string = "hw:0,0"
device.buffering.buffer_size = "65472"
device.buffering.fragment_size = "16320"
device.access_mode = "mmap+timer"
device.profile.name = "HiFi: hw:0,0: source"
device.profile.description = "Headset Mic"
device.description = "Cannon Point-LP High Definition Audio
Controller Headset Mic"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
[In] Headset: Headset Mic (priority 300, latency offset 0 usec,
available: no)
properties:
active port: <[In] Headset>
index: 10
name: <alsa_input.hw_0_7>
driver: <module-alsa-source.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 9030
volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100%
/ 0,00 dB
balance 0,00
base volume: 65536 / 100% / 0,00 dB
volume steps: 65537
muted: no
current latency: 0,00 ms
max rewind: 0 KiB
sample spec: s16le 2ch 16000Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0,00 ms; range is 0,50 .. 1023,00 ms
module: 26
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = ""
alsa.id = "DMIC16 (*)"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "7"
alsa.card = "0"
alsa.card_name = "sof-skl_hda_card"
alsa.long_card_name =
"LENOVO-20QDS0A600-ThinkPadX1Carbon7th-20QDS0A600"
alsa.driver_name = "snd_soc_skl_hda_dsp"
device.bus_path =
"pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path =
"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "9dc8"
device.product.name = "Cannon Point-LP High Definition Audio
Controller"
device.string = "hw:0,7"
device.buffering.buffer_size = "65472"
device.buffering.fragment_size = "16320"
device.access_mode = "mmap+timer"
device.description = "Cannon Point-LP High Definition Audio
Controller"
device.icon_name = "audio-input-microphone-pci"
I need to select in Pulseaudio the `DMIC stereo` input to get working
microphone. I did have to boost most of the channels in alsamixer record
to get acceptable recording level. If I select the "Cannon Point-LP High
Definition Audio Controller" I get nothing.
I can also list all pulseaudio sinks and alsa playback devices if you
like. Notably all HDMI/DP channels show up.
So once again, both playback and the DMIC work with the 5.3.0-20. But
only if you manual update the ALSA-ucm files, blacklist the modules. It
could be that the Lenovo provided topology file is not required.
[1]
https://github.com/alsa-project/alsa-ucm-conf/tree/master/ucm/sof-skl_hda_card
[2]
https://forums.lenovo.com/t5/Ubuntu/Guide-X1-Carbon-7th-Generation-Ubuntu-compatability/m-p/4507050/highlight/true#M2873
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1848490
Title:
eoan: alsa/sof: Enable SOF_HDA link and codec
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1848490/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs