I just reconfigured my LEAF Bering uClibc router to act as a wireless access point. Previously my wireless network was operating in ad-hoc mode, which caused some occasional headaches (someone nearby is using a Linksys WiFi router to which my clients occasionally connect. Nothing as bad as what DrBacchus experienced, though, thankfully). The Orinoco Gold card that I’d been using is not supported by HostAP, so I bought a used Microsoft MN-520 PCMCIA wireless adapter for $20. This card uses the Prism2 chipset which is supported by HostAP. (See this page for a rather comprehensive list if you’re looking for one.)
… insert obligatory joke about using a Microsoft product to further my Free Software implementations …
The whole thing was surprisingly easy to set. The only real challenge I experienced was that the LEAF hostap packages do not include the kernel modules necessary! A quick query to the leaf-user mailing list, and I had all the info that I needed. For posterity, here’s what I needed to do.
Download and install the following LEAF packages:
Step 1: configure external interface
auto eth0 iface eth0 inet static address 188.8.131.52 netmask 255.255.255.0 gateway 184.108.40.206
Step 2: configure internal interface
Default: eth1 / fixed IP = 192.168.0.254
auto eth1 iface eth1 inet static address 192.168.0.254 netmask 255.255.255.0 broadcast 192.168.0.255
Step 3: configure WiFi
Default: wlan0 / fixed IP = 192.168.1.254
#auto wlan0 – PCMCIA brings this up iface wlan0 inet static address 192.168.1.254 netmask 255.255.255.0 broadcast 192.168.1.255 up /usr/sbin/hostapd -B /etc/hostapd/hostapd.conf
Configure shorewall: /etc/shorewall/zones:
Install and configure the LEAF squid.lrp package: /etc/squid/squid.conf:
.skippy.net .upsoclose.com .everythinggirl.com .funbrain.com .nickjr.com .noggin.com .paulysplayhouse.com .scholastic.com .citycreator.com transfer.go.com .disney.com .disney.go.com .pbskids.org .care-bears.com .iknowthat.com .hhmi.org .sanrio.com
Configure dnsmasq to provide DHCP addresses to wireless hosts: /etc/dnsmasq.conf:
BACK UP EVERYTHING.
Done. I hope this helps someone else save a little bit of time and effort.