This page will explain the roaming concept and ways to evaluate the roaming performance of the Wi-Fi device from HD Wireless.


Roaming means that the Wi-Fi device can switch between access points while physically moving or as a result of link quality changes of access points. The process of switching from one AP to another must be as seamless as possible to avoid glitches in ongoing data transfers.

Roaming will be performed among access points that share the same SSID and encryption configuration. Therefore, the roaming functionality will be transparant to the user of the Wi-Fi driver.

The Wi-Fi device will make it's roaming decision based on a number of different parameters; the current signal strength (RSSI), the noise (SNR), lost data frames, lost beacons, transmission timeouts etc. The roaming decision details are not exposed to the user of the Wi-Fi device and driver.

Obtain and configure necessary hardware

In order to evaluate the roaming performance, the following is needed

  • At least two AP's
  • A wireless network sniffer
Configure the AP's with the same settings, e.g:
 SSID: hdwireless
 Encryption type: WPA2
 Passphrase: hdwirelesskey

Configure the IP address of the AP's so they are on the same subnet, e.g.

 IP address of AP1:
 IP address of AP2:

Connect both AP's to the PC using wired connections. Make sure the PC has an IP address that is also on the same network as the AP's, e.g:

 IP address of PC:

Configure the device software

The wpa_supplicant will be used to control the association and authentication with the access points. The following /etc/wpa_supplicant.conf configuration file template can be used:

    key_mgmt=WPA-PSK WPA2-PSK
    group=TKIP CCMP
    pairwise=TKIP CCMP
    proto=WPA WPA2

Configure the device to use a static IP address, e.g:

$ ifconfig owl0

Then start the wpa_supplicant to allow the device to connect to one of the AP's:

$ wpa_supplicant -Dwext -iowl0 -c /etc/wpa_supplicant.conf -B

Verify the connection using ping:

$ ping -c 3
PING ( 56 data bytes
64 bytes from seq=0 ttl=64 time=1.672 ms
64 bytes from seq=1 ttl=64 time=1.333 ms
64 bytes from seq=2 ttl=64 time=1.342 ms

--- ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.333/1.449/1.672 ms

Perform roaming test

A wireless network sniffer will be used to analyze the length of the data transmission gap that is created while moving from one access point to another. Therefore, first start the network sniffer.

Now start a large data transfer from the device to the PC:

PC> iperf -s
$ iperf -c

Then try to figure which access point the device is connected to, either by checking the sniffer data or maybe easier by checking the traffic leds on the access points. We'll call this access point "AP1".

Now disconnect the power from the AP which the device is connected to. The device should now connect to AP2. This can again be verified either by checking the sniffer data or by checking the traffic leds on the AP's.

After confirming that the device continues the data transfer through AP2, the wireless network sniffer can be stopped. Now try to find the disconnection event and measure the length of time where there is no data frames transferred. This will be the roaming time for this setup.

It should be possible to roam back and forth between AP1 and AP2 by first ensuring that the other AP is up and running and then disconnect the power from the AP which the device is currently connected to.

Roaming test variations

The above test can be carried out with the following variations:

  • Use iperf to transfer data in the other direction (from the PC to the device).
  • Use iperf to transfer data using UDP instead of TCP.
  • Disable/enable WPAx encryption.
  • Smoothly decrease the link quality rather than unplug the power from the AP which the device is connected to.
Topic revision: r2 - 2010-10-14 - 11:03:56 - AndersGrahn

Log In (Admin Only)

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback