Bug 217449 - Bass speakers not working on Lenovo Yoga Pro 9 14IRP8
Summary: Bass speakers not working on Lenovo Yoga Pro 9 14IRP8
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: All Linux
: P3 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-05-16 19:38 UTC by Thomas Gfeller
Modified: 2024-09-27 07:09 UTC (History)
6 users (show)

See Also:
Kernel Version:
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Bass speakers are working (2.00 KB, application/x-shellscript)
2023-08-03 05:36 UTC, Thomas Gfeller
Details
4pa-bypass.sh (1.46 KB, application/x-shellscript)
2023-08-14 07:12 UTC, Thomas Gfeller
Details

Description Thomas Gfeller 2023-05-16 19:38:26 UTC
Hi there.

I face an issue which was reported multiple times already and is pretty sure hardware-specific: In my new 2023 Lenovo Yoga Pro 9, the bass (bottom-firing) speakers are not working.

I already tried the suggested solutions:

https://discussion.fedoraproject.org/t/problem-with-sound-on-new-lenovo-laptops/72456

https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1926165

https://github.com/PJungkamp/yoga9-linux

But this did not help so far. I then tried to fix it myself with the following guide: https://asus-linux.org/blog/sound-2021-01-11/

But I was not able to activate the bass speakers. But what I can offer is a full dump of my codec from Windows (including pin configurations and verbs) as well as a dump from my current Linux setup. The files are attached.

Maybe you can support me in writing a kernel patch file to get it working and also implement that into mainline?

I'm sure a lot of Linux prosumers would appreciate that. I'm also available for tests of course!
Comment 1 Thomas Gfeller 2023-05-16 19:41:40 UTC
Oh, the codec dump files were too big; I uploaded them here:

https://www.swisstransfer.com/d/51e8e552-828d-4aea-bdbd-3bbe62ea8446

...along with an alsa-info.sh-dump here:

http://alsa-project.org/db/?f=45447739750ff897cdc20fd0e98d4f2055beebdf
Comment 2 Bagas Sanjaya 2023-05-18 01:26:13 UTC
(In reply to Thomas Gfeller from comment #0)
> Hi there.
> 
> I face an issue which was reported multiple times already and is pretty sure
> hardware-specific: In my new 2023 Lenovo Yoga Pro 9, the bass
> (bottom-firing) speakers are not working.
> 
> I already tried the suggested solutions:
> 
> https://discussion.fedoraproject.org/t/problem-with-sound-on-new-lenovo-
> laptops/72456
> 
> https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1926165
> 
> https://github.com/PJungkamp/yoga9-linux
> 
> But this did not help so far. I then tried to fix it myself with the
> following guide: https://asus-linux.org/blog/sound-2021-01-11/
> 
> But I was not able to activate the bass speakers. But what I can offer is a
> full dump of my codec from Windows (including pin configurations and verbs)
> as well as a dump from my current Linux setup. The files are attached.
> 
> Maybe you can support me in writing a kernel patch file to get it working
> and also implement that into mainline?
> 
> I'm sure a lot of Linux prosumers would appreciate that. I'm also available
> for tests of course!

What kernel version did you experience this issue?
Comment 3 Thomas Gfeller 2023-05-18 14:54:57 UTC
(In reply to Bagas Sanjaya from comment #2)
> (In reply to Thomas Gfeller from comment #0)
> > Hi there.
> > 
> > I face an issue which was reported multiple times already and is pretty
> sure
> > hardware-specific: In my new 2023 Lenovo Yoga Pro 9, the bass
> > (bottom-firing) speakers are not working.
> > 
> > I already tried the suggested solutions:
> > 
> > https://discussion.fedoraproject.org/t/problem-with-sound-on-new-lenovo-
> > laptops/72456
> > 
> > https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1926165
> > 
> > https://github.com/PJungkamp/yoga9-linux
> > 
> > But this did not help so far. I then tried to fix it myself with the
> > following guide: https://asus-linux.org/blog/sound-2021-01-11/
> > 
> > But I was not able to activate the bass speakers. But what I can offer is a
> > full dump of my codec from Windows (including pin configurations and verbs)
> > as well as a dump from my current Linux setup. The files are attached.
> > 
> > Maybe you can support me in writing a kernel patch file to get it working
> > and also implement that into mainline?
> > 
> > I'm sure a lot of Linux prosumers would appreciate that. I'm also available
> > for tests of course!
> 
> What kernel version did you experience this issue?

I'm currently running 6.2.15-300.fc38.x86_64 on Fedora 38.

Furthermore, under specifications (https://psref.lenovo.com/Product/Yoga/Yoga_Pro_9_14IRP8) I found, that this notebook uses a Realtek ALC3306 codec with a 4-speaker array (2x tweeters, 2x subwoofers). In my case, only the tweeters work.

This trick right here does not work for me: https://wiki.archlinux.org/title/Lenovo_Yoga_9i_2022_(14AiPI7)#Audio
Comment 4 Carlo Francesco 2023-06-28 07:12:07 UTC
(In reply to Thomas Gfeller from comment #3)
> (In reply to Bagas Sanjaya from comment #2)
> > (In reply to Thomas Gfeller from comment #0)
> > > Hi there.
> > > 
> > > I face an issue which was reported multiple times already and is pretty
> > sure
> > > hardware-specific: In my new 2023 Lenovo Yoga Pro 9, the bass
> > > (bottom-firing) speakers are not working.
> > > 
> > > I already tried the suggested solutions:
> > > 
> > > https://discussion.fedoraproject.org/t/problem-with-sound-on-new-lenovo-
> > > laptops/72456
> > > 
> > > https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1926165
> > > 
> > > https://github.com/PJungkamp/yoga9-linux
> > > 
> > > But this did not help so far. I then tried to fix it myself with the
> > > following guide: https://asus-linux.org/blog/sound-2021-01-11/
> > > 
> > > But I was not able to activate the bass speakers. But what I can offer is
> a
> > > full dump of my codec from Windows (including pin configurations and
> verbs)
> > > as well as a dump from my current Linux setup. The files are attached.
> > > 
> > > Maybe you can support me in writing a kernel patch file to get it working
> > > and also implement that into mainline?
> > > 
> > > I'm sure a lot of Linux prosumers would appreciate that. I'm also
> available
> > > for tests of course!
> > 
> > What kernel version did you experience this issue?
> 
> I'm currently running 6.2.15-300.fc38.x86_64 on Fedora 38.
> 
> Furthermore, under specifications
> (https://psref.lenovo.com/Product/Yoga/Yoga_Pro_9_14IRP8) I found, that this
> notebook uses a Realtek ALC3306 codec with a 4-speaker array (2x tweeters,
> 2x subwoofers). In my case, only the tweeters work.
> 
> This trick right here does not work for me:
> https://wiki.archlinux.org/title/Lenovo_Yoga_9i_2022_(14AiPI7)#Audio


Hello Thomas.
I had a look at your alsa file, and I noticed you have a Texas instrument smart amp (tias2781). 
Try the solution explained here and let me know the outcomes. Hopefully the driver can be merged into the kernel tree soon.
I personally have a weird initialisation sound, but then the drivers work well.

https://forums.lenovo.com/t5/Ubuntu/Ubuntu-and-legion-pro-7-16IRX8H-audio-issues/m-p/5210709?page=7#6004369
Comment 5 Thomas Gfeller 2023-08-03 05:36:37 UTC
Created attachment 304763 [details]
Bass speakers are working

I got my amps working. If your device has a TIAS2781 component inside (http://alsa-project.org/db/?f=45447739750ff897cdc20fd0e98d4f2055beebdf <- note line 71), you can try the following:

Install i2ctools first and then run ./2pa-byps.sh with the i2c-bus number where your TIAS2781 is connected. E.g:

sudo ./2pa-byps.sh 0

In my case this enabled my subwoofers and the sound was working properly.

This change will be included in the kernel in the next couple of weeks / months so no workaround will be necessary anymore.
Comment 6 Sam 2023-08-06 18:08:33 UTC
(In reply to Thomas Gfeller from comment #5)
> Created attachment 304763 [details]
> Bass speakers are working
> 
> I got my amps working. If your device has a TIAS2781 component inside
> (http://alsa-project.org/db/?f=45447739750ff897cdc20fd0e98d4f2055beebdf <-
> note line 71), you can try the following:
> 
> Install i2ctools first and then run ./2pa-byps.sh with the i2c-bus number
> where your TIAS2781 is connected. E.g:
> 
> sudo ./2pa-byps.sh 0
> 
> In my case this enabled my subwoofers and the sound was working properly.
> 
> This change will be included in the kernel in the next couple of weeks /
> months so no workaround will be necessary anymore.

Thanks for providing this script, Thomas. It enabled the right subwoofer only on my 16IRP8; the left is still disabled. Was this the case for you as well? What needs to be tweaked to get the left subwoofer as well?

Also, you mention this change will be included in the kernel; could you provide a link or reference for that?

Thanks!
Comment 7 Thomas Gfeller 2023-08-14 07:12:32 UTC
Created attachment 304847 [details]
4pa-bypass.sh

(In reply to Sam from comment #6)
> (In reply to Thomas Gfeller from comment #5)
> > Created attachment 304763 [details]
> > Bass speakers are working
> > 
> > I got my amps working. If your device has a TIAS2781 component inside
> > (http://alsa-project.org/db/?f=45447739750ff897cdc20fd0e98d4f2055beebdf <-
> > note line 71), you can try the following:
> > 
> > Install i2ctools first and then run ./2pa-byps.sh with the i2c-bus number
> > where your TIAS2781 is connected. E.g:
> > 
> > sudo ./2pa-byps.sh 0
> > 
> > In my case this enabled my subwoofers and the sound was working properly.
> > 
> > This change will be included in the kernel in the next couple of weeks /
> > months so no workaround will be necessary anymore.
> 
> Thanks for providing this script, Thomas. It enabled the right subwoofer
> only on my 16IRP8; the left is still disabled. Was this the case for you as
> well? What needs to be tweaked to get the left subwoofer as well?
> 
> Also, you mention this change will be included in the kernel; could you
> provide a link or reference for that?
> 
> Thanks!

You can try this script instead - it should enable the amps on devices with multiple amps.
Comment 8 Sam 2023-08-14 21:31:19 UTC
(In reply to Thomas Gfeller from comment #7)
> Created attachment 304847 [details]
> 4pa-bypass.sh
> 
> You can try this script instead - it should enable the amps on devices with
> multiple amps.

Thanks! This indeed worked, I just had to change the i2c bus number to 2. Looking forward to seeing this upstreamed.
Comment 9 mraic043@gmail.com 2024-03-26 16:54:52 UTC
(In reply to Thomas Gfeller from comment #7)
> Created attachment 304847 [details]
> 4pa-bypass.sh
> 
> (In reply to Sam from comment #6)
> > (In reply to Thomas Gfeller from comment #5)
> > > Created attachment 304763 [details]
> > > Bass speakers are working
> > > 
> > > I got my amps working. If your device has a TIAS2781 component inside
> > > (http://alsa-project.org/db/?f=45447739750ff897cdc20fd0e98d4f2055beebdf
> <-
> > > note line 71), you can try the following:
> > > 
> > > Install i2ctools first and then run ./2pa-byps.sh with the i2c-bus number
> > > where your TIAS2781 is connected. E.g:
> > > 
> > > sudo ./2pa-byps.sh 0
> > > 
> > > In my case this enabled my subwoofers and the sound was working properly.
> > > 
> > > This change will be included in the kernel in the next couple of weeks /
> > > months so no workaround will be necessary anymore.
> > 
> > Thanks for providing this script, Thomas. It enabled the right subwoofer
> > only on my 16IRP8; the left is still disabled. Was this the case for you as
> > well? What needs to be tweaked to get the left subwoofer as well?
> > 
> > Also, you mention this change will be included in the kernel; could you
> > provide a link or reference for that?
> > 
> > Thanks!
> 
> You can try this script instead - it should enable the amps on devices with
> multiple amps.

Hi.
Sorry if I'm a little too late to the conversation.
But I have a similar problem as the OP and I've run across this thread in search of a solution.
I'm running a Yoga Pro 9 16IRP8 and having similar issues with
my subwoofer not working under Linux Mint.
I tried to follow your suggestion about installing a fix.
But whenever i try to run the script the terminal signals
Error : Write failed.
What am I doing wrong ?
I just recently installed Linux and I am a total newbie.
Comment 10 Thomas Gfeller 2024-03-27 07:48:43 UTC
(In reply to mraic043@gmail.com from comment #9)
> (In reply to Thomas Gfeller from comment #7)
> > Created attachment 304847 [details]
> > 4pa-bypass.sh
> > 
> > (In reply to Sam from comment #6)
> > > (In reply to Thomas Gfeller from comment #5)
> > > > Created attachment 304763 [details]
> > > > Bass speakers are working
> > > > 
> > > > I got my amps working. If your device has a TIAS2781 component inside
> > > > (http://alsa-project.org/db/?f=45447739750ff897cdc20fd0e98d4f2055beebdf
> > <-
> > > > note line 71), you can try the following:
> > > > 
> > > > Install i2ctools first and then run ./2pa-byps.sh with the i2c-bus
> number
> > > > where your TIAS2781 is connected. E.g:
> > > > 
> > > > sudo ./2pa-byps.sh 0
> > > > 
> > > > In my case this enabled my subwoofers and the sound was working
> properly.
> > > > 
> > > > This change will be included in the kernel in the next couple of weeks
> /
> > > > months so no workaround will be necessary anymore.
> > > 
> > > Thanks for providing this script, Thomas. It enabled the right subwoofer
> > > only on my 16IRP8; the left is still disabled. Was this the case for you
> as
> > > well? What needs to be tweaked to get the left subwoofer as well?
> > > 
> > > Also, you mention this change will be included in the kernel; could you
> > > provide a link or reference for that?
> > > 
> > > Thanks!
> > 
> > You can try this script instead - it should enable the amps on devices with
> > multiple amps.
> 
> Hi.
> Sorry if I'm a little too late to the conversation.
> But I have a similar problem as the OP and I've run across this thread in
> search of a solution.
> I'm running a Yoga Pro 9 16IRP8 and having similar issues with
> my subwoofer not working under Linux Mint.
> I tried to follow your suggestion about installing a fix.
> But whenever i try to run the script the terminal signals
> Error : Write failed.
> What am I doing wrong ?
> I just recently installed Linux and I am a total newbie.

You're probably running an outdated kernel. Linux Mint is very reluctant to upgrade to recent kernel versions - even the Edge version uses an older one.

https://linuxmint-user-guide.readthedocs.io/en/latest/edge.html#latest-edge-iso-image

-> Standard Linux Mint uses kernel 5.15
-> Edge Linux Mint uses kernel 6.5

My kernel version (with the fix active) on the stable version of Fedora (39) is 6.7.9.

As you are a beginner, it's probably not wise to recommend trying to install a newer kernel on Mint.

When you start with Linux on a desktop, try to stick to the distribution's defaults. It makes your life much easier.

You could try installing https://fedoraproject.org/spins/cinnamon/ in the current version. This will ship with the fix in place (and many more updated drivers) while offering the same desktop environment as Mint.
Comment 11 mraic043@gmail.com 2024-03-29 06:29:46 UTC
(In reply to Thomas Gfeller from comment #10)
> (In reply to mraic043@gmail.com from comment #9)
> > (In reply to Thomas Gfeller from comment #7)
> > > Created attachment 304847 [details]
> > > 4pa-bypass.sh
> > > 
> > > (In reply to Sam from comment #6)
> > > > (In reply to Thomas Gfeller from comment #5)
> > > > > Created attachment 304763 [details]
> > > > > Bass speakers are working
> > > > > 
> > > > > I got my amps working. If your device has a TIAS2781 component inside
> > > > >
> (http://alsa-project.org/db/?f=45447739750ff897cdc20fd0e98d4f2055beebdf
> > > <-
> > > > > note line 71), you can try the following:
> > > > > 
> > > > > Install i2ctools first and then run ./2pa-byps.sh with the i2c-bus
> > number
> > > > > where your TIAS2781 is connected. E.g:
> > > > > 
> > > > > sudo ./2pa-byps.sh 0
> > > > > 
> > > > > In my case this enabled my subwoofers and the sound was working
> > properly.
> > > > > 
> > > > > This change will be included in the kernel in the next couple of
> weeks
> > /
> > > > > months so no workaround will be necessary anymore.
> > > > 
> > > > Thanks for providing this script, Thomas. It enabled the right
> subwoofer
> > > > only on my 16IRP8; the left is still disabled. Was this the case for
> you
> > as
> > > > well? What needs to be tweaked to get the left subwoofer as well?
> > > > 
> > > > Also, you mention this change will be included in the kernel; could you
> > > > provide a link or reference for that?
> > > > 
> > > > Thanks!
> > > 
> > > You can try this script instead - it should enable the amps on devices
> with
> > > multiple amps.
> > 
> > Hi.
> > Sorry if I'm a little too late to the conversation.
> > But I have a similar problem as the OP and I've run across this thread in
> > search of a solution.
> > I'm running a Yoga Pro 9 16IRP8 and having similar issues with
> > my subwoofer not working under Linux Mint.
> > I tried to follow your suggestion about installing a fix.
> > But whenever i try to run the script the terminal signals
> > Error : Write failed.
> > What am I doing wrong ?
> > I just recently installed Linux and I am a total newbie.
> 
> You're probably running an outdated kernel. Linux Mint is very reluctant to
> upgrade to recent kernel versions - even the Edge version uses an older one.
> 
> https://linuxmint-user-guide.readthedocs.io/en/latest/edge.html#latest-edge-
> iso-image
> 
> -> Standard Linux Mint uses kernel 5.15
> -> Edge Linux Mint uses kernel 6.5
> 
> My kernel version (with the fix active) on the stable version of Fedora (39)
> is 6.7.9.
> 
> As you are a beginner, it's probably not wise to recommend trying to install
> a newer kernel on Mint.
> 
> When you start with Linux on a desktop, try to stick to the distribution's
> defaults. It makes your life much easier.
> 
> You could try installing https://fedoraproject.org/spins/cinnamon/ in the
> current version. This will ship with the fix in place (and many more updated
> drivers) while offering the same desktop environment as Mint.

Thank you kind sir for your reply.
I did as you suggested. Uninstalled Mint and installed Fedora.
I still had the same problem with my subwoofer not being recognized.
I also made sure if I have a newer kernel. It says 6.7.10.

I then tried to apply the solution from one other post that I found
that said to try the next workaround :
It involves creating an alsa.conf file in etc/modprobe.d folder
with the line   options-snd-hda-intel index = 1

After I rebooted the bass sound was working.
What is funny is I did the same workaround when I had Mint installed.
It worked the first time,but after next reboot I again lost my subwoofer.
I then tried another solution that was proposed and that involved installing 
newer kernel. That also worked for a while, but also unexplainably stopped
my subwoofer from being recognized.
Anyway sorry for a longer post but I just wanted to share my frustrations.
Maybe someone finds this useful.
The important thing is that sound is now working normally.
Thank you again !
Comment 12 aahmyu 2024-08-30 16:02:06 UTC
Will there be any fix for this issue? I have just tried the latest kernel 6.11 rc3 and the issue is still there, the speakers work fine for a few minutes after boot. Then they get quite, I feel the issue has to do with some energy saving settings since the speakers work perfectly for some time and as soon as I stop playing anything and go to sound options they will stop working.
Comment 13 Maroun 2024-09-27 07:09:01 UTC
Hi everyone,

Thanks for the suggested solutions. I'm new here.

Running `sudo bash ./2pa-byps.sh 0` solves the issue, however, after couple of mins, bass is again lost. What could be the reason for that?

Note You need to log in before you can comment on or make changes to this bug.