Known gaps & limitations

An honest list of what fernweh does not do, and why, grouped by area.

Infrared

  • No IR learning. Android’s ConsumerIrManager is transmit-only — there is no receiver API — so fernweh cannot capture a code from your existing remote. The find-code wizard and the power-code sweep (ADR-0011) are the workarounds.

  • Unrendered protocols. RC6, Kaseikyo and RCA parsed entries are not synthesized — only their raw captures work — so a few Philips / Panasonic sets are thin. RC5 / RC5X are rendered (ADR-0005).

  • IR needs a phone that actually has an emitter LED.

PlayStation

  • PS3 is not controllable over IP (its remote is Bluetooth) — no LAN path.

  • PS4 / PS5 expose only power / wake / standby over the LAN DDP protocol; the full d-pad needs the encrypted Remote Play registration, which is out of scope. Wake also needs a PSN user-credential, and there is no UI to enter it yet.

Awaiting hardware verification

These backends compile and pass mock / unit tests but have not completed a live round-trip on real hardware:

  • Android TV Remote v2 live pairing handshake (the 6467 crypto). The 6466 remote channel is exercised end-to-end (ADR-0007).

  • Fire TV ADB auth path — the android_pubkey byte layout and the "Allow USB debugging?" acceptance flow (ADR-0006).

  • On-device OCR / ML Kit runtime and the Android back-gesture path.

Resolved

  • DIAL vendor over-attribution — a Fire TV once showed up mislabeled as "samsung". Discovery now refines the vendor from the description <manufacturer> and keeps unknown responders as a greyed "detected · unsupported" card instead of dropping them (ADR-0006).