Blog‎ > ‎IT‎ > ‎

Ubuntu 11.10 Wifi problems on Lenovo Edge 13

posted Nov 11, 2011, 5:16 AM by Jake Vosloo   [ updated Nov 11, 2011, 11:12 PM ]
My Thinkpad's wireless just wouldn't work in ubuntu even though it worked in Windows, eventually putting some tape on the PCI express connector of the Wifi card did the trick.

Here are a few troubleshooting steps for wifi problems on a Lenovo Edge 13 laptop.
Run all these commands in a terminal.

1. Start here:

The following is what you want to see.  If there is a yes in any of the lines or if the Wireless item is missing then go to the relevant troubleshooting section:
# sudo rfkill list all
8: phy3: Wireless LAN
    Soft blocked: no
    Hard blocked: no
10: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
If you see the above then your hardware is turned on and ready to connect, now you must install and configure the "network-manager" or "WICD" which is not covered here.

2. No Wireless LAN listed

If the wireless lan is not listed then the hardware or your drivers may be missing:
Check if hardware is there:
# lshw -class net -short
H/W path               Device     Class       Description
/0/100/1c.1/0          wlan0      network     RTL8191SEvB Wireless LAN Controller
/0/100/1c.5/0          eth0       network     RTL8111/8168B PCI Express Gigabit Ethernet controller

Check if drivers are loaded:
Take a few number(not letters) from the above and see if the driver is loaded:
# lsmod |grep 819
rtl8192se              99931  0
thinkpad_acpi          81819  0
rtlwifi               110972  1 rtl8192se
mac80211              462092  2 rtl8192se,rtlwifi

If the driver is not loaded then you must find out how to compile it.

3. Soft blocked: yes

The radio is turned off by software, run:

# sudo rfkill unblock all

go back to 1 and re-test.

4. Hard blocked: yes

The Lenovo does not have a hardware radio switch.  It does however have a hotkey combination.
Press "Fn-F9" then return to 1 to re-test.
If the button does nothing then check if ACPI is installed:
# lsmod |grep think
thinkpad_acpi          81819  0
nvram                  14413  1 thinkpad_acpi
snd                    68266  19 thinkpad_acpi...

4.1 Check if the keyboard event is fired:

# xev | sed -n 's/^.*state \([0-9].*\), keycode *\([0-9]\+\) *\(.*\), .*$/keycode \2 = \3, state = \1/p'
keycode 246 = (keysym 0x1008ff95, XF86WLAN), state = 0x0

The above keycode says XF86WLAN which means the correct button has been pressed.

Find the event ID, look for the ThinkPad Extra Buttons event:
# lsinput
   bustype : BUS_HOST
   vendor  : 0x17aa
   product : 0x5054
   version : 16641
   name    : "ThinkPad Extra Buttons"
   phys    : "thinkpad_acpi/input0"
   bits ev : EV_SYN EV_KEY EV_MSC EV_SW

Listen for the event ID. Put the above event ID in the command below :
# input-events 10
   bustype : BUS_HOST
   vendor  : 0x17aa
   product : 0x5054
   version : 16641
   name    : "ThinkPad Extra Buttons"
   phys    : "thinkpad_acpi/input0"
   bits ev : EV_SYN EV_KEY EV_MSC EV_SW

waiting for events
08:52:13.257779: EV_MSC MSC_SCAN 4
08:52:13.257789: EV_KEY KEY_WLAN (0xee) pressed
08:52:13.257793: EV_SYN code=0 value=0
08:52:13.257809: EV_MSC MSC_SCAN 4
08:52:13.257813: EV_KEY KEY_WLAN (0xee) released
08:52:13.257816: EV_SYN code=0 value=0

4.2 Hotkey won't lift hardblock

If all else fails and the hotkey won't lift the hardblock then override the hardblock connection on the card.
If it is PCI express then put a small piece of tape over pin 20 of the connector as per this discussion.


The hardware wireless button does not enable wifi as per the following bug report.

This person got it working somehow...

Disable the hardware switch:

On PCI-E Pin 20 is the hardware switch pin.  Insulate it with some tape and the hardware can not be switched off.