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
/dev/input/event10
   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
/dev/input/event10
   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.

References:

The hardware wireless button does not enable wifi as per the following bug report.
https://bugs.launchpad.net/ubuntu/+source/rfkill/+bug/786233

This person got it working somehow...
http://ubuntuforums.org/archive/index.php/t-1770202.html

http://en.gentoo-wiki.com/wiki/Lenovo_Thinkpad_T61#Wireless_switch_on_the_front_beneath_firewire

http://www.thinkwiki.org/wiki/How_to_get_special_keys_to_work

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.
http://www.notebookforums.com/t/225429/broken-wireless-hardware-switch-fix
http://www.mp3car.com/attachments/wireless-communications/56148d1249724286-hacking-mini-pci-e-hsdpa-into-aopen-i45gmt-hd-board-sim_to_mini_pci_express.jpg



Comments