Enable wireless in Ubuntu 11.04 Beta1 on a HP 8540p

This post is a short description on how to enable the wireless interface on my HP 8540p in Ubuntu 11.04 Beta 1 (Natty Narwal).

A little information about the wireless interface

# lspci 
...
44:00.0 Network controller: Intel Corporation Centrino Advanced-N 6200 (rev 35)
...

# lspci -n
...
44:00.0 0280: 8086:4239 (rev 35)
...

According to the Debian GNU/Linux device driver check page this wireless interface should use the iwlagn kernel module.

After searching a little i found this forum thread on Ubuntuforums that described this problem quite well.
A short description of the problem is that there is some problems with Wireless N on the iwlagn Intel drivers preventing the interface to function properly.
The solution to the problem should also work on Ubuntu 10.04 and 10.10.

First we determine if the iwlagn module is present on the system

# lsmod | grep iwlagn
iwlagn                333500  0 
iwlcore               167503  1 iwlagn
mac80211              294370  2 iwlagn,iwlcore
cfg80211              178528  3 iwlagn,iwlcore,mac80211

You can proceed if the result after running the command contains the iwlagn module

Now we can disable the Wireless N feature in the Intel iwlagn kernel module

# gksudo gedit /etc/modprobe.d/intel_11n_disable.conf

Add the following line to your newly opened file

options iwlagn 11n_disable=1

Save and exit the file.

Unload and load the kernel module

# sudo modprobe -r iwlagn
# sudo modprobe iwlagn

Update initramfs before you perform a reboot

# sudo update-initramfs -u

After a reboot has been performed it’s time to check the wireless interface.

The Wireless network state on my HP 8540p

# sudo lshw -c network

  *-network DISABLED
       description: Wireless interface
       product: Centrino Advanced-N 6200
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:44:00.0
       logical name: wlan0
       version: 35
       serial: 00:aa:bb:cc:dd:ee
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlagn driverversion=2.6.38-8-generic firmware=9.221.4.1 build 25532 latency=0 link=no multicast=yes wireless=IEEE 802.11abg
       resources: irq:48 memory:d3300000-d3301fff

My wireless interface was not enabled so I had to UP it myself.

# sudo ifconfig wlan0 up
# sudo ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 00:aa:bb:cc:dd:ee  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Now when I perform a lshw command

# sudo lshw -c network
  *-network
       description: Wireless interface
       product: Centrino Advanced-N 6200
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:44:00.0
       logical name: wlan0
       version: 35
       serial: 00:aa:bb:cc:dd:ee
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlagn driverversion=2.6.38-8-generic firmware=9.221.4.1 build 25532 ip=192.168.1.104 latency=0 link=yes multicast=yes wireless=IEEE 802.11abg
       resources: irq:48 memory:d3300000-d3301fff

All I had to do now was to check “Enable Wireless” from the Network menu located on top right of the Unity window next to the clock.