In our situation this was caused by some very unusual roaming behavior in the client devices. The devices we are using Vocollect (Honeywell) T5 are very old devices and thus use an older 2.4 GHz radio. Based on my experience I think beamflex was definitely causing problems for the devices.
Because the handsets were designed for use while walking around a warehouse, and they were created in 802.11b days, they have some pretty sophisticated code going on for how they detect and roam between access points. My best reverse engineering seemed to indicate that they assume that a decrease in signal strength means that someone is walking away from an AP and that they should roam from it and not try that one again for a while. And this seemed to work very will with most of AP vendors that don't have much intelligence going on at the AP. But in a Ruckus environment where the AP's have a lot of RF intelligence going on and beamflex was constantly changing the signal strength for individual APs, the two devices trying to figure each other out was creating havoc.
I'm not a RF engineer, so this may be complete gibberish, but here's what it looked like to me: In watching the packet captures and debug logs, the beacons seemed to be causing the wireless devices great difficultly. Since the beacons are sent out without any client specific beamflexing, the RSSI levels for those would vary greatly from what the client was already seeing. So the intelligence in the device would use RSSI levels in the beacons as a 'picture' of what the environment looked like and then make very bad choices about when and where to roam. (The developers did confirm that the driver code utilizes RSSI from beacons to learn about the environment.). And that accounted for why the devices would roam even when they had great signal strength... because directed packets were coming in a different signal levels than beacons.
Of course the Ruckus gear was working great for the other devices in the warehouse, so I didn't want to break the environment for everyone else.
Also, I should mention the folks at Honeywell were incredibly helpful! They jumped right in with me and put their hardware and software people on the problem which was great.
After spending a ton of time with them looking at packet captures and debug logs, we did end up getting this working with the following settings.
Device side: - Set device for = 802.11b only (this was critical. Even through the devices supported 802.11g, that didn't work reliably). Setting OFDM only on the AP side didn't work reliably either.
- Adjust roam triggers to make the devices wait for a pretty bad signal before roaming.
- Set devices to only scan channels 1,6,11
Ruckus side:- Hide SSID ENABLED (This was critical. It seemed that by hiding the SSID in the beacons, the mobile devices didn't see the AP's at constantly changing RSSI levels, so they got less confused).
- 802.11r, 802.11k, 802.11w disabled
- DTIM 2 (Manufacturer
specific)
- Directed
MC/BC threshold: 1
- Mgmt
TX Rate 1 mbps
- Reduce the AP output strength so that no more that 1 AP per channel is visible at -75 RSSI.
If anyone else is using the vocollect devices... .this is the vocollect device config that ended up working for us with the above ruckus config;
[HKEY_LOCAL_MACHINE\Software\Vocollect\NETWORKD\RadioSettings]
ModulationMode=b
PowerMode=dword:0
[HKEY_LOCAL_MACHINE\Comm\SDCCF10G1\Parms\configs\GlobalConfig]
bLRS=dword:00000421
RoamTrigger=dword:00000046
RoamDelta=dword:0000000F