Skip to content

Releases: JoelMomo/AYN-Thor-WiFi-Recovery

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 13:24
2144afb

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 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 23:31
3073e55

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

Choose a tag to compare

@JoelMomo JoelMomo released this 18 Sep 18:43

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, wificond and wpa_supplicant are 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

Choose a tag to compare

@JoelMomo JoelMomo released this 18 Sep 03:03

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

Choose a tag to compare

@JoelMomo JoelMomo released this 17 Sep 20:11

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 (PServerBinder private 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 .377 AYN 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

Pre-release

Choose a tag to compare

@JoelMomo JoelMomo released this 17 Sep 23:53

What changed

Recovery

  • Added adaptive recovery for the validated AYN Thor .377 firmware.
  • 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 WifiSingleScanStateMachine states 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 IdleState when 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

Choose a tag to compare

@JoelMomo JoelMomo released this 17 Sep 19:45

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 WifiSingleScanStateMachine diagnosis; no Android scan is started by the diagnostic.
  • Recovery is enabled only when the known lockup is confirmed by ScanningState plus 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

Pre-release

Choose a tag to compare

@JoelMomo JoelMomo released this 17 Sep 18:54

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 WifiSingleScanStateMachine without starting another Android framework scan.
  • Enables Recover Wi-Fi only when the known scan-lockup signature is detected.
  • Uses the AYN PServerBinder root 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

Choose a tag to compare

@JoelMomo JoelMomo released this 17 Sep 07:49

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.