Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

Applied: manual roaming for Intersil and Symbol firmware: msg#00047

Subject: Applied: manual roaming for Intersil and Symbol firmware
Hello!

I have implemented manual roaming for Intersil and Symbol firmware. The patch has been applied to all branches. It's also attached so that everybody can examine it.

Manual roaming is enabled by the iwconfig "ap" command e.g.:

iwconfig eth0 ap 00:60:1D:01:23:45

It's disabled by "iwconfig eth0 ap any" or "iwconfig eth0 ap off". "iwconfig eth0 ap off" would keep the existing connection while "iwconfig eth0 ap any" would force reconnect. That's what "man iwconfig" says.

The implementation for Symbol is very easy. It has a setting (RID) called MandatoryBSSID. If it's set to the requested address, the firmware scans all channels and associates. Desired ESSID doesn't need to be set.

Things are more complicated for Intersil firmware. Desired ESSID must be set or the firmware will hang. The card won't scan channels and associate automatically. Either the channel should be known, or the scan results must be searched for the channel used by the requested BSSID.

I didn't want to mess with the scanning code, which is very fragile, but I didn't want to force users to set the channel. Fortunately, there is a solution. Scan results on Intersil firmware are available in a separate RID 0xfd88 called ScanResults, so the roaming code doesn't affect scanning in any way.

Lucent/Agere firmware is not supported because there is no documentation for it and the native driver doesn't implement manual roaming.

I haven't tested any userspace roaming software like waproamd. Please test and report problems if any. The changes are quite heavy, but it was the most requested feature.

--
Regards,
Pavel Roskin

Attachment: join_ap.diff
Description: Text document

<Prev in Thread] Current Thread [Next in Thread>