Wi-Fi v 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 BCM4318ipw2100 supporting Intel Pro Wireless 2100 chips
iprowifi2200 supporting Intel Pro Wireless
2200BG
2225BG
2915ABGiprowifi3945 supporting Intel Pro Wireless 3945 chips
iprowifi4965 supporting Intel Pro Wireless 4965 chips
marvell88w8335 supporting
Marvell Libertas 88W8310
Marvell Libertas 88W8335marvell88w8363 supporting the 88W8363 chips
ralinkwifi supporting
RT2560
RT2561S
RT2561
RT2661ralink2860 supporting Ralink RT2860
wavelanwifi 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
Connecting to a wireless network
Besides of course unencrypted networks, Haiku has preliminary support for accessing wireless networks via WEP encryption keys. WEP is an early encryption method, although not the most secure.
You can list available networks, join and leave them with the command ifconfig from Terminal:
ifconfig [wifi_device_path] [list|join|leave] (key)
You can find your wifi_device_path in the Network preferences applet, or by executing ifconfig -a.
Below are a few examples of connecting to a wireless network named wifitopia. For these examples we are assuming your wifi network card is /dev/net/iprowifi3945/0.
Listing wireless networks:
ifconfig /dev/net/iprowifi3945/0 list
Joining unsecured wireless network:
ifconfig /dev/net/iprowifi3945/0 join wifitopia
Joining WEP secured wireless network: (ascii password)
ifconfig /dev/net/iprowifi3945/0 join wifitopia mypassword
Joining WEP secured wireless network: (64-bit hex password)
ifconfig /dev/net/iprowifi3945/0 join wifitopia 0x4010FABEEF
Leaving a wireless network:
ifconfig /dev/net/iprowifi3945/0 leave wifitopia
Automatically connecting to a wireless network
To make your system connect to a given SSID at each boot automatically, you can specify your wireless networks and passwords in /boot/common/settings/network/wireless_networks with the following format:
network wifitopia { password mypassword }
If you don't create this configuration file, the system will connect to the first unencrypted network it finds.
- 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 ifconfig)
Šifrovanie WPA
At the moment there is no WPA encryption available in Haiku, though there have been some efforts bringing it significantly closer.
install-wifi-firmwares.sh
To install the firmware for Intel ipw2100, Intel iprowifi2200/2225/2915, Broadcom 43xx & Marvell 88W8335, you need to run
install-wifi-firmwares.sh
The Intel ipw2100 and iprowifi22xx 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.