VREMSoftwareDevelopment / WiFiAnalyzer

Android application to analyze WiFi signals.
https://vremsoftwaredevelopment.github.io/WiFiAnalyzer/
GNU General Public License v3.0
2.73k stars 570 forks source link

Broken by Android update #402

Closed kurahaupo closed 1 year ago

kurahaupo commented 1 year ago

I tried to use the app today to find the best position to set up a client device in a room with marginal wifi coverage, and discovered that the app no longer shows any AP except the one that I'm currently signed into (or none at all), and the AP timeline is completely empty.

Given that it's been completely reliable in the past I can only assume that there's something in a recent Android update that blocks it from functioning correctly.

This is on an Oppo Reno 2z (CPH1951 hw rev 11) running ColorOS 11.1 (rebranded Android 11.1)

I've checked and it has location permission and wifi internet access enabled; what else does it need?

edit: if the answer to the question above does not resolve the problem, then of course there will need to be a longer dialogue, and perhaps I will need to submit a patch.

VREMSoftwareDevelopment commented 1 year ago

FAQ

kurahaupo commented 1 year ago

Yes scan throttling is disabled.

kurahaupo commented 1 year ago

On the same device I can run the"farproc" Wifi Analyzer app, and it doesn't have any problems showing all the access points. Only this "vrem" Wifi Analyzer app fails.

As I mentioned before, I've granted all permissions that have been asked for, and disabled wifi scan throttling, so it would appear that ColorOS 11.0 or 11.1 has added some new permission factor that has to be requested by the manifest to make this app work.

I really want to support open source projects so if there's anything I can do to help, please let me know.

kurahaupo commented 1 year ago

reopen

kurahaupo commented 1 year ago

I've also tried uninstalling and re-installing, just to make sure. Still no go.

VREMSoftwareDevelopment commented 1 year ago

Please provide WiFi Analyzer version

VREMSoftwareDevelopment commented 1 year ago

Changes between 3.0.9 and 3.0.11

kurahaupo commented 1 year ago

3.0.11

VREMSoftwareDevelopment commented 1 year ago

The only suggestion we can provide is to try an older version of WiFi Analyzer.

Older versions are available here or F-Droid

It does look like an issue with phone OS.

Please note that "farproc" Wifi Analyzer app was not updated since 2018.

kurahaupo commented 1 year ago

Ok, I downloaded the 3.0.9 APK and it displays all the Access Points without any problem, so I'll keep looking through the diffs between 3.0.9 and 3.0.11 and let you know if I find anything.

kurahaupo commented 1 year ago

@VREMSoftwareDevelopment I think I've found the culprit: https://developer.android.com/guide/topics/connectivity/wifi-permissions

Under Android 10 or older, or under SDK version 32 or older, the ACCESS_FINE_LOCATION is interpreted as including access to the list of nearby WiFi access point names.

SDK version 33 adds the new NEARBY_WIFI_DEVICES permission, and Android 11 then enforces the requirement for that permission when under SDK version 33.

(I don't know for certain that the enforcement changed between Android 10 and Android 11, but it seems likely since that's when it failed for me.)

VREMSoftwareDevelopment commented 1 year ago

Will be available in the next release