Skip to content

v0.1.1 - Tiiny 1.0 transport

Choose a tag to compare

@webdevtodayjason webdevtodayjason released this 13 Sep 16:57
· 51 commits to main since this release

Fixes TiinyBench on Tiiny 1.0 firmware (TiinyOS 0.1.34, service 0.1.30), which moved the AI gateway off port 8800 and onto the port 80 vhost router, and whose DHCP lease moves a box's address.

  • Transport negotiation. The service's own port is tried first; only ECONNREFUSED moves that service onto http://<addr>:80 with the Host header for it (p8800.api.tiiny, openai.api.tiiny). A timeout, DNS failure or reset does not. Old firmware keeps working on the direct port.
  • A resolver. TIINY_BASE (TIINY_HOST still honoured), then ~/.tiinyapps/device.json, then --host, then the saved config, then a scan of every USB /30 peer and this host's own /24 on :39218. The scan identifies a box by serial, dedupes a box that answers on both Wi-Fi and USB, prefers the USB address, and refuses to guess when two serials answer.
  • New flags: --host, --serial, --rescan, --where, --version.
  • Fixed: the device's nginx 301 on /api/v1/models sent urllib off the box to a name that answers 502. Redirects are now kept on the address we are talking to.
  • Fixed: the TiinyOS key scrape read only the .ldb half of the app's LevelDB and could pick up a stale key. It now reads the .log half too and ranks candidates by frequency.
  • Result files record the address, plane, transport and both firmware versions.

Every measurement and the report format are unchanged. Standard library only. The suite is read-only on the device except for inference.

Proved against serial TNYM26072400300011Q at 192.168.100.94 on 2026-09-13. Nothing was loaded, unloaded, downloaded or deleted, and no device setting was changed.

🤖 Generated with Claude Code