Wifi in Haiku
Expected supported hardware
All of FreeBSD 8 wlan drivers should be working. Any PCMCIA, CardBus, ExpressCard, USB or ISA based cards will not work. Only PCI, miniPCI, PCI-Express, miniPci-Express and PCI-X are supposed to work.
This includes:
aironetwifi supporting at least
Cisco Aironet 350 Series
Aironet PCI4500
Aironet PCI4800
atheroswifi supporting almost every chipset outthere (though no AR9285 chips)
broadcom43xx supporting
BCM4301, BCM4306, BCM4307, BCM4309, BCM4311, BCM4312 and BCM4318iprowifi2100 supporting the 2100 chips
iprowifi2200 supporting
2200BG
2225BG
2915ABGiprowifi3945 supporting the 3945 chips
iprowifi4965 supporting the 4965 chips
marvell88w8335 supporting
Marvell Libertas 88W8310
Marvell Libertas 88W8335marvell88w8363 supporting the 88W8363 chips
ralinkwifi supporting
RT2560
RT2561S
RT2561
RT2661wavelanwifi supporting at least
3Com Airconnect
GLPRISM2 WaveLAN
Intersil Prism3
Intersil Prism2.5
Linksys WDT11
Netgear MA301
PRISM2STA WaveLAN
Siemens SpeedStream
SMC 2602W
Us Robotics 2415
Addtron AWA-100 PCI
WEP encryption
WEP encryption is available through a command-line application setwep. It is a temporary means for joining an unencrypted or WEP encrypted wifi network. setwep works with 64- and 128-bit WEP and supports both text keys as well as hex digit keys (see WEP notes below).
The usage is: setwep device_path [ssid] [key]
Below are two examples. Let us assume your wifi network card is "/dev/net/iprowifi3945/0" and the wireless network is named "haikuwifi".
Example 1: Connect with 64-bit WEP encryption using a hex digit key
setwep /dev/net/iprowifi3945/0 haikuwifi 0x3456789abc
Example 2: Connect to an unencrypted wireless network
setwep /dev/net/iprowifi3945/0 haikuwifi
- 64-bit WEP uses a 40-bit key, which means 5 text characters or 10 hex digits
- 128-bit WEP uses a 104-bit key, which means 13 text characters or 26 hex digits
- hexadecimal digits = characters 0-9 and A through F (prepended with "0x" in setwep)
WPA encryption
At the moment there is no WPA encryption available in Haiku. However, there is some preliminary and unfinished code for implementing WPA available. Some tasks for improving this is to plug it into the wpa_supplicant build process and then fixing compile & runtime issues.
install-wifi-firmwares.sh
To install the firmware for Intel ipw2100, Intel ipw2200/2225/2915, Broadcom 43xx & Marvell 88W8335, you need to run
install-wifi-firmwares.sh
The Intel ipw2100 and ipw22xx will install without an internet connection, as the licensing terms allow Haiku to distribute the original firmware archives. However, they do require acknowledgment by the end-user prior to their installation. The Broadcom 43xx and Marvell 88W8335 will require an active internet connection, as the files containing their respective firmwares cannot be distributed with Haiku.
People building their own Haiku image can modify their build/jam/UserBuildConfig accordingly. Details for that and general updates on the wifi topic are found at the online version of this document.
If you have to download the firmware, but don't have a working internet connection under Haiku, the online version offers a shell script, which will create a zip file for you to extract to Haiku's /boot. After that you'll have all files needed by install-wifi-firmwares.sh.