Hi, i installed Fedora in my new yoga 7 pro, but only the bottom speaker seem to work. The audio card i see with aplay -l is ALC287. I already tried the solution suggested in English Community-Lenovo Community (yes i know these are for intel version but i tried). Has anyone any clue to make all 4 speakers work.
Welcome to
The Lenovo Thinkpad Yoga 7 Pro has had a rough history with some of it’s audio configurations.
Please post your inxi -Fzxx
here for us to see the hardware specs, also we’ll post some links to thread regarding the Yoga models. . .
https://forums.lenovo.com/t5/Ubuntu/Yoga-Slim-7-Carbon-14ACN6-Linux-Audio/m-p/5158856
Removed intel
Just to be sure, you might try confirming that those parameters were correctly parsed and applied by reading the corresponding files under /proc. I.e., do these two commands show that the parameters are in effect?
$ cat /sys/module/snd_hda_intel/parameters/model
and
$ cat /sys/module/snd_intel_dspcfg/parameters/dsp_driver
P.S. The Arch wiki suggests a slightly different options line – options snd-sof-intel-hda-common hda_model=alc287-yoga9-bass-spk-pin
(Lenovo Yoga 9i 2022 (14AiPI7) - ArchWiki). Maybe try that variation?
Hello, the two cat commands return:
alc287-yoga9-bass-spk-pin,(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
and
1
I tried your second link but nothing changed.
Hi, the command returns:
System:
Kernel: 6.9.5-200.fc40.x86_64 arch: x86_64 bits: 64 compiler: gcc
v: 2.41-37.fc40
Desktop: GNOME v: 46.2 tk: GTK v: 3.24.42 wm: gnome-shell dm: GDM
Distro: Fedora Linux 40 (Workstation Edition)
Machine:
Type: Laptop System: LENOVO product: 83E3 v: Yoga Pro 7 14AHP9
serial: <superuser required> Chassis: type: 10 v: Yoga Pro 7 14AHP9
serial: <superuser required>
Mobo: LENOVO model: LNVNB161216 v: SDK0T76463 WIN
serial: <superuser required> part-nu: LENOVO_MT_83E3_BU_idea_FM_Yoga Pro 7
14AHP9 UEFI: LENOVO v: NCCN16WW date: 02/02/2024
Battery:
ID-1: BAT0 charge: 58.5 Wh (79.5%) condition: 73.6/73.0 Wh (100.8%)
volts: 16.8 min: 15.5 model: Sunwoda L22D4PF4 serial: <filter>
status: not charging
CPU:
Info: 8-core model: AMD Ryzen 7 8845HS w/ Radeon 780M Graphics bits: 64
type: MT MCP arch: Zen 4 rev: 2 cache: L1: 512 KiB L2: 8 MiB L3: 16 MiB
Speed (MHz): avg: 1975 high: 3800 min/max: 1600/6680 boost: enabled cores:
1: 1646 2: 1818 3: 1398 4: 3800 5: 1356 6: 1600 7: 1600 8: 1600 9: 3800
10: 1600 11: 3800 12: 1600 13: 1397 14: 1397 15: 1600 16: 1600
bogomips: 121377
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
Device-1: AMD Phoenix3 vendor: Lenovo driver: amdgpu v: kernel arch: RDNA-3
pcie: speed: 16 GT/s lanes: 16 ports: active: eDP-1 empty: DP-1, DP-2,
DP-3, DP-4, DP-5, DP-6, HDMI-A-1, Writeback-1 bus-ID: 62:00.0
chip-ID: 1002:1900 temp: 38.0 C
Device-2: Luxvisions Innotech Integrated RGB Camera driver: uvcvideo
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 3-1:2 chip-ID: 30c9:00c2
Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 24.1.0
compositor: gnome-shell driver: gpu: amdgpu display-ID: 0
Monitor-1: eDP-1 model: InfoVision Optronics/Kunshan 0x05ab res: 2560x1600
dpi: 208 diag: 368mm (14.5")
API: OpenGL v: 4.6 vendor: amd mesa v: 24.1.2 glx-v: 1.4 es-v: 3.2
direct-render: yes renderer: AMD Radeon Graphics (radeonsi gfx1103_r1 LLVM
18.1.6 DRM 3.57 6.9.5-200.fc40.x86_64) device-ID: 1002:1900
display-ID: :0.0
API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
Device-1: AMD Rembrandt Radeon High Definition Audio vendor: Lenovo
driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16
bus-ID: 62:00.1 chip-ID: 1002:1640
Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Lenovo
driver: snd_pci_ps v: kernel pcie: speed: 16 GT/s lanes: 16 bus-ID: 62:00.5
chip-ID: 1022:15e2
Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo driver: snd_hda_intel
v: kernel pcie: speed: 16 GT/s lanes: 16 bus-ID: 62:00.6 chip-ID: 1022:15e3
API: ALSA v: k6.9.5-200.fc40.x86_64 status: kernel-api
Server-1: JACK v: 1.9.22 status: off
Server-2: PipeWire v: 1.0.7 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
Network:
Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
vendor: Lenovo driver: mt7921e v: kernel pcie: speed: 5 GT/s lanes: 1
bus-ID: 01:00.0 chip-ID: 14c3:0616
IF: wlp1s0 state: up mac: <filter>
Bluetooth:
Device-1: Foxconn / Hon Hai Bluetooth 5.2 Adapter [MediaTek MT7922]
driver: btusb v: 0.8 type: USB rev: 2.1 speed: 480 Mb/s lanes: 1
bus-ID: 1-5:2 chip-ID: 0489:e0d8
Report: btmgmt ID: hci0 rfk-id: 2 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: <filter> bt-v: 5.2 lmp-v: 11
Drives:
Local Storage: total: 476.94 GiB used: 23.45 GiB (4.9%)
ID-1: /dev/nvme0n1 vendor: Samsung model: MZVL2512HDJD-00BL2
size: 476.94 GiB speed: 63.2 Gb/s lanes: 4 serial: <filter> temp: 37.9 C
Partition:
ID-1: / size: 475.35 GiB used: 23.01 GiB (4.8%) fs: btrfs
dev: /dev/nvme0n1p3
ID-2: /boot size: 973.4 MiB used: 392.3 MiB (40.3%) fs: ext4
dev: /dev/nvme0n1p2
ID-3: /boot/efi size: 598.8 MiB used: 51 MiB (8.5%) fs: vfat
dev: /dev/nvme0n1p1
ID-4: /home size: 475.35 GiB used: 23.01 GiB (4.8%) fs: btrfs
dev: /dev/nvme0n1p3
Swap:
ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 42.0 C mobo: 38.0 C gpu: amdgpu temp: 38.0 C
Fan Speeds (rpm): N/A
Info:
Memory: total: 16 GiB note: est. available: 13.45 GiB used: 2.73 GiB (20.3%)
Processes: 417 Power: uptime: 2m wakeups: 0 Init: systemd v: 255
target: graphical (5) default: graphical
Packages: Compilers: N/A Shell: Bash v: 5.2.26 running-in: gnome-terminal
inxi: 3.3.34
It looks like there might be a patch in the pipeline:
https://lore.kernel.org/all/20240620152533.76712-1-pablocpascual@gmail.com/
Can you edit your post and paste it into </> preformatted text
We have other users with similar devices, wondering if it will help them ? it’s a Yoga 16ARP8
I’m just searching kernel.org (i.e., something like site:kernel.org 14AHP9
) and looking for recent patches that might be related to specific hardware. I don’t see anything “recent” matching 16ARP8
though. There are patches from Feb. of this year, but it seems likely those would be in the current stable kernel by now if they worked. I didn’t really dig into the threads. If you have a better idea of what you are looking for, you might want try searching kernel.org and skimming the posts that match there to see if you can gain any insights about the current state of the situation.
The Arch wiki states that having the right firmware installed/available is also an important part of the equation for getting some sound cards to work. Do you have the alsa-sof-firmware
package installed?
I edited that to add the preformatted text tags (available with the </>
button on the toolbar of the text entry screen) so the on-screen formatting was restored and the data is much more readable.
Please post text that you copy & paste using that method.
Ok so you think i have to wait and the issue will be fixed?
About the second question: yes, i have alsa-sof-firmware
installed.
I’m not sure. The patch only shows one line being added to patch_realtek.c
.
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index aa76d1c88589..7663e715890d 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -10527,6 +10527,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x17aa, 0x3882, "Lenovo Yoga Pro 7 14APH8", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
SND_PCI_QUIRK(0x17aa, 0x3884, "Y780 YG DUAL", ALC287_FIXUP_TAS2781_I2C),
SND_PCI_QUIRK(0x17aa, 0x3886, "Y780 VECO DUAL", ALC287_FIXUP_TAS2781_I2C),
+ SND_PCI_QUIRK(0x17aa, 0x3891, "Lenovo Yoga Pro 7 14AHP9", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
SND_PCI_QUIRK(0x17aa, 0x38a7, "Y780P AMD YG dual", ALC287_FIXUP_TAS2781_I2C),
SND_PCI_QUIRK(0x17aa, 0x38a8, "Y780P AMD VECO dual", ALC287_FIXUP_TAS2781_I2C),
SND_PCI_QUIRK(0x17aa, 0x38a9, "Thinkbook 16P", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
That added line (the one that starts with +
) appears to just do what you are trying to do manually – apply the yoga9-bass-spk-pin PCI “QUIRK” mode if hardware 0x17aa
0x3891
(Lenovo Yoga Pro 7 14AHP9) is detected. The implications would be a) it is very likely that the yoga9-bass-spk-pin mode does need to be set for your hardware and b) you would no longer need to apply that setting manually once that upstream patch reaches the stable kernels that end users run.
The patch doesn’t appear to be doing anything with regard to the “dsp_driver” setting though. Have you tried setting yoga9-bass-spk-pin but leaving dsp_driver at its default value?
If that still doesn’t work, dsp_driver=3
(SOF) looks like an interesting option: SOF Linux Driver Architecture — SOF Project 2.9.0 documentation. I have no idea if it would work though.
Update
Ok guys, today i tried again modifying the settings of the snd.conf with the settings of Lenovo’s post and forum’s ones and after selecting the sound card with F6 in alsamixer
, two new settings showed up: one about bass speakers, and one about front speakers. I can control the levels and in fact they turn on and off the upper pair of speakers and the bottom one. Incredible. Then i tried removing the sda.conf to see if the alsamixer options effectively disappear. To my surprise, they were still there! Can it be something related to Fedora updates i did this afternoon?
Wow, you have some interesting findings. Could ity be possible to provide more details on the process, The Yoga’s are very problematic with that Audio configuration.
- modifying the settings of the snd.conf with the settings of Lenovo’s post and forum’s ones
- after selecting the sound card with F6 in
alsamixer
, two new settings showed up - one about bass speakers, and one about front speakers
- Then i tried removing the sda.conf to see if the alsamixer options effectively disappear. To my surprise, they were still there!
It’ll help many Bothans