Roaming
This page will explain the roaming concept and ways to evaluate the roaming performance of the Wi-Fi device from HD Wireless.
Introduction
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: 192.168.2.10
IP address of AP2: 192.168.2.11
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: 192.168.2.100
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:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="hdwireless"
key_mgmt=WPA-PSK WPA2-PSK
group=TKIP CCMP
pairwise=TKIP CCMP
proto=WPA WPA2
psk="hdwirelesskey"
}
Configure the device to use a static IP address, e.g:
$ ifconfig owl0 192.168.2.99
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 192.168.2.100
PING 192.168.2.100 (192.168.2.100): 56 data bytes
64 bytes from 192.168.2.100: seq=0 ttl=64 time=1.672 ms
64 bytes from 192.168.2.100: seq=1 ttl=64 time=1.333 ms
64 bytes from 192.168.2.100: seq=2 ttl=64 time=1.342 ms
--- 192.168.2.100 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 192.168.2.100
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.