Repository navigation
Releases: JoelMomo/AYN-Thor-WiFi-Recovery
Release list
v0.3.0
v0.3.0
Stable release for the exact firmware compatibility and recovery scope documented in the README.
Changes since v0.3.0-beta17
- Clean up stable release notes (81de1be)
- Document stable 0.3.0 closure (5ecc372)
- Document firmware and real-world maintenance process (b8c5b60)
- Link contributors to maintenance gates (a9b5d35)
- Update bug report example for stable release (92760b4)
- Link support to firmware maintenance policy (f8544d6)
- Make security support policy release-agnostic (5456b97)
- Prepare README for stable 0.3.0 (80f35b4)
- Prepare 0.3.0 stable version (d1d8b14)
- Add physical Thor GIF demos to README (11b3543)
- Document signed snapshot workflow (8d79829)
- Improve contributor and support guidance (3447db6)
- Harden workflow execution and artifact retention (c76d3d9)
- Add private vulnerability reporting guidance (c710c6c)
- Distinguish signed snapshot artifacts (36495f2)
- Document beta17 validation and maintenance (9ad1b1b)
- Update beta17 release status in README (8be0bce)
- Make release version parsing robust (376ffaf)
- Clean up Gradle and Android deprecations (7f24bc6)
- Migrate GitHub actions to Node 24 (d9a2899)
- Migrate setup-java action to v5 (53ea57e)
APK
2ceb77ea293e3cfc317270d7991512a86b6e3c1f50d6e4757cb8f7a7ad5a90eb Thor-WiFi-Recovery-0.3.0.apk
Built automatically from the tagged commit. The workflow verifies the release signature and confirms that the APK has no Internet permission.
v0.3.0-beta17
v0.3.0-beta17
Changes since v0.3.0-beta16
- Merge pull request #4 from JoelMomo/chat/3/locale-validation-final-010224-a6b1 (3073e55)
- Polish tool actions and refresh beta17 screenshots (3b1386b)
- Merge pull request #3 from JoelMomo/chat/6/screenshots-recovery-flow-co-001505-91ea (8dc7250)
- Document the beta17 recovery flow (b08b83a)
- Merge pull request #2 from JoelMomo/chat/2/beta17-release-233544-ba4a (92986f3)
- Refresh beta17 device screenshots (ded4a66)
- Merge pull request #1 from JoelMomo/chat/8/optional-improvements-beta17-225818-4aee (3bf01f4)
- Refine beta17 tools and reporting flow (cbc3251)
- Add beta17 support and reporting tools (cc1926d)
- Refresh English README screenshots (d3ff99e)
APK
149a9e35ff2a645ce2fc8126c527bd02104f186dc6a70b1923487d23ecf637b1 Thor-WiFi-Recovery-0.3.0-beta17.apk
Built automatically from the tagged commit. The workflow verifies the release signature and confirms that the APK has no Internet permission.
v0.3.0-beta16 - Unicode, recovery and branding
v0.3.0-beta16
What's new
- New app branding based on the latest icon, including launcher, adaptive, round and Android 13 themed icons, plus the in-app header.
- Repaired UTF-8 corruption in seven localized resource files.
- Added a CI guard that rejects reversible UTF-8 mojibake.
- Revalidated all 12 UI languages in both dark and light themes on the physical AYN Thor.
- Hardened deep recovery: Wi-Fi is disabled,
vendor.wifi_hal_legacy,wificondandwpa_supplicantare restarted, Wi-Fi is re-enabled, then Android's framework is restarted. - Kept the lower PCI/driver reset out of production after physical testing showed it could leave Android Wi-Fi services stopped during handoff.
- Updated README screenshots and project social preview artwork.
Validation
- Physical device: AYN Thor
- Android 13
- Firmware:
Thor_V1.0.0.377_20260206_165408_user - Unit tests: passed
- Android lint: 0 errors
- Release build: passed
- No
android.permission.INTERNET - No telemetry
APK
SHA-256:
158c97f548990113569af312bee2e6ba1a462ba6508d92ffb872dd1452df3d7d
This is still an experimental community workaround for the .377 Wi-Fi scan lockup, not a guaranteed firmware fix. Save your game before running recovery because Android services/apps are restarted.
v0.3.0-beta15 - UI, localization and diagnostic polish
v0.3.0-beta15
This prerelease rolls up the UI, localization, documentation and diagnostic-animation work completed after beta11.
Highlights
- Polished dark/light UI using Nunito.
- Custom recovery action instead of a stock Android button.
- Improved light-theme liquid-wave contrast and smoother theme transitions.
- Fixed the status-wave reset that occurred when pressing Check Wi-Fi.
- Added a compact + apps link to the developer's GitHub projects without adding Internet permission to the app.
- Removed unused UI helpers, fields, strings and imports.
- Added CI validation that every declared locale matches the default translatable resource set.
Languages
The app now includes:
- English
- Spanish
- Catalan
- Galician
- Basque
- Portuguese
- German
- French
- Italian
- Russian
- Japanese
- Simplified Chinese
Android Spanish variants such as es-419 resolve to the Spanish resource set rather than falling back to English.
Wi-Fi recovery
Recovery behavior remains the adaptive beta11 design:
- framework-only recovery when the lower Wi-Fi path still appears alive;
- vendor Wi-Fi HAL + framework recovery when lower-level evidence is absent;
- delayed verification and one automatic escalation path.
During final beta15 testing on the physical Thor, the real scan lockup was reproduced again. The app detected it correctly and enabled recovery. In that specific reproduction, the firmware remained stuck after the recovery attempts, and the app correctly reported Scanner still stuck instead of claiming success.
This remains an experimental workaround for the stock .377 firmware bug, not a guaranteed firmware fix.
Privacy and safety
- No
android.permission.INTERNET. - No telemetry or analytics.
- No Wi-Fi password collection.
- Recovery is gated to the exact validated firmware.
- Save open games/apps before recovery because Android services are restarted.
Validation
- GitHub Actions CI: passed for the beta15 code commit.
- Unit tests: passed.
- Android lint: 0 errors / 0 warnings.
- Signed release APK installed and tested on the physical Thor.
- All 12 UI languages visually checked on-device in dark and light themes.
- Release certificate SHA-256:
0d901b01a4230283554200ce674999a89bfe16c00388d95d288e4e2ba5933b59 - APK SHA-256:
408baffbdc3401e1d75c985da09d7e5954a899f62fc9c9728741365903df880f
v0.3.0-beta2 - CI, diagnostic report and UI polish
What changed
- Added a sanitized Copy diagnostic report action.
- Added visible app version and detected firmware information.
- Added an Open project on GitHub action without adding Internet permission to the app.
- Added an adaptive launcher icon plus Android 13 monochrome icon support.
- Added GitHub Actions CI for pushes and pull requests.
- CI runs unit tests, lint and a debug build, checks the built APK for
android.permission.INTERNET, and rejects obvious sensitive Wi-Fi logging patterns. - Added a diagnostic-report privacy unit test.
Validation
- 14/14 local unit tests pass.
- Android lint: 0 errors; 2 known warnings (
PServerBinderprivate API reflection and newer Gradle availability). - GitHub Actions CI passed on the release commit.
- Release APK declares no Android permissions.
- Release APK installed and launched successfully on the validated
.377AYN Thor. - The installed APK SHA-256 matched the local signed release build exactly.
Scope
Recovery behavior is unchanged from beta1: the app only enables recovery when the validated .377 lockup signature is confirmed and otherwise fails closed.
Save open work before recovery because restarting Android's framework closes running apps.
v0.3.0-beta11 - Adaptive Wi-Fi recovery
What changed
Recovery
- Added adaptive recovery for the validated AYN Thor
.377firmware. - Uses a framework/runtime restart when the lower Wi-Fi path still appears alive.
- Uses a deeper vendor Wi-Fi HAL + framework restart when there is no carrier and no low-level AP evidence.
- Adds delayed post-recovery verification and one automatic escalation from light to deep recovery if the scanner remains stuck.
- Improved handling of the
WifiSingleScanStateMachinestates exposed by this firmware.
Interface
- Redesigned landscape dashboard for the Thor display.
- Added light/dark themes, a warmer light palette and background gradients.
- Added collapsible technical information, device cards, loading feedback and polished transitions.
- Added a horizontal liquid-style status animation and system haptic/sound feedback.
Diagnostics and privacy
- Keeps exact firmware gating for
Thor_V1.0.0.377_20260206_165408_user. - Diagnostic report remains local and sanitized.
- The APK requests no Internet permission and contains no telemetry.
Physical validation
Tested on the project's physical AYN Thor Max running stock Android 13 / firmware .377.
During testing:
- the Wi-Fi scanner was reproduced in a persistent
ScanningState; - framework-only recovery restored scanning in some cases;
- vendor Wi-Fi HAL + framework recovery restored Wi-Fi association, scan results and
IdleStatewhen the lower stack also needed resetting; - after recovery the Thor automatically re-associated with a saved network and Android again reported nearby APs.
This remains an experimental workaround, not a firmware fix. It has so far been validated primarily on one physical Thor.
Build validation
- GitHub Actions CI: passed on commit
1bbebda. - Unit tests: passed.
- Android lint: passed.
- Signed release APK installed successfully on the physical Thor.
- Release certificate SHA-256:
0d901b01a4230283554200ce674999a89bfe16c00388d95d288e4e2ba5933b59. - APK SHA-256:
8c2ffa38beb1bf2d8bcf411d0209ad7a3f7c95a290a087150e32be45c578af3b.
Important
Save open games/apps before using recovery. Recovery restarts Android services and closes running applications.
Please report whether the issue was recovered successfully and include the app's sanitized diagnostic report when possible.
v0.3.0-beta1 - Safer diagnostics and recovery verification
v0.3.0-beta1
Beta release of the Android recovery app for the AYN Thor .377 Wi-Fi scanner lockup.
Changes
- Exact firmware gate for
Thor_V1.0.0.377_20260206_165408_user. - Read-only
WifiSingleScanStateMachinediagnosis; no Android scan is started by the diagnostic. - Recovery is enabled only when the known lockup is confirmed by
ScanningStateplus an active Wi-Fi link or low-level radio evidence. - Explicit states for Wi-Fi off, missing
wlan0, scanner timeout/error, unsupported firmware, and ambiguous/unconfirmed failures. - Automatic post-recovery verification using a persisted pending state.
- 13 unit tests for diagnosis and fail-closed behavior.
- English and Spanish UI.
- No Internet permission, no Wi-Fi password storage, and no SSID/BSSID logging.
Physical validation
On the validated .377 Thor, the beta detected a persistent ScanningState with active carrier, enabled recovery, restarted the Android framework, and on return automatically verified that the scanner had returned to IdleState. A signed release build was then installed and smoke-tested on the same device.
Important
This is an experimental community workaround, not an official AYN fix. Recovery restarts Android's runtime/framework and closes running apps. Save your game first.
SHA-256: cb0e83053e22fdfa834343299955b96d1315d59708ab324ab761b11b0f6706b9
Signing certificate SHA-256: 0d901b01a4230283554200ce674999a89bfe16c00388d95d288e4e2ba5933b59
v0.2.0-alpha4 - Signed Android app
v0.2.0-alpha4 — signed Android app
This is the first public signed APK for AYN Thor Wi-Fi Recovery.
I validated the full detection → recovery → verification flow on my AYN Thor running stock Android 13 firmware .377.
What the app does
- Reads
WifiSingleScanStateMachinewithout starting another Android framework scan. - Enables Recover Wi-Fi only when the known scan-lockup signature is detected.
- Uses the AYN
PServerBinderroot service for the narrow diagnostic/recovery commands. - Restarts Android's zygote/framework path instead of rebooting the whole handheld.
- Does not delete saved networks or store Wi-Fi passwords.
- Requests no Internet permission.
Important
This remains an experimental community workaround, not an official AYN fix. Save your game before recovery because open Android apps are closed when the framework restarts.
If you installed one of my earlier debug test APKs, uninstall it once before installing this signed build because the signing key is different.
Release certificate SHA-256:
0d901b01a4230283554200ce674999a89bfe16c00388d95d288e4e2ba5933b59
APK SHA-256:
52f9fcd049697e76246a6dc55ed1b978c5c09f146406dafdcd44341d6b18d7b3
v0.1.0 - Experimental Wi-Fi recovery workaround
Initial experimental workaround validated on stock AYN Thor Android 13 firmware .377. Save open apps before running: the Android framework/UI restarts for a few seconds. This is not an official AYN firmware fix.