Software access point
You will need:
- prism2/2.5/3 pure pci wireless card
- network bridge support compiled in kernel
- wireless-tools from pacman
- get hostap from pacman, http://hostap.epitest.fi/ or http://shadowzerosoftware.ath.cx/hostap-drivers-0.4.7.tar.gz
- untar, make, make install as root
modprobe hostap_pcias root to make sure the module will insert right.
alias wlan0 hostap_pcito /etc/modprobe.conf
wlan_wlan0="wlan0 mode master essid $YOUR_ESSID channel $CHANNEL" WLAN_INTERFACES=(wlan0)to /etc/conf.d/wireless You can also put key $KEY in wlan_wlan0="" to enable WEP. This automates commands to iwconfig.
bridge_br0="eth0 wlan0" BRIDGE_INTERFACES=(br0)to /etc/conf.d/bridges, this automated commands to the bridge module and brctl, the equiv would be
brctl addbr br0;brctl addif eth0;brctl addif wlan0.
- change the network settings in /etc/rc.conf to
lo="lo 127.0.0.1" eth0="eth0 up" wlan0="wlan0 up" br0="br0 $IP_ADDRESS netmask 255.255.255.0 up" INTERFACES=(lo eth0 wlan0 br0)
/etc/rc.d/network restartas root, or just reboot.
This setup works for me to play Mario Kart DS through Nintendo's Wi-Fi Connection. br0 should be given the same settings in /etc/rc.conf eth0 had before. This works for me on kernel 2.6.13-ARCH, hostap-driver-0.4.7, wireless-tools version 28, and a Linksys WMP11 v4 wireless card. Any 802.11b device should be able to connect to this setup, as long as it supports manual ESSID and IP configuration. dhcpd should handle IPs as if it's in charge of a wired LAN, My DS would not automatically detect the ESSID, and I am not aware of a way to activate broadcasting ESSID. It connected just fine when told the ESSID to connect to. WPA seems to be supported by hostap, source files are on the same site as it. I didn't attempt to configure that, as I didn't need it. YMMV, RTFM, have fun.
- UPDATE* The hostap-driver in pacman works, too. Thanks Xentac!
- ANOTHER UPDATE* Hostap-driver is in the 2.6.15 kernel. Also, DCHP requests are passed to the wired connection through wireless, so dhcpd is not needed for this.