четверг, 3 апреля 2014 г.

Ubuntu 12.04 - How to install Wi-Fi driver on macbook air 6.2 (2013).


NOTE: Please do nothing if your Wi-Fi is working fine :)
NOTE: You need internet connection to install the above. I have used mobile phone modem via Bluetooth as temporary internet connection for MacBook.



1. As far as I am aware, as of now Ubuntu 12.04 does not support Macbook air 6.2 Wi-Fi chip from "box" and it means you need to take the below manual steps to make it work.


2. Check your Wi-Fi card.

Open terminal and run "lspci -n | grep 14e4".
The result should be:
02:00.0 0480: 14e4:1570
03:00.0 0280: 14e4:43a0 (rev 03)

3. Your system will need headers and tools to make a driver work. Make sure you have installed the latest versions. 

Do these commands in terminal:
:~$ sudo apt-get install build-essential linux-headers-generic
:~$ sudo apt-get build-dep linux

4. Download the driver source code (32 / 64 bit - depends on your Ubuntu version) from here http://www.broadcom.com/support/802.11/linux_sta.php

- 32-bit current direct link is http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_141.tar.gz

- 64-bit current direct link is http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz

5. Unpack the downloaded driver. For example, folder "hybrid_wl". You may do it in terminal or in Nautilus.


6. Go to created folder in Terminal, 

like:~$ cd <path to folder>hybrid_wl
Then you should see something like this
user@computername:~/Downloads/hybrid_wl$

7. Being in the driver source code folder execute the following commands, one by one:

:~$ sudo make clean
:~$ sudo make

When the build completes, it will produce a wl.ko file in the top level directory. And now you need to insert this newly created file into your Ubuntu.

8. Remove any other drivers (if any) for the Broadcom wireless device.

Run the following commands in terminal.
:~$ lsmod | grep "brcmsmac\|b43\|ssb\|bcma\|wl"

If any of these are installed, remove them:
:~$ rmmod b43
:~$ rmmod brcmsmac
:~$ rmmod ssb
:~$ rmmod bcma
:~$ rmmod wl

9. You'll need to add a security module before using the wl module. 

Most newer systems use lib80211 while others use ieee80211_crypt_tkip. See which one works for your system.

Run one of the following commands in terminal. The first one worked for my case.
:~$ sudo modprobe lib80211
                      or
:~$ sudo modprobe ieee80211_crypt_tkip

Expect nothing in return and run the next command.

:~$ sudo modprobe cfg80211

Expect nothing in return and run the next command.

:~$ sudo insmod wl.ko

wl.ko driver is operational now and Wi-Fi should be working. It may take several seconds for the Network Manager to notice a new network driver has been installed and show the surrounding wireless networks.

10. Setup to always load at boot time.

Run the following commands in terminal:
:~$ sudo cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
:~$ sudo depmod -a

11. Bookmark this link as you will need to take these steps every time Ubuntu updates its kernel to new version.


Reboot and enjoy Wi-Fi :)

1 комментарий: