Thursday, 8 March 2012

Wireless and Lenovo S12 (Linux Mint 12)

I had some trouble getting the wireless interface to work. After following several instructions, as well as the out-of-the-box installation, this is what did the trick for me.
This solution is hardware specific, it worked on a Lenovo S12 using Linux Mint 12.

After you install your system, make sure you have a wired connection and some time to spare. First I ran all the initial updates to have the system up-to-date (what do you know, huh?). Then I selected on the Main Menu under System Tools -> System Settings -> Hardware -> Additional Drivers and had the NVIDIA accelerated graphics driver [Recommended]. Do NOT install the Broadcom STA wireless driver!
The next step you can do in two ways:
Method 1:
Using the console, type
Code:
sudo apt-get install b43-fwcutter firmware-b43-lpphy-installer
Method 2:
Using the Synaptic Package Manager under Other on the Main Menu, select
  • b43-fwcutter
  • firmware-b43-lpphy-installer
The first, b43-fwcutter, is (according to its own description) a tool to extract the firmware for the BCM43xxx driver files. The second, firmware-b43-lpphy-installer, installs the firmware needed for usage of the b43 kernel driver. If on the console you type
Code:
lspci|grep 43
you should get something similar to:
Code:
07:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (Rev 01)
This is not a mandatory step, it just shows you that you just installed proper firmware.
If you restart your netbook now, as I did today so many times, you'll find out that it still doesn't work! That's a bit frustrating, but we're getting closer. After some researching on the internet, especially on the Ubuntu and Mint forums, someone pointed out that the acer_wmi module is loaded.
On the console, type:
Code:
lsmod | grep acer
and you should see something like:
Code:
acer_wmi                    23302  0 
sparse_keymap          13658  2 acer_wmi,ideapad_laptop
wmi                             18744  1 acer_wmi
Don't ask me what the acer_wmi is doing here, but it causes the wireless interface to be blocked. Type:
Code:
rfkill list
and you might see something like
Code:
4: acer-wireless: Wireless LAN
 Soft blocked: yes
 Hard blocked: no
among the complete output.
The acer_wmi module has to be blocked. You can
Code:
sudo rmmod acer_wmi
That might solve things for the current session. You'll have to blacklist this module to avoid it loading on the next reboot. Edit the file /etc/modprobe.d/blacklist.conf with admin rights, and add the following lines at the end (do not leave an empty space or empty line at the end of the file!):
Code:
# Blacklist Acer Wmi
blacklist acer_wmi
This should actually do the trick, still, it didn't work for me yet.
The last commands you have to execute (and it was sheer luck that I found this thread on an Ubuntu Forum) are:

Code:
sudo service network-manager stop
sudo rfkill unblock all
sudo service network-manager start
At this point, the wireless interface started to work, at least, that did the trick for me.
I hope I could help some of you guys if you have the same Lenovo - Linux combination. I'm happy that after a restart everything still worked, and I did not have to perform the Network Manager reboot at startup.