Connecting to wireless networks

Haiku has growing support for connecting to wireless (Wi-Fi, 802.11) networks and currently supports connecting to unencrypted, WEP encrypted and WPA encrypted wireless networks. However, because WEP encrypted wireless networks are not very secure, it is recommended that you configure your router and Haiku to use WPA.

Pre-requirements

  • Haiku R1 Alpha 4 (R1A4) or later
  • A supported 802.11 wireless network device

The firmware installer

Some wireless network cards require binary firmware modules to operate. Haiku cannot include some of these proprietary firmware files due to licensing issues. Haiku does however include an easy script which will retrieve and install all of the needed proprietary bits for you. Generally if you are planning to use wireless networking it is a good idea to run this to ensure your system has all the proprietary network code it might need.

If you are unable to access the Internet due to the lack of wireless firmware binaries, please check out the offline method of running the firmware installer.
  1. Open the Haiku Terminal
  2. Type install-wifi-firmwares.sh Enter
  3. Review the licenses and accept them to install all of the available firmware files

Connecting to a WEP or WPA wireless network

Haiku has support for accessing wireless networks via WEP encryption keys and WPA encryption keys. WEP is an old encryption method that is not the most secure. Therefore it is recommended that you use WPA.

If you are unsure on what to enter for your wifi_device_path, you can look at the Network preferences applet, or execute ifconfig -a in the Haiku Terminal.

Below are a few examples of connecting to a wireless network named wifitopia. For these examples we are assuming your Wi-Fi network card is /dev/net/iprowifi3945/0. All commands have to be exexcuted in the Haiku Terminal.

Listing wireless networks:

ifconfig /dev/net/iprowifi3945/0 list

Joining WEP or WPA secured wireless network using an ascii password:

ifconfig /dev/net/iprowifi3945/0 join wifitopia mypassword

Joining WEP or WPA secured wireless network using a 64-bit hex password:

ifconfig /dev/net/iprowifi3945/0 join wifitopia 0x4010FABEEF
WEP encryption keys
WEP encryption keys are password strings used to identify one's self to a wireless network and to encrypt data sent to the wireless network. A WEP password key can be a fixed length string or hexadecimal number.

  • 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)

WPA encryption keys
WPA encryption keys don't have a fixed length. For security's sake, a minimum of 8 characters is recommended, however.

Leaving a wireless network:

ifconfig /dev/net/iprowifi3945/0 leave wifitopia

This doesn't work WPA yet!

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/system/settings/network/wireless_networks with the following format:

    network wifitopia {
        password mypassword
    }

Alternatively, you can put your ifconfig command to join your wireless network into the UserBootscript at /boot/home/config/settings/boot/.

Notes

Offline download of binary firmware files.

If you do not have Internet access, you can install your wireless hardware's firmware by manually copying the remote files listed below onto your system, then running install-wifi-firmwares.sh.

If you cannot obtain the binary firmware files via the install-wifi-firmwares.sh script (for example due to lack of Internet connection within Haiku), you can also download this shell script, and run it from any other OS that has wget and zip. The script will download the needed files and will create a zip file that is to be extracted to Haiku's /boot. Once unpacked, execute the install-wifi-firmwares.sh script to install the firmware files.

Wi-Fi hardware support

To support a large number of wireless cards with reduced legwork, the Haiku wireless network drivers are FreeBSD wireless drivers wrapped in code to translate them to the Haiku driver subsystem.

Non-Supported Hardware

  • aironetwifi at least
    • Cisco Aironet 350 Series
    • Aironet PCI4500
    • Aironet PCI4800
  • The following Broadcom 43xx devices:
    • bcm4311: vendor 14e4, device 4311
    • bcm4312: vendor 14e4, device 4315
  • As of R1A2, only PCI, PCI-X, PCI-Express, Mini PCI, and Mini PCI-Express devices are expected to work. PCMCIA, CardBus, ExpressCard, USB and ISA devices do not have the needed glue code to operate at this time.

Supported Hardware

All of FreeBSD 9.3 WLAN drivers except aironetwifi should be working.

  • atheroswifi supporting almost every Atheros chipset out there (Except for the AR9285)
  • broadcom43xx supporting
    • Broadcom BCM4301
    • Broadcom BCM4306
    • Broadcom BCM4307
    • Broadcom BCM4309
    • Broadcom BCM4311
    • Broadcom BCM4312
    • Broadcom BCM4318
  • ipw2100 supporting Intel Pro Wireless 2100
  • iprowifi2200 supporting
    • Intel Pro Wireless 2200BG
    • Intel Pro Wireless 2225BG
    • Intel Pro Wireless 2915ABG
  • iprowifi3945 supporting Intel Pro Wireless 3945
  • iprowifi4965 supporting Intel Pro Wireless 4965
  • marvell88w8335 supporting
    • Marvell Libertas 88W8310
    • Marvell Libertas 88W8335
  • marvell88w8363 supporting Marvell 88W8363
  • ralink2860 supporting Ralink RT2860
  • ralinkwifi supporting
    • Ralink RT2560
    • Ralink RT2561S
    • Ralink RT2561
    • Ralink RT2661
  • 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