[alsa-devel] Subwoofers aren't working on ALC298 (Lenovo Yoga C930 Laptop)
David Ulricht
david.ulricht434 at gmail.com
Thu Nov 29 06:00:58 CET 2018
Ooops I have misleaded you with PinConfigOverride that's for all the Macs,
dont look for it anymore.
Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
Control: name="Bass Speaker Playback Switch", index=0, device=0
ControlAmp: chs=3, dir=Out, idx=0, ofs=0
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x00 0x00]
Pincap 0x0001001c: OUT HP EAPD Detect
EAPD 0x2: EAPD
Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
Conn = 1/8, Color = Black
DefAssociation = 0xf, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D3, actual=D3
Connection: 3
0x0c 0x0d 0x06*
Looking at your alsa-info, this is your Bass Speaker Playback Switch.
It is in current Power setting=D3 and actual=D3.
It should become D0 to be turned on.
Not sure if you can do this via alsamixer -c0 ?(or whatever number is your
card).
there is also a way with hda-verb (make sure you have hda-verb installed
(from <ftp://ftp.alsa-project.org/pub/tools/alsa-tools-1.1.7.tar.bz2>
alsa-tools <ftp://ftp.alsa-project.org/pub/tools/alsa-tools-1.1.7.tar.bz2>
?))
According to https://www.kernel.org/doc/html/v4.16/sound/hd-audio/notes.html
power_save_node (bool) advanced power management for each widget,
controlling the power sate (D0/D3) of each widget node depending on the
actual pin and stream states
could be a permanent more elegant solution in a hda-jack-retask.fw patch,
but no idea how it should look for that widget exactly, Takashi can suggest.
You can try for now enabling that Power: setting=D0, actual=D0
if that will help you probably:
Documentation is at:
https://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/high-definition-audio-specification.pdf
Page 153 is of your interest.
0x705 is the SET verb, 0x00 should be fully on D0 state
# sudo hda-verb /dev/snd/hwC0D0 0x17 0x705 0x00
you can get the value from the codec back:
# sudo hda-verb /dev/snd/hwC0D0 0x17 0xf05 0x00
Hope that helps, if that solves the solution as a dirty thing you can put
that hda-verb command in your /etc/rc.local (depending on the distro
rc.local maybe deadend).
On Thu, Nov 29, 2018 at 5:58 AM Jonathan Reeve <jon.reeve at gmail.com> wrote:
>
> Hi David,
>
> Thanks very much for helping me look into this.
>
> > Have you tried any other distribution, something more normal
> > like latest
> > Fedora or Ubuntu ? Does the subwoofers work there ?
>
> I just tried an Ubuntu live USB disk. I can't get subwoofers to
> work
> there, either.
>
> > If you run Ubuntu/Fedora you can check the sound settings and
> > pavucontrol
> > there is selection of speakers usually 2.1 5.1... try those ?
>
> I don't see any option for that in pavucontrol on Ubuntu.
>
> > And you have to make sure those [pincfgs] match with your
> > Windows10
> > registry of the driver's PinConfigOverride.
>
> Awesome. How can I find these settings? I checked in regedit and
> searched
> for `pinconfigoverride` and `pincfg`, but nothing's coming up. I
> also
> grepped all the driver files for those expressions, but nothing's
> coming
> up there, either. Do you know if these settings are called
> something
> else?
>
> > You happen to have Windows running on that machine and can
> > extract the
> > pinconfigoverride or have .ini of the driver? I can help you
> > compare
> > those.
>
> Yep, I have the Windows 10 driver files, but there is no .ini
> file, as far as
> I can tell. There are lots of text files that look like they could
> be
> configuration files of some sort. Which one(s) should I be looking
> for?
>
> Best,
>
> Jonathan
>
More information about the Alsa-devel
mailing list