Subwoofer in Lenovo Ideapad Y700-15isk doesn't work

Hello.
Subwoofer on my laptop doesn't work. I have already attempted configuring pulseaudio configuration file, using HDAJackRetask and other ways, but I haven't succeeded. I assume that the audio chip (or something like that) have problem like this with Kernel and/or Manjaro (which I kinda doubt, considering that I have updated Kernel and it didn't help).
I ran a hardware probe and here's my chipset:


Laptop: Lenovo Ideapad Y700-15isk
Codec (as seen by HDAJackRetask): Realtek ALC233
System: Manjaro KDE
Kernel: 5.7.0-3
I am not good in Linux, so if you need additional info - feel free to write what and how should I get.

welcome to Manjaro @Da_Real_IvanPan

audio remixing for subwoofer is not enabled by default in Pulseaudio

please post information about current pulseaudio configuration

pulseaudio --dump conf

and

pacmd dump

and use the </> button when posting to format text for each terminal response

Result for pulseaudio --dump-conf


### Read from configuration file: /etc/pulse/daemon.conf ###
daemonize = no
fail = yes
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
allow-module-loading = yes
allow-exit = yes
use-pid-file = yes
system-instance = no
local-server-type = user
cpu-limit = no
enable-shm = yes
flat-volumes = no
lock-memory = no
exit-idle-time = 20
scache-idle-time = 20
dl-search-path = /usr/lib/pulse-13.0/modules
default-script-file = /etc/pulse/default.pa
load-default-script-file = yes
log-target = 
log-level = notice
resample-method = soxr-vhq
avoid-resampling = no
enable-remixing = yes
remixing-use-all-sink-channels = yes
enable-lfe-remixing = yes
lfe-crossover-freq = 50
default-sample-format = s32le
default-sample-rate = 96000
alternate-sample-rate = 96000
default-sample-channels = 3
default-channel-map = front-left,front-right,front-center
default-fragments = 2
default-fragment-size-msec = 25
enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 8000
deferred-volume-extra-delay-usec = 0
shm-size-bytes = 0
log-meta = no
log-time = no
log-backtrace = 0
rlimit-fsize = -1
rlimit-data = -1
rlimit-stack = -1
rlimit-core = -1
rlimit-rss = -1
rlimit-as = -1
rlimit-nproc = -1
rlimit-nofile = 256
rlimit-memlock = -1
rlimit-locks = -1
rlimit-sigpending = -1
rlimit-msgqueue = -1
rlimit-nice = 31
rlimit-rtprio = 9
rlimit-rttime = 200000

Result for pacmd dump


### Configuration dump generated at Wed Jul  8 22:09:43 2020

load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
load-module module-augment-properties
load-module module-switch-on-port-available
load-module module-udev-detect
load-module module-alsa-card device_id="0" name="pci-0000_00_1f.3" card_name="alsa_card.pci-0000_00_1f.3" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
load-module module-jackdbus-detect channels=2
load-module module-bluetooth-policy
load-module module-bluetooth-discover
load-module module-bluez5-discover
load-module module-dbus-protocol
load-module module-native-protocol-unix
load-module module-gsettings
load-module module-default-device-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-intended-roles
load-module module-suspend-on-idle
load-module module-console-kit
load-module module-systemd-login
load-module module-position-event-sounds
load-module module-role-cork
load-module module-filter-heuristics
load-module module-filter-apply
load-module module-combine channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe
load-module module-combine-sink channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe
load-module module-x11-publish display=:0
load-module module-x11-xsmp display=:0 session_manager=local/Kyria:@/tmp/.ICE-unix/1195,unix/Kyria:/tmp/.ICE-unix/1195
load-module module-cli-protocol-unix

set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo 0xa665
set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo no
suspend-sink alsa_output.pci-0000_00_1f.3.analog-stereo no
set-sink-volume combined 0x10000
set-sink-mute combined no
suspend-sink combined no

set-source-volume alsa_output.pci-0000_00_1f.3.analog-stereo.monitor 0x10000
set-source-mute alsa_output.pci-0000_00_1f.3.analog-stereo.monitor no
suspend-source alsa_output.pci-0000_00_1f.3.analog-stereo.monitor no
set-source-volume alsa_input.pci-0000_00_1f.3.analog-stereo 0x2b85
set-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo no
suspend-source alsa_input.pci-0000_00_1f.3.analog-stereo no
set-source-volume combined.monitor 0x10000
set-source-mute combined.monitor no
suspend-source combined.monitor no

set-card-profile alsa_card.pci-0000_00_1f.3 output:analog-stereo+input:analog-stereo

set-default-sink alsa_output.pci-0000_00_1f.3.analog-stereo
set-default-source alsa_input.pci-0000_00_1f.3.analog-stereo

### EOF

these configuration settings are needed for 2.1 surround sound

enable-lfe-remixing = yes
lfe-crossover-freq = 50

but crossover frequency seems low considering this is for a laptop subwoofer

this ALC233 codec may not be able to function with these settings:

default-sample-format = s32le
default-sample-rate = 96000
alternate-sample-rate = 96000

analog audio to speakers may only function at 48000Hz according to this bugzilla report:

https://bugzilla.kernel.org/show_bug.cgi?id=202097#c4
Judging from the alsa-info.sh output, this codec chip actually supports 192kHz, but only for the specific I/Os.
Namely, for the analog output pins, it supports only up to 48k, while it can work up to 192k for the digital output.

channels and channel map should not be changed. stereo audio is still required for headphones
neither stereo or 2.1 surround will work with current channel map:

default-sample-channels = 3
default-channel-map = front-left,front-right,front-center

from the link to hardware scans for other systems, it would seem that this can only be a Lenovo Y700-17ISK
I was not aware of the long-running launchpad bug report about this laptop as it seems nobody followed through on advising kernel developer Takashi Iwai to get a fix added to in the kernel
i can find no trace of a report on bugzilla

but that launchpad bug seems to be the only place that got trolled with this link
https://www.andreagrandi.it/2013/06/22/how-to-make-subwoofer-work-in-ubuntu/
this suggestion is useless, it does not mention any particular laptop; module-combine has been replaced with module-combine-sink; a channel map for 5.1 surround would not help with 2.1 surround but most importantly the module is not capable of connecting audio to subwoofer as a simultaneous devices

list of pulseaudio profiles for each card can be found in - pacmd list-cards
output:analog-surround-21 should be available as a profile instead of the current output:analog-stereo

but if hdajackretask did not correctly enable the subwoofer, the profiles for output:analog-surround-21 will likely show as available: no if pulseaudio cannot find the subwoofer available in ALSA

suggest reinstall pulseaudio to clear all the misconfigurations
then make only 2 configuration changes for the subwoofer

enable-lfe-remixing = yes
lfe-crossover-freq = 250

(crossover frequency may be too high but will help when troubleshooting to be able to tell if it is working)

also suggest run sudo hdajackretaskand click Remove boot override to clear any overrides from previous use

then reboot and run sudo alsa-info.sh --upload
and post the link here to data uploaded to alsa-project

I've deleted and reinstalled pulseaudio, enabled lfe remixing and settled lfe-crossover-freq = 250. Plus, changed channels to = 3.
Funny part, before reinstalling pulseaudio i changed third channel from LFE to front-center and profile for 2.1 actually activated for me, but alas I did something and it disappeared. I didn't test it as well.
hdajackretask overrides were cleared.
Here's the link.
http://alsa-project.org/db/?f=9260a16e2fac31ae8a9884a74ec2bdf52b91809b
Addition: my laptop is Lenovo Ideapad Y700-15isk, not 17isk. Added this info to the title and original description.

ALSA data shows 2 modprobe kernel options have been added

!!Modprobe options (Sound related)
!!--------------------------------

snd_hda_intel: model=3stack-6ch
snd_hda_intel: model=ref

suggest find the filenames where these options were added:

grep snd /etc/modprobe.d/*conf

delete the file; reboot and get alsa-info.sh data again

After using command grep snd /etc/modprobe.d/*conf I've the following result:

/etc/modprobe.d/alsa-base.conf:options snd-hda-intel model=3stack-6ch
/etc/modprobe.d/sound.conf:alias snd-card-0 snd-hda-intel
/etc/modprobe.d/sound.conf:alias sound-slot-0 snd-hda-intel
/etc/modprobe.d/sound.conf:options snd_hda_intel model=ref

As you can see, models 3stak-6ch and ref are found in two files instead of one. I'm going to rename these files to *.conf.backup and run alsa-info.sh again.
http://alsa-project.org/db/?f=067d987d539e91cfd979e345c6ef1d9defc3854e

the only information i can find about this audio codec is this discussion on Launchpad
launchpad.net - Lenovo Y700-17ISK subwoofer doesn't work
which does not appear to have been reported to kernel developers at bugzilla

subwoofer could be a mono channel

Node 0x17
Node 0x17 [Pin Complex] wcaps 0x40050c: Mono Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80]
  Pincap 0x00000010: OUT
  Pin Default 0x40000000: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x0, Sequence = 0x0
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x0f

with mono audio remixed from Node 0x0f

or stereo audio from

Node 0x1b

Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Amp-In vals: [0x00 0x00]
Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Amp-Out vals: [0x80 0x80]
Pincap 0x0001373c: IN OUT HP EAPD Detect
Vref caps: HIZ 50 GRD 80 100
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: 0x20: IN VREF_HIZ
Unsolicited: tag=00, enabled=0
Power states: D0 D1 D2 D3 EPSS
Power: setting=D0, actual=D0
Connection: 2
0x0c* 0x0d

suggest you retask only Node 0x17 as a subwoofer using this guide for hdajackretask
Weak, Low volume, Tinny sound under Manjaro compared to Windows

if that does not work, remove retask for Node 0x17 and try Node 0x1b instead

and if that does not work open a bugzilla report to get the kernel developers to look at this

1 Like

Using HDAJackRetask I retasked 0x17 first and 0x1b second time as Internal Speaker (LFE). In both cases 2.1 profile became available for me. After changing lfe-remixing value in daemon.conf of pulseaudio to 50 and testing each case I realized that subwoofer is still not used whatsoever (standard frontal speakers are used instead), which is a shame. I checked alsamixer as well and bass audio level was automatically settled to max as well.
I'll be reporting this bug through bugzilla to the kernel developer.
Update: Bug reported. Link: https://bugzilla.kernel.org/show_bug.cgi?id=208643
Thank you for your help!

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by