802.11b (HOST) AP
Home ] Up ]



I just installed the IPFW2 code on a test machine, and the MAC filtering works like a CHAMP!  I will put it through it's paces over the next couple of days, then I will implement it on my HOSTAP ThinkPad.  Keep your eyes peeled for more information right here!


Well, the 'cisco' cards that I bought off of eBay weren't what they were advertised to be, so I returned them.  In their place, I was able to buy 3 cards from my local Circuit City.  One is a CF 802.11b card for my iPAQ, and the other two are Netgear MA401 models.  Well, when I got home, I found that the Netgear cards weren't exactly MA401's, they were MA401RA models!  GRRR!  I had to create a special entry in /etc/pccard.conf to accomodate that model.  No big deal.  Here it is...

# Netgear MA401RA
	card "NETGEAR MA401RA Wireless PC" "Card"
	config	auto "wi" ? 0x10000
	insert	/etc/pccard_ether $device start
	remove	/etc/pccard_ether $device stop

This is just a copy of the entry in /etc/defaults/pccard.conf, with the obvious name change.  It seems that the model change from MA401 to MA401RA is meant to signify the change in Prism chip.  The MA401 has the Prism II chip, and the MA401RA has the Prism 2.5.  Anyway, it still works great with the wi driver, and is configurable via wicontrol or ifconfig.

Right now, I am using an old ThinkPad 760EL as the access point, with one Netgear MA401RA, and a 3COM 589.  Because FreeBSD does the interface configuration before pccardd starts, I wrote a script that resides in /usr/local/etc/rc.d called hostap.sh.  Here are the contents of that shell script:


case "$1" in
	echo "sleeping for 15 seconds while pccardd gets started..."
	sleep 15
	echo "done sleeping, finishing configuration of access point..."
	/sbin/ifconfig ep0 inet netmask 0xffffff00
	# assign ip address to wi0 if routing, leave unassigned if bridging
	# /sbin/ifconfig wi0 inet netmask 0xffffff00
	/sbin/ifconfig wi0 ssid MYSSID stationname HOSTAP channel 4 media DS/11Mbps mediaopt hostap wepkey 0x12345678901234567890123456 wepmode on
	/sbin/sysctl net.inet.ip.forwarding=1
	/sbin/sysctl net.inet6.ip6.forwarding=1
	/sbin/sysctl net.link.ether.bridge_cfg="wi0 ep0"
	/sbin/sysctl net.link.ether.bridge=1
	# the next two sysctl's are only significant on a system with IPFW2
	/sbin/sysctl net.link.ether.ipfw=1
	/sbin/sysctl net.link.ether.bridge_ipfw=1
	/bin/sh /etc/rc.firewall.hostap
	/bin/sh /etc/rc.firewall6.hostap
	/sbin/natd -f /etc/natd.conf -n ep0
	/sbin/route add -inet default
	/sbin/route add -inet6 default 1234:1234:1234:1234::1
	echo "."
	echo "nothing to do to wi0 when shutting down"
	echo "."
	echo "Usage: $_ {start|stop}" >&2

exit 0

I am anxiously awaiting the release of FreeBSD 4.7, which will include the new IPFW2 code.  This will allow layer 2 filtering to be performed by IPFW, which will provide an added layer of security since I will be able to statically define the MAC addresses of my wireless NICs within the IPFW2 configuration!

More to come.....


I am starting a project to build a 802.11b Access Point using FreeBSD.  I just bought two Cisco 4800 802.11b cards off of eBay today (2002/09/24) and hope to have them by this weekend so that I can play!

The goal is to eventually run multiple AP's within a single logical wireless IP network which will facilitate roaming from AP to AP without the need to renew IP address leases from the central DHCP server.  I hope to one day establish a public wireless network in the city where I live (Lakeland, FL, US) which will provide free Internet access to anyone with a 802.11b network card.  Maybe even 802.11a or 802.11g in the future!



My name is Michael Oliver, and I can be contacted by email here.
The current time is Monday, 19-Feb-2018 19:27:21 UTC.
This page was last modified on Friday, 11-Mar-2011 21:01:58 UTC.
This page has received 1229 hits since February 01 2009.