Overo Wifi

From Gumstix User Wiki
Jump to: navigation, search

Overo Air, Fire, FE, AirSTORM, FireSTORM and IronSTORM COMs have a 802.11(g) wireless module "on board". This page gives some details about the hardware and software configuration for the wifi module on these COMs.

Hardware

This section gives some infos about various hardware related topics regarding Overo and Overo STORM Wifi.

Module

The wifi solution is based on an Wi2Wi chip based on Marvell's industry leading 88W8686 which brings 802.11(b/g) wifi.

MMC

Overo's WiFi port connected to MMC port 2 in 4 bit configuration.

Connector and Antenna

For 802.11b/g (Wifi) to work on an Overo Air COM or Overo Fire COM, a u.fl antenna must be connected to J2 on Overo Air or Fire COMs. The location of J2 is shown here.

Note: J3 is the antenna location when using BlueTooth. J3 also takes a u.fl antenna.

Note that two (2) u.fl antennae come with each Overo Fire COM and with each Overo Air COM.

Software

Official Overo pre-built Linux images or developer images contain already support for Overo Wifi. However, wifi configuration depending on your local wifi environment still has to be done.

There is also a thin-firmware driver and firmware that permit you to utilize the mac80211 drives in the Linux kernel. This is useful if you want to experiment with running an AP, 802.11s mesh, or other types of experiments on your Overo.

Boot messages

At Overo boot, you should get something like

...
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc1:0001:1: firmware: requesting sd8686_helper.bin
libertas_sdio mmc1:0001:1: firmware: requesting sd8686.bin
libertas: 00:19:88:05:b5:31, fw 9.70.3p24, cap 0x00000303
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: eth0: Marvell WLAN 802.11 adapter 
...

Note: The two “command 0×00a3 failed” messages are harmless, and have to do with features that are not supported.

Test

For test of basic functionality, do the following at command line (after log in as root / no password):

root@overo:~# iwconfig wlan0 essid any
root@overo:~# ifconfig wlan0 up
root@overo:~# iwlist wlan0 scan

what should list the wifi's visible, then.

Unencypted wifi

Some default builds do not enable any Wifi. You may need to edit /etc/network/interfaces to include a section which looks like:

allow-hotplug wlan0                                                             
auto wlan0                                                                      
iface wlan0 inet dhcp                                                           
        pre-up /sbin/iwconfig wlan0 essid any                                   
        wireless_mode managed                                                   

The problem is this setup is not reliable! we're waiting for a solution.

WEP encryption

  • Edit /etc/network/interfaces to have only for wlan0 (don't touch the other entries):
iwconfig wlan0 essid "My Wireless Network"
iwconfig wlan0 key my-hex-key
ifdown wlan0
ifup wlan0

WPA encryption

  • Edit /etc/network/interfaces to have only for wlan0 (don't touch the other entries):
allow-hotplug wlan0
iface wlan0 inet dhcp
      pre-up wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -B
      down killall wpa_supplicant

There is an error in the current /etc/network/interfaces as of 2011-09-25. The pre-up line reads:

      pre-up wpa_supplicant -Dmarvell -iwlan0 -c/etc/wpa_supplicant.conf -Bw

The "-Bw" causes a usage message to be dumpted to the screen. Make sure it is just "-B". The -Dmarvell option will yield the message "Unsupported driver 'marvell'. Change it to "-Dwext" as shown above.

My /etc/network/interfaces came this way from the factory, and was also that way in my build from the latest git.

  • Create /etc/wpa_supplicant.conf containing:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1

network={
      ssid="add-your-ascii-ssid"
      proto=WPA2                 # try WPA RSN if you WPA2 fails
      key_mgmt=WPA-PSK
      pairwise=CCMP TKIP
      group=CCMP TKIP
      scan_ssid=1
      psk="add-your-ascii-passphrase"
      priority=10
}

Connect to network

To connect to the wireless network when the configuration is done, do the following:

  • Take down the wireless network (it might already be down, but try to be sure):
# ifdown wlan0
  • Then, bring it up again:
# ifup wlan0

Issues

Many users have reported issues with wifi data throughput being limited to about 100kB/second. It is theorized this is due to lack of SDIO IRQ support in the OMAP3 MMC driver. A patch is being investigated which reportedly achieves 13Mbps.

Additionally, the driver does not support power management at present. The use of iwconfig power commands such as the following will fail:

iwconfig wlan0 power on

Therefore, the wifi module always consumes close to 1 Watt of power when turned on.

NetworkManager

If NetworkManager is installed, this would probably not work. Check if it is installed by:

# opkg list_installed | grep networkmanager

If it is installed, remove it:

# opkg remove networkmanager

This if NetworkManager is not needed. NetworkManager uses a different configuration.

Links