Background
My university has an extremely high density of wifi access points. When I scan for wireless networks an amazing amount of base stations are detected:
$this->bbcode_second_pass_code('', ' # iw dev mlan0 scan dump | grep ^BSS | wc -l
208')
The large amount of detected base stations seems to be causing something in my wireless stack to fail when I try to connect to a wireless network. This message is repeated by wpa_supplicant when the problem occurs:
$this->bbcode_second_pass_code('', 'ioctl[SIOCGIWSCAN]: Argument list too long')
My solution to this has been to kill wpa_supplicant, keep my wifi interface down for atleast 30 seconds, restart it and pray. This seems to be long enough that my system forgets previously detected networks and if I'm lucky it can connect before it detects too many again. I repeat this process several times over the space of a few minutes until I get success.
Who is to blame?
I'm not sure if this error comes from wpa_supplicant or from my kernel not supporting long enough process arguments. Does anyone have any ideas?
Misc system details
Samsung Chromebook (snow) armv7h
wifi is using driver 'wext'