AirportExtreme

Differences between revisions 7 and 8
Revision 7 as of 2006-06-04 22:37:55
Size: 10176
Editor: p5497CAF6
Comment: Add dapper support
Revision 8 as of 2006-06-04 22:43:22
Size: 10176
Editor: p5497CAF6
Comment:
Deletions are marked like this. Additions are marked like this.
Line 214: Line 214:
now the card works fine. Now the card works fine.

1. Purpose

  • This document gives Ubuntu-specific (but quite general) instructions to install a driver for wireless devices with the Broadcom bcm43xx chipset, in particular Airport extreme cards.

    You can find more detailed instructions at [http://www.fisica.unipa.it/~lavaget/ubuntuae/]. The open-source driver development page is located on the [http://bcm43xx.berlios.de/ BCM43XX Developer website].

Info <!> This has only been tested with Ubuntu 5.10 (Breezy Badger) release using a self-compiled kernel as the bcm43xx driver requires a 2.6.15 or newer kernel.

attachment:IconsPage/IconDialog-Warning1.png

  • The following instructions are not step-by-step. As installing this driver is currently only for advanced users, you are supposed to do your job, and it is not just cutting and pasting.

2. Install a custom kernel

(i) Please note that some people prefer to use an Ubuntu 6.04 (Dapper Drake) kernel. If you prefer, feel free to use the latest kernel from Ubuntu 6.04 instead of building one for yourself.

3. Grab the Software

BR

  • You will also need the latest versions of some wireless utilities.
      apt-get install wireless-tools
      apt-get install wpasupplicant

4. Install the Firmware

  • Download and compile the fwcutter utility. (i) This tool will extract the binary firmware from the Apple Airport drivers and install it into the Linux firmware directory.

      tar xjvf bcm43xx-fwcutter-20060119.tar.bz2
      cd bcm43xx-fwcutter-20060119
      make

    Grab the firmware for your Airport Extreme from OS X. The following instructions assume you have a dualboot and you have mounted your OS X drive under Linux with root directory OSXROOT (most usually it's /macosx). If you have not done that then use some other means to copy that file ( (i) you can take a look at the README included in the fwcutter directory where some URI are given). Copy the Apple Airport driver to the build directory you just created and extract the firmware.

      cp $OSXROOT/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2 .
      ./fwcutter AppleAirPort2
      fwcutter can cut the firmware out of AppleAirPort2
      filename :  AppleAirPort2
      version  :  3.90.34.0.p11 (400.17)
      MD5      :  dc3a69aac95c68fe8edc760e39bbb2c9
    
      WARNING! This firmware doesn't include support for 802.11a cards.
     WARNING! Use this firmware only for 802.11b/g cards.
    
      extracting bcm43xx_microcode2.fw ...
      extracting bcm43xx_microcode4.fw ...
      extracting bcm43xx_microcode5.fw ...
      *****: Sorry, it's not posible to extract "bcm43xx_microcode11.fw".
      *****: Extracting firmware from an old driver is bad. Choose a more recent one.
      *****: Luckily bcm43xx driver doesn't include microcode11 uploads at the moment.
      *****: But this can be added in the future...
      extracting bcm43xx_pcm4.fw ...
      extracting bcm43xx_pcm5.fw ...
      extracting bcm43xx_initval01.fw ...
      extracting bcm43xx_initval02.fw ...
      extracting bcm43xx_initval03.fw ...
      extracting bcm43xx_initval04.fw ...
      extracting bcm43xx_initval05.fw ...
      extracting bcm43xx_initval06.fw ...
      extracting bcm43xx_initval07.fw ...
      extracting bcm43xx_initval08.fw ...
      extracting bcm43xx_initval09.fw ...
      extracting bcm43xx_initval10.fw ...
    Then install the firmware
      export  FIRMWARE_INSTALL_DIR=/lib/hotplug/firmware
      make installfw

    Beware that the firmware shipped with OS X Tiger is not supported by fwcutter. In that case, you'll need to find a suitable firmware from one of the sources listed in the readme file. I'd post the firmware here if there were no legal issues. Update 20060121: the latest version of fwcutter successfully extracted the firmware from the OS X Tiger Airport Extreme drivers.

5. Install SoftMAC and bcm43xx

  • Download and install the latest softmac layer. This should install the softmac ieee80211 kernel drivers.
      tar xvjf softmac-snapshot.tar.bz2
      cd softmac-snapshot
      make
      make install
    Then do the same for the bcm43xx snapshot. This particular snapshot works but check the website for more recent snapshots.
      tar xjvf bcm43xx-20060119.tar.bz2
      cd  bcm43xx-20060119
      make
      make install
    Once you have done this, you are ready! Just type:
      modprobe bcm43xx
    and you should see in dmesg something like:
      [   57.137024] ieee80211_crypt: registered algorithm 'WEP'
      [   57.194199] bcm43xx: set security called
      [   57.194215] bcm43xx:    .active_key = 0
      [   57.194219] bcm43xx:    .level = 1
      [   57.194222] bcm43xx:    .enabled = 1
      [   57.194226] bcm43xx:    .encrypt = 1
      [   57.216599] bcm43xx: PHY connected
      [   57.750700] bcm43xx: InitVals fileformat error.
      [   57.750764] bcm43xx: InitVals fileformat error.
      [   57.758868] bcm43xx: Radio turned on
      [   57.925913] bcm43xx: Chip initialized
      [   57.926145] bcm43xx: DMA initialized
      [   57.926156] bcm43xx: 80211 cores initialized
      [   57.926358] bcm43xx: Keys cleared

6. Configure the network

  • Configure the IP address settings on eth1 using whatever method you prefer. DHCP works and can be most simply configured with System->Administration->Networking. If you use WEP can also configure your WEP key within that GUI dialog.

    If you want to use WPA for greater security you need to use wpa_supplicant and that needs to be configured from the command line. The most complete instructions are in the [https://wiki.ubuntu.com/WPAHowto WPAHowto]. Here's a very quick guide for configuring WPA.

    Modify /etc/default/wpasupplicant so Ubuntu knows that eth1 requires WPA.

      cat /etc/default/wpasupplicant
      ENABLED=1
      OPTIONS="-i eth1 -D wext -c /etc/wpa_supplicant.conf -d"

    Modify /etc/wpa_supplicant.conf to contain your preshared key (PSK) and your SSID. The PSK must match what has been set on your access point.

      cat /etc/wpa_supplicant.conf
      ctrl_interface=/var/run/wpa_supplicant
      ctrl_interface_group=0
      eapol_version=1
      ap_scan=1
      fast_reauth=1
      network={
              ssid="YourSSID"
              scan_ssid=1
              key_mgmt=WPA-PSK
              pairwise=CCMP TKIP
              psk="YourPSK"
      }

    Confirm that your access point is configured for WPA and then check the status of your WPA authentication under Linux using the wpa_cli tool.

      wpa_cli
      > status verbose
      bssid=00:00:00:00:00:00
      ssid=YourSSID
      pairwise_cipher=CCMP
      group_cipher=TKIP
      key_mgmt=WPA2-PSK
      wpa_state=COMPLETED
      > quit

7. Since ubuntu 6.06 (drapper)

7.1. Status suport

On ubuntu 6.06, apple Aiporte Extrem works fine with WEP and WPA encryption. Steps are very simple.

7.2. Driver installation

First, you need to download the driver itself, and compile it.

svn checkout svn://svn.berlios.de/bcm43xx/trunk/fwcutter
cd fwcutter
make

Then you need to get the AppleAirPort2 in your Tiger partition and copy it on the fwcutter directory. After configure the driver:

./bcm43xx-fwcutter AppleAirPort2

Finaly just install the driver with this instruction:

sudo make installfw

Now the card works fine.

7.3. WEP configuration

You can configure it with the gnome network tools for WEP encryption.

7.4. WPA configuration

Create the file /home/you/.wpa/wpa_supplicant.conf with your favorit editor, and add theses lines:

#file wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="my_essid"
key_mgmt=WPA-PSK
proto=WPA
pairwise=CCMP TKIP
group=CCMP TKIP
psk="my_key"
priority=3
}

7.5. Don't remeber your SSID

An easy way to find it:

sudo iwlist eth0 scan

8. Final Remarks

  • That's it. In my system everything works, my iBook even resumes correctly after sleep (N.B. I have only tested this with WEP, other people are having issues with it). Update 20060121: also works great with Powerbook G4 12" and WPA2 to a Linksys access point.

    Big thanks to Shreyas Ananthan who kindly and patiently helped me in getting the first paces done. Some of this HOWTO is a verbatim copy of his suggestions. Also, I'd like to thank all the kernel hackers involved both with the reverse engineering of the Airport Extreme specifications and with the new Linux driver. You've set me free from OS X!


CategoryDocumentation CategoryNetworking

WifiDocs/Device/AirportExtreme (last edited 2008-08-06 16:22:04 by localhost)