Increase WiFi Scan Speed

I have a problem. I am developing an Android application that scans wireless access points / routers. I tested several devices and I get a scan speed of 2, 1, 0.5, 0.1, etc. Scans per second.

My goal is up to 10 scans per second, as the router can send beacons 10 times per second. And we need this for our application.

Is there any way to make this possible? Perhapse hack rum and replace wifi drivers? I searched for this, but I can not find anything about this frequency inside the driver.

The driver used is the BCM4329 driver, I can not find any BCM4329 data tables, so it's hard for me to understand this.

Thanks in advance. flitjes

+7
source share
4 answers

I am not familiar with driver development, but I know that this is one of the most difficult in computer science, so if you do not have good knowledge in Linux development, I would forget about it.

In addition, you still need to scan 12 Wi-fi channels to make sure that you detect all access points. The access point transmits a beacon every 100 ms * 12 channels = 1.2 seconds. Spend less time than this and you risk losing access points.

0
source

You do not need to change anything in the device driver, Android allows you to scan access points. See the documentation.

Although the request that many scans are probably not very good for the battery life and responsiveness of your application ...

0
source

Your assumption that the frequency of the beacons is 10 per second is incorrect. This is indeed an AP configuration parameter, although in most cases the default is 10 per second. In addition, APs do not send beacons at the same time, if this happens, this is called a collision, and a delay algorithm is used for retransmission. In addition, even scanning 10 times per second does not allow you to capture all the beacons, as indicated in previous answers.

0
source

If you use the 4339 driver, you cannot set the scan speed in the driver or android api, which is fixed in firmware 4339, scanning is all channels && & & time spent on each channel, according to the specification 80211, which is part of Mac && PHY. in this case, you just need to get the beacon, so you have to use passive scanning and use the fixed channel && & MaxChannelTime u want.

u need to ask broadcom to quickly study your problem,

IEEE Std 802.11-2012 page 978 10.1.4.2 Passive scan If the ScanType parameter indicates passive scanning, the STA should listen to each channel scanned without longer than the maximum duration specified by the MaxChannelTime parameter.

0
source

All Articles