Skip to content

Troubleshooting

lodordev edited this page Jul 2, 2026 · 1 revision

Troubleshooting

Lodor-NextUI is honest by design: it reports the engine's real result and writes detailed logs. Start with the logs. And remember: B backs out of every wizard step — you're never stuck in onboarding.

Logs

All under Tools/<platform>/Lodor.pak/:

  • last-sync.log — everything: onboarding steps, menu actions, sync runs, per-step engine results.
  • romm-run.log — every engine call (Wi-Fi acquire, clock, host resolution).
  • qr-stderr.log — the Tailscale QR sign-in screen, if that step misbehaves.

None of these contain your token or pairing code — only step names and result codes.

"Connect Wi-Fi in NextUI Settings first"

NextUI owns the radio. Connect Wi-Fi in NextUI Settings, confirm the device has an IP, then open Lodor again. Lodor never turns Wi-Fi on or off itself. Wi-Fi first, then Lodor — that's the order for every network problem below too.

Pairing fails with "invalid or expired code"

Pairing codes are single-use and expire in about 60 seconds. Get the device to the pairing-code screen first, then generate the code in RomM and type it promptly. If you fail several times quickly, wait a minute (RomM rate-limits pairing) and try again. Pairing needs RomM 4.8.0+.

"Couldn't reach your server"

  • Confirm the address and port (re-run Tools → Lodor → Setup / Re-pair — the address field is prefilled with what you last typed, so check it for typos).
  • Confirm RomM is reachable from the device's network — LAN path, Tailscale tunnel up (Tools → Lodor → Tailscale status; if it's down, try Tailscale: Reconnect first), or cf_access block present (Cloudflare path — see Reaching your RomM server).
  • Over Tailscale: a tailscale serve host is HTTPS-only — the server must be https://romm.your-tailnet.ts.net. Plain http:// there is refused and looks exactly like this error.
  • For a self-signed TLS cert, choose Skip verification at the TLS step.

"! Pairing expired — re-pair" banner in the Lodor menu

The server revoked or expired this device's pairing (token deleted in RomM, etc.). Every sync will fail the same way until you re-pair. Select the banner (or Setup / Re-pair) and run through the wizard with a fresh pairing code. Nothing local is deleted — games and saves stay put.

Tailscale sign-in won't complete

  • If the QR won't render, the raw sign-in URL is shown as text — type it into your phone's browser.
  • Check qr-stderr.log for the step's real error.
  • Tools → Lodor → Tailscale: Reset & forget wipes the saved Tailscale login for a clean retry, then re-onboard via Setup / Re-pair → Tailscale.
  • Or skip it: choose Home network / public URL instead and use a LAN/Cloudflare path.

Tailscale was working, now it isn't

  • Tools → Lodor → Tailscale: Reconnect — restarts the tunnel with your saved sign-in and reports the real result ("Reconnected" or the actual failure). Try this before anything else.
  • Still down? Check Tailscale status, then Reset & forget + re-onboard for a clean sign-in.

"Paired — but the token is missing some sync permissions"

Pairing succeeded, but the RomM token wasn't granted every scope Lodor uses for full sync. Regenerate the client token in RomM with all scopes, then re-pair. You can keep using it in the meantime; some sync actions may be limited.

A game won't download on launch

Launching a not-downloaded game shows a real progress bar; on failure the game stays in your library and relaunching retries.

  • Open Tools → Lodor → Sync now to confirm the device can reach RomM.
  • Check last-sync.log for the engine's RESULT downloaded= line and the failure reason.
  • Confirm the game has a real file on the server and the card has free space.
  • You can also fetch it without launching: Game Manager → the game → Download now.

Saves aren't syncing

  • Saves pull before launch and push after quit via the launch hooks. Confirm the hooks wired: <SDCARD>/.userdata/<platform>/.hooks/{pre-launch,post-launch}.d/ should contain the *-lodor-* scripts. Re-open Lodor.pak once to re-wire them (self-healing).
  • Sync one game on demand: Game Manager → the game → Sync save now — it reports exactly what happened ("pushed", "pulled", "already in sync").
  • Run Sync now to flush all pending saves.
  • If the menu shows the pairing-expired banner, fix that first — nothing syncs while unpaired.

"N broken save(s) on server — ignored"

The server has save records whose data is missing or empty ("ghosts"). Lodor excludes them from every pull and restore rather than restoring an empty file over your progress. The message is informational — it explains why an old save isn't offered.

Reset the connection

Delete <SDCARD>/.userdata/shared/Lodor/config.json and open Tools → Lodor — first-run onboarding runs again. Your downloaded games and local saves are untouched. (For a Tailscale device, also Tailscale: Reset & forget if you want the sign-in gone too.)