Ok, I figured out what was causing this. When connected to an access point, some wireless adapters go into a "low scan" state (actually, most probably do to a degree). Meaning they don't actually pay attention to access points unless requested to. I switched to a different adapter and I get more access points. I tested the wlanapi, and if you call WlanScan and wait for it to scan, it will return all access points, but if you just call WlanGetNetworkBssList, it returns whatever it happens to notice at that time. Firefox never actually performs a scan, only a cursory glance at what happens to be detected.
On 2014-03-19 10:51, Wesley Hardman wrote: > NetworkGeolocationProvider.js is only receiving 2 APs. Something is either > filtering or lumping them together before it gets there. I'm going to try a > build with WLAN api version 2 (Vista) and see if it makes a difference. > > On 2014-03-19 08:32, Wesley Hardman wrote: >> *** WIFI GEO: Filtering out AP1 >> *** WIFI GEO: Filtering out AP2 >> >> Is it filtering out duplicates? The only place "Filtering out" exists in >> the source code, is for the _nomap filter. Then again, shouldn't have >> filtered ~8? I'll see if I can add additional logging. >> >> On 2014-03-19 05:38, Hanno Schlichting wrote: >>> On 17.03.2014, at 21:30 , Wesley Hardman <[email protected]> wrote: >>>> How does Firefox determine the BSSID list to send for geolocation? I >>>> posted in "GeoIP support, was: Erroneous location" about not getting a >>>> result for 2 APs. The response is that the service requires 3. That's >>>> fine, but as I was thinking about it, why is Firefox only sending 2? >>>> >>>> The setup is: >>>> 3 physical access points (2 with decent stable signal) >>>> each access point broadcasts 2 SSIDs each on 2.4GHz and 5GHz. >>>> >>>> This results in 12 visible access points, with 12 unique BSSIDs, 8 having >>>> a stable signal. Shouldn't it be returning 8 APs? >>> >>> There is apparently a debug mode for WiFi. Steps to activate it: >>> >>> - go to about:config >>> - add a new boolean key named “geo.wifi.logging.enabled” >>> - set it to true >>> - end Firefox >>> - start Firefox from a shell, so you can see stdout (shell output) >>> (I had to start /Applications/FirefoxAurora.app/Contents/MacOS/firefox-bin >>> on a Mac) >>> - go to a website using the HTML5 Geolocation API and allow it to do the >>> request >>> - watch shell output >>> >>> It should give you output like: >>> >>> *** WIFI GEO: startup called. testing mode isfalse >>> *** WIFI GEO: watch called >>> *** WIFI GEO: setting highAccuracy to TRUE >>> *** WIFI GEO: onChange called, highAccuracy = TRUE >>> *** WIFI GEO: ************************************* Sending request: <url> >>> *** WIFI GEO: ************************************* ------>>>> sending >>> {"wifiAccessPoints”:[<wifis>]} >>> *** WIFI GEO: gls returned status: 200 --> {"location":{"lat”: <lat> >>> ,"lng”: <lon>},"accuracy”:<accuracy>} >>> *** WIFI GEO: setting highAccuracy to FALSE >>> *** WIFI GEO: shutdown called >>> >>> The various <…> should be filled with real data. >>> >>> Hope this makes it easier to debug, >>> Hanno >>> >> > _______________________________________________ dev-geolocation mailing list [email protected] https://lists.mozilla.org/listinfo/dev-geolocation
