Comment 41 for bug 1040873

Revision history for this message
krustymars (flo-wernert) wrote :

hi folks, I own too a N56VZ and I am affected by the lack of support for subwoofer under linux

I've been able to make it work with the workaround #2

echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig

change the config in pulseaudio panel everytime I plug/unplug the subwoofer

Just a little improvement to this, instead of changing the config in the panel you can use the following command to change the current selected config twice. This example applies if your target configuration is 4.1 surround + input

    pactl set-card-profile 0 output:analog-surround-51
    pactl set-card-profile 0 output:analog-surround-41+input:analog-stereo

It will do the same thing that you use to do manually in the panel but from command line

In the case you have another target configuration that you don't know the name, use pacmd tool
   pacmd
and in the console type
   list-cards

It will give you the name of your card (card0 in the example) and the supported modes names (output:analog-surround-41+input:analog-stereo in the example). Just pick the name of your card and config to replace it in the pactl command.

To get it working more seamlessly, you can put these commands in a bash script and affect it to a shortcut that you can do when you plug/unplug the woofer

To get it working even more seamlessly, I'm working on creating a daemon that will detect when the woofer is plugged, it currently works for some players (e.g : spotify), but not for all of them (e.g. : VLC), I don't really know why (maybe some players have some application specific audio output configuration instead of getting the standard output from the user pulseaudio config)

It relies on hda-jack-sense-test in ppa:diwic/misc snd-hda-tools, I wrote it quick and dirty so feel free to improve it if you think it can be

You can find the script attached, if you play a bit with it and find a way to make work for every player let me know