- Acid Test by Quixote - http://www.molvray.com/acidtest -

Broadcom wifi, Nvidia graphics, and suspend on LinuxMint Debian testing/squeeze on an HP Ideapad S12

This is a notes-to-myself post so that the next time I need this info, I have some idea where to find it.

Broadcom wireless

Followed primarily the instructions on the Debian wiki: https://wiki.debian.org/bcm43xx [1]

sudo apt-get install firmware-b43-lpphy-installer

Installs everything nicely. Reboot for new settings to take effect.

But it still didn’t work. Solved here: http://forums.linuxmint.com/viewtopic.php?f=194&t=92360 [2]. In /etc/network/interfaces, comment out everything except “auto lo” and “iface lo inet loopback”. “allow eth0 hotplug” can also stay.
(All the other wireless-related lines were to fix other *old* problems….) If you haven’t futzed with that file in the dim, forgotten past, you’ll probably be fine with just the debian wiki instructions.

Nvidia graphics

Started in debian wiki:
https://wiki.debian.org/NvidiaGraphicsDrivers#Version_304.88 [3]

Find out exact model of graphics card and check debian wiki links to lists of cards and which commands to use:
sudo lspci -nn | grep VGA
(S12 has Nvidia ION (Geforce 9400 M))

# aptitude -r install linux-headers-$(uname -r|sed ‘s,[^-]*-[^-]*-,,’) nvidia-kernel-dkms
“This will also install the recommended nvidia-glx package. DKMS will build the nvidia module for your system.”
However, there was no xorg.conf.d directory as implied under “X server configuration file”
So did not make a /etc/X11/xorg.conf.d/20-nvidia.conf file as suggested.

Instead followed guide of proxima-centauri on lmde forums [4],
BUT left out “nvidia-kernel-dkms nvidia-glx” since those already installed. “build-essential” was already installed on my system.

sudo apt install nvidia-kernel-dkms nvidia-glx build-essential nvidia-settings nvidia-xconfig

When done, execute nvidia-xconfig in terminal.
sudo nvidia-xconfig

Then blacklist:
sudo echo blacklist nouveau > /etc/modprobe.d/blacklist-nouveau.conf

Then reboot for settings to take effect.

Some VGA resolution weirdness during bootup, but once booting is complete, looks fine.


Debian wiki says “hal” package conflicts with power management [5] and isn’t needed anyway. Uninstalled, but still doesn’t suspend.

Then tried the following script [6] of John Dias and brocktice to unload all usb modules and now it works. First ran lsmod (list modules) to see which usb drivers were active on my system (ehci_hcd and ohci_hcd).

Saved the following to /etc/pm/sleep.d/20_custom-ehci_hcd, then substituted “ohci” instead of “ehci” and saved to /etc/pm/sleep.d/20_custom-ohci_hcd

# File: "/etc/pm/sleep.d/20_custom-ehci_hcd".

case "${1}" in
echo -n '' > $TMPLIST
for i in `ls /sys/bus/pci/drivers/ehci_hcd/ | egrep '[0-9a-z]+\:[0-9a-z]+\:.*$'`; do
# Unbind ehci_hcd for first device XXXX:XX:XX.X:
echo -n "$i" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
echo "$i" >> $TMPLIST
for i in `cat $TMPLIST`; do
# Bind ehci_hcd for first device XXXX:XX:XX.X:
echo -n "$i" | tee /sys/bus/pci/drivers/ehci_hcd/bind

Did not unload any other modules or do anything else. Note that the output of /var/log/pm-suspend.log made me think that 99video and 98video-quirks was somehow at fault, because they were suspended/resumed right at the sleep/wake point. But no. Apparently not.