Asus n56dp Sonic Master subwoofer not working
I have Asus n56dp with amd processor and graphics not intel. I can't get the subwoofer working.
lspci | grep Audio output:
00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Device 9902
00:14.2 Audio device: Advanced Micro Devices [AMD] Hudson Azalia Controller (rev 01)
I too have an Asus N56DP. We two may be the only guys running ubuntu on them right now. :)
The following sort of works:
in your /etc/rc.local add this:
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs echo 1 > /sys/class/sound/hwC0D0/reconfig
then reboot.
Then in your sound control panel (System Settings -> Sound) select output-> either analog if you just want it to work, or if you want proper bass you have to keep switching between surround 4.1 and 5.1 all the time. For instance mplayer will often turn off the bass and I'll have to switch from one to the other.
I chose analog.
references: bug 1040873 bug 871808
I have this working now. Before you get discouraged, I can tell you that when you do get the subwoofer working, the sound quality is very good, nearly amazing given what is coming from. So, hang in there, it is definitely worth the effort!
To be clear, I have the ASUS N56DP-DH11 - This is the one with the 64-bit AMD processor. My subwoofer was a paperweight until I upgraded to 13.10. It was reported that there was a bug in kernel version 3.8, which is the kernel used in Ubuntu 13.04. It seems that it was a low-level driver issue that only affects AMD machines with the Realtek ALC663 codec. It appears that in these machines, the kernel bug in 3.8 was keeping the kernel from seeing the subwoofer pin at all. There was no hope of getting the subwoofer to work unless you were interested in kernel hacking. Been there, done that, and all done with that.
Instead, I just upgraded to 13.10 by following the directions on the Upgrade Ubuntu from 13.04 to 13.10 page . This took about an hour of downloading. It ran successfully to completion.
Ubuntu 13.10 runs kernel version 3.11:
davidl@Stravinsky:~$ uname -a
Linux Stravinsky 3.11.0-15-generic #25-Ubuntu SMP Thu Jan 30 17:22:01 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
I did get the "Display in low graphics mode" issue which you address by following the steps in askubuntu canonical question 141606. The flgrx driver works fine for me.
Once you have your display back and the system comes up cleanly again, you should be able to hear a very quiet, low buzz coming out of the subwoofer when you mouse around. This tells you that the system is at last talking to the subwoofer.
It took some additional experimentation to get the sub connected properly. The good news is that once you have the 3.11 kernel running, and you are getting the low buzz from the sub, you can now follow the same steps as the folks with the Intel machines follow. I got the same symptoms: right channel and sub mixed, or no sub sound at all and so forth.
There are a few more steps to do, these are the same as others with intel machines have described. I will list the ones that worked for me here:
gksu gedit /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf
add these lines:
[Mapping analog-surround-21]
device-strings = surround40:%f
channel-map = front-left,front-right,lfe,lfe
paths-output =
analog-output analog-output-speaker
priority = 7
direction = out
Then scroll down in the file and locate these lines:
[Mapping analog-surround-51]
device-strings = surround51:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
paths-output = analog-output analog-output-speaker analog-output-desktop-speaker
priority = 8
direction = output
Throughout this file, the channel mapping line seems to list the channels in the incorrect order
Change
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
to read like this:
channel-map = front-left,front-right,rear-left,rear-right,lfe,front-center
Note the new position of "lfe"
Repeat this for any sound configuration you intend to use: 5.1, 4.1, 7.1 or whatever.
Then:
gksu gedit /etc/modprobe.d/alsa-base.conf
add line:
options snd-hda-intel model=asus-mode4
Even though it says intel, with the fixed kernel, it works the same way on the AMD machines (mine at least)
Next:
sudo gedit /etc/pulse/daemon.conf
insure the following line is present:
enable-lfe-remixing = yes
Now the last step is to reallocate the pin assignments. There a tool in alsa-utils called hdajackretest which you can use to experiment with settings until you get a working configuration. I cannot praise this tool highly enough. Without it, troubleshooting the pins would have gone on forever. As it was, I spent maybe an hour at this, if that. My hat is off to the developer!!!
There is probably a more elegant/appropriate way to do this, but by following the steps below, I was able to get a 4.1 configuration running with all channels going to the proper destination:
sudo apt-get install alsa-tools-gui
hdajackretask
Select the codec: ALC663
Set "show unconnected pins"
I experimented with this alot, and finally got the following configuration to work. There may be a less drastic approach. It may not be necessary to set all these pins the way I did, but, well, it was the first configuration that worked ;-) .
Starting with the unmodified settings, I made these overrides:
- Pin 0x14: Override set to Line out (Center/LFE)
- Pin 0x15: Override set to Line out (Center/LFE)
- Pin 0x16: Override set to Internal Speaker
- Pin 0x17: Override set to Line out (Center/LFE)
- Pin 0x1a: Override set to Line out (Front)
- Pin 0x1b: Override set to Line out (Center/LFE)
As I said, this may be overkill, I doubt all these are necessary, but it is what works for me.
Then, cycle back and forth through:
- "Apply Now"
- Use the "Test Sound" feature in the Settings->Sound settings to see if each channel is going where you want it to. If not:
- Repeat until you get what you want
When it works, don't forget to hit
"install boot override"
to make it stick.
Then reboot and test again with "Sound Settings"
You should end up in "Sound Settings" with a drop down menu of 5 choices. Analogue 4.1 worked for me. You should be able to boost the subwoofer volume as you desire.
It should not be necessary to redo any of this if you reboot, Everything should persist as long as you hit "install boot override"