Seattle Wireless Airport Linux
Contents
What is it?
AirportLinux is a linux distribution designed for Seattle Wireless Point to Point links.
AirportLinux turns your AppleAirport or OrinocoRg1000 into a small but capable router that forwards packet from wired ethernet to 802.11b iBSS wireless link.
It is designed specifically for use in CxNode and BxNode configurations where you already have a unix based router in place. Additional requirements to your router include TFTP, NFS, and DHCP.
This project is maintained by MattWestervelt.
Download
Download AirportLinux-0.01 Now!
Newer kernel and root filesystem by JustinHuff
How do I install it?
==================================================================
Server stuff:
==================================================================
stuff
------------------------------------------------------------------
TFTP Setup:
------------------------------------------------------------------
mkdir /tftpboot/
mv ./server/vmlinubz.nbi /tftpboot/
You probably already have a commented out tftp config in inetd.conf
if not, put this there.
-- /etc/inetd.conf --
+ tftp dgram udp wait root /usr/sbin/tcpd in.tftpd
------------------------------------------------------------------
NFS Setup:
------------------------------------------------------------------
mkdir /remote/
mv ./airport/ /remote/
-- /etc/exports --
+ /remote/airport rg1k(ro)
------------------------------------------------------------------
DHCP Setup:
------------------------------------------------------------------
# for isc-dhcp 1.0 - 2.9ish:
-- dhcpd.conf --
host {
hardware ethernet 00:60:1D:1F:C5:15;
filename "/tftpboot/vmlinubz.nbi";
option host-name "rg1k";
option option-130 "eth0";
option root-path "/remote/airport";
}
(note: under openbsd, and I'm sure many others, you must give a name for the host; 'host rg1k')
-- /dhcpd.conf --
# for isc-dhcpd 3.0 and higher:
# The syntax of option-130 changed; you must do something like the following:
--dhcpd.conf---
# this defines what option-130 is
option default_interface code 130 = text;
#
host rg1k {
hardware ethernet 00:60:1D:1F:C5:15;
filename "/tftpboot/vmlinubz.nbi";
option host-name "rg1k";
option default_interface "eth0";
option root-path "/remote/airport";
}
-- /dhcpd.conf --
==================================================================
Airport stuff:
==================================================================
OK. here's the fun part.
You need to set up your airport to look for an image when it boots
up. To do this, you have to put etherboot firmware on your airport.
Use the java configurator to do upload ./etherboot/etherboot-airport.bin
You MUST choose the "upload firmware with default settings"
------------------------------------------------------------------
Modify these files on your server. Your airport is all read-only
------------------------------------------------------------------
/etc/passwd - put a crypted password in this or anyone can log into your airport as root.
/etc/ESSID - contains ESSID of your Ad-Hoc network
/etc/hostname.eth1 - contains IP and Netmask of your link
TODO
- make better docs, better sample configs
remove _all_ libc5 bits done, see updated version above
2.4 kernel done, see updated version above
replace wvlan_nocs w/ orinoco_cs driver done, see updated version above
upgrade wireless_tools to a sane version done, see updated version above
- signal strength (perhaps w/LED?)
- easy-config / installation script
- Easy channel config
dmesg
# dmesg Linux version 2.2.16 (till@tillpc.slac.stanford.edu) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #3 Mon Nov 5 15:59:37 PST 2001 Calibrating delay loop... 16.59 BogoMIPS Memory: 3064k/4480k available (748k kernel code, 412k reserved, 220k data, 36k init) Checking if this processor honours the WP bit even in supervisor mode... Ok. Dentry hash table entries: 1024 (order 1, 8k) Buffer cache hash table entriess: 2048 (order 1, 8k) Page cache hash table entries: 1024 (order 0, 4k) CPU: AMD 02/0a stepping 04 Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.2 Based upon Swansea University Computer Society NET3.039 NET4: Unix domain sockets 1.0 for Linux NET4.0. NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP TCP: Hash tables configured (ehash 4096 bhash 4096) Starting kswapd v 1.5 Serial driver version 4.27 with no serial options enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A Registering PPPoE driver RAM disk driver initialized: 16 RAM disks of 4096K size PPP: version 2.3.7 (demand dialling) TCP compression code copyright 1989 Regents of the University of California PPP line discipline registered. eth0: PCnet-ISA II at 0x300, 00 60 1d 1f c5 14, probed IRQ 10, no DMA needed. lance.c:v1.15ac 1999/11/13 dplatt@3do.com, becker@cesdis.gsfc.nasa.gov, T. Straumann 2001 wvlan: WaveLAN/IEEE PCMCIA driver v1.0.6 wvlan: (c) Andreas Neuhaus <andy@fasta.fh-dortmund.de> wvlan: de-PCMCIA by Till Straumann, 2001 wvlan: MAC address on eth1 is 00 00 00 00 00 00 wvlan: Found firmware 0x400003 (64.3) - Firmware capabilities : 0-0-0-0-0 major/minor version number seems too big - probably no card detected! wvlan: Initialization failed (rc: fe)! wvlan: trying to hack CIS wvlan: MAC address on eth1 is 00 02 2d 04 63 d5 wvlan: Found firmware 0x8000A (8.10) - Firmware capabilities : 0-1-1-1-1 wvlan: Valid channels: 1 2 3 4 5 6 7 8 9 10 11 #
No modem support
The firmware that's part of the distro didn't support loading with a missing modem. I've hacked up a copy of the firmware to stop hanging on boot if the modem on a rg1000 has been removed.
You can get it here:
http://www.vilos.com/rg1000/linux
Please let me know if it works for you. This should be rolled into the distro, should it prove useful.
references
Most of the code for this comes from Till Straumann. He's still alive, and just posted some updates:
http://www.slac.stanford.edu/~strauman/pers/airport/airport.html
Has anyone combined AirportLinux with HostAP or HermesAP to create a linux based AP? My interest is to make an active repeater with my current hardware. I'm sure this must be possible with just an AP with a single wlan card (be it with some lowered performance) and not require dual WAP11's or other AP's.
I just discover another project very close of yours in Europe (Belgium), his name is Bubble http://bulles.no-ip.org/bubble/BubbleHome
I'm interested in making my Airport Graphite either a SIP Media Gateway and/or an Answering Machine and/or a Fax/Email gateway. Looks like it's possible using asterix/vgetty/sendmail (since the modem hardware appears to support Voice), not sure if anyone has similar thoughts, or if there's enough memory on the AirPort to support this.
I tried replacing the WLAN card with a ATA flash card (to add a swap partition), but etherboot stops working. Has anyone gotten any luck with this?
==


