 |
|
 |
|
|
|
|
|
Yellow Dog Linux v6.x
TOPIC: Enabling Airport Extreme
Introduction
This HOWTO will guide you through the steps of setting up Airport Extreme with YDL v6.x for Apple hardware. It was tested on an Apple 12" PowerBook
G4 running a fresh install of YDL v6.0.
This procedure requires 3 steps:
- Discover your Airport firmware version.
- Extract the Airport Extreme firmware.
- Configure your wireless card under Linux.
- Discover your Airport Extreme version
Broadcom is the manufacturer of the Airport Extreme wireless chip for Apple. The Broadcom chip in the Powerbook used to write this HOWTO is the BCM4306
802.11b/g (rev 03). Different versions of the firmware and driver might not be as straightforward. To discover the version of the Airportyou have on your
computer, under Linux run this command as root:
[root@localhost network-scripts]# lspci | grep -i broadcom [ENTER]
Here's the output I get on my laptop:
0001:10:12.0 Network controller: Broadcom Corporation BCM4306 802.11b/g
Wireless LAN Controller (rev 03)
If you have an earlier or later version, these instructions may or may not work for you. If you run into troubles, join the yellowdog-general mailing list or visit us on #yellowdog at
freenode.irc.net. Someone there might be able to help you troubleshoot any problems you might have.
- Extract the Airport Extreme firmware
The first step in getting your Airport Extreme working is to extract the necessary firmware files from your MacOS X drivers. This can be done two ways: a)
build and execute the application in MacOS X; or b) build and execute the application in Yellow Dog Linux. Both are fairly simple procedures. I'll
demonstrate them both.
- Download the firmware driver extraction tool. The first step is to download the application fwcutter which extracts the firmware driver. This
can be fetched from here:
developer.berlios.de/project/showfiles.php?group_id=4547
... and save it somewhere convenient.
- Decompress and compile fwcutter. In a terminal window (these commands will work in MacOS X or Linux):
Decompress:
[chris@localhost ~]# tar -jxf bcm43xx-fwcutter-006.tar.bz2 [ENTER]
... then compile:
[chris@localhost ~]# cd bcm43xx-fwcutter-006 [ENTER]
[chris@localhost ~]# make [ENTER]
This should generate the following output:
cc -O2 -fomit-frame-pointer -std=c99 -Wall -pedantic -D_BSD_\
SOURCE-DFWCUTTER_VERSION_=006 -c -o fwcutter.o fwcutter.c
cc -O2 -fomit-frame-pointer -std=c99 -Wall -pedantic -D_BSD_\
SOURCE-DFWCUTTER_VERSION_=006 -c -o md5.o md5.c
cc -O2 -fomit-frame-pointer -std=c99 -Wall -pedantic -D_BSD_\
SOURCE-DFWCUTTER_VERSION_=006 -o bcm43xx-fwcutter fwcutter.o md5.o
... and you should be left with a binary executeable called bcm43xx-fwcutter.
- Extract the firmware from the MacOS X drivers. This will vary slightly depending on if you are doing this in Linux or MacOS. The README file in the
bcm43xx-fwcutter-006 folder contains information as to where to find the drivers in MacOS X.
Using MacOS X
Extracting the firmware in OSX is almost identical to doing it in Linux (see below), except you'll want to put the firmware somewhere so that you
can get it into Linux (either via a USB key, over the network, etc.. This is left to the reader.).
- Start by making a directory to store the firmware:
laptop:~/Desktop/bcm43xx-fwcutter-006 chris$ mkdir firmware
- Then extract the firmware into it:
laptop:~/Desktop/bcm43xx-fwcutter-006 chris$ ./bcm43xx-fwcutter -w firmware \
/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2
This should produce very similar output to the Linux step above. You must now get the contents of the firmware folder into /lib/firmware in
your Yellow Dog Linux install.
Using Linux
- Mount the MacOS X partition (/dev/hda3 on my laptop) somewhere handy (/mnt/macosx in my case), you'll need to be root to do this:
[root@localhost ~]# mount /dev/hda3 /mnt/macosx
- If you're already in Linux, you can now run a single command to extract the firmware and put it into the final destination in Linux (/lib/firmware).
- In the bcm43xx-fwcutter-006 folder, execute the fwcutter application:
[root@localhost bcm43xx-fwcutter-006]# ./bcm43xx-fwcutter -w /lib/firmware/ /mnt/macosx/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2 [ENTER]
... this should generate output similar to:
filename : AppleAirPort2
version : 3.90.34.0.p18 (405.1)
MD5 : 85c71d658b650fd2ef546d1d81b113a0
microcodes : 2 4 5
pcms : 4 5
WARNING! This firmware doesn't include support for 802.11a cards.
WARNING! Use this firmware only for 802.11b/g cards.
microcode : 2
revision : 0x0122
patchlevel : 0x009a
date : 2005-08-15
time : 18:44:03
microcode : 4
revision : 0x0122
patchlevel : 0x009a
date : 2005-08-15
time : 18:44:03
microcode : 5
revision : 0x0122
patchlevel : 0x009a
date : 2005-08-15
time : 18:44:03
extracting bcm43xx_microcode2.fw ...
extracting bcm43xx_microcode4.fw ...
extracting bcm43xx_microcode5.fw ...
extracting bcm43xx_pcm4.fw ...
extracting bcm43xx_pcm5.fw ...
extracting bcm43xx_initval01.fw ...
extracting bcm43xx_initval02.fw ...
extracting bcm43xx_initval05.fw ...
extracting bcm43xx_initval06.fw ...
- This should dump the firmware files in /lib/firmware. To confirm this, a directory listing should produce something like:
[chris@localhost ~]$ ls -1 /lib/firmware/
bcm43xx_initval01.fw
bcm43xx_initval02.fw
bcm43xx_initval05.fw
bcm43xx_initval06.fw
bcm43xx_microcode2.fw
bcm43xx_microcode4.fw
bcm43xx_microcode5.fw
bcm43xx_pcm4.fw
bcm43xx_pcm5.fw
- Configure your wireless card under Linux.
- From the command line launch system-config-network or from the graphical interface, launch YDL Menu --> Applications --> System Tools --> System Config
--> Network.
- Add a new Wireless configuration, selecting the Broadcom wireless device. You may want to rename the device to "eth1" for simplicity.
- Activate it.
- You may verify that the device is up by launching a web browser and giving it a test run, or from a terminal run:
/usr/sbin/ifconfig [ENTER]
... and look for information about device eth1:
eth1 Link encap:Ethernet HWaddr 00:03:93:F4:A1:B0
inet addr:192.168.10.178 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::203:93ff:fef4:a1b0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:68941 errors:0 dropped:0 overruns:0 frame:0
TX packets:66047 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:40837726 (38.9 MiB) TX bytes:14323985 (13.6 MiB)
Interrupt:53
- You are on-line!
To learn more about wireless tools in Linux, visit this HOWTO.
This HOWTO was written by Christopher Murtagh and edited by Kai Staats, Terra Soft Solutions
|
|
|
|
 |
| |
|
COPYRIGHT ® 1999-2008. TERRA SOFT SOLUTIONS, INC. ALL RIGHTS RESERVED. |
|
 |
|