|84|| |In Madwifi-Old:
|86|| |Matt Jarvis sent the following info on how to use madwifi as an access point. This should please quite a lot of people:
|90|| |Hi Matt
|92|| |I was reading your faq and noticed you don’t have a section on how to use madwifi as an access point. Here are the necessary steps, I use this currently and it works although I am struggling with ath_hal_wait timeouts which causes throughput in 802.11g to be poor. Hopefully someone will fix something in the driver soon to improve performance. For 802.11b access points, the hostap driver is a much more mature solution, and has a massive feature set for this kind of application, just find a card with a Prism2 chipset and away you go. However, if you need 802.11g then madwifi is your only option.
|94|| |Make sure you have bridging turned on in the kernel, either as a module or built in, install bridge-utils (packages are available for many distros, or just roll your own from the sources).
|96|| |#Set the card in master mode
|97|| |iwconfig ath0 mode master
|98|| |#Create the bridge
|99|| |brctl addbr br0
|100|| |brctl addif br0 ath0
|101|| |brctl addif br0 eth0
|102|| |ifconfig ath0 0.0.0.0
|103|| |ifconfig eth0 0.0.0.0
|104|| |ifconfig br0 192.168.0.1
|106|| |The bridge should now be up, test by pinging another machine on either side. Pings may take a few seconds to work, as the bridge has to work out which side each ip address is on.
|108|| |If you can ping both the wired and wireless subnets then the bridge is working, and you are now functioning as an access point. This is an extremely insecure configuration, anyone who can connect to your access point is fully integrated into your network, so use additional security, encryption and authentication of some kind. MAC addresses can be spoofed, but MAC based authentication is at least a protection against casual scanners.
|111|| |Also, Matt (Jarvis) has discovered that the e100 driver (for ethernet cards) does not interact well with the bridging code. A single packet crossing the bridge is enough to cause a kernel panic (he has only tested this with 2.4.22 kernels, but suspects that it may be the case for the whole 2.4 series). To get around this, use the eepro100 driver, which normally manages to work fine.