Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Track functional differences from devicecode v0.9.x and devicecode-lua v0.10.6 to v0.11.2

Offen
#329 0 Kommentare 0 Reaktionen 2 zugewiesene Personen Auf GitHub ansehen

@rslater-cs arbeitet bereits daran.

Seit 03.9.2026.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

Summary

Document functional differences and remaining parity work for the prospective devicecode-lua v0.11.2.

Baselines:

  • devicecode v0.9.x
    • Get Box production baseline: v0.9.2
    • Big Box SS legacy baseline: v0.9.0
  • devicecode-lua v0.10.6
    • Current OCW Big Box SS baseline
  • Prospective devicecode-lua v0.11.2
    • dev at 3328ef0 on 2026-09-03
    • No v0.11.2 tag exists yet

Immediate rollout scope is CM/CM2 and OCW Big Box SS. Get Box differences are recorded as intentionally deferred work. Switch migration is excluded.

Status

  • ✅ Resolved in current dev
  • ⚠️ Remaining difference requiring action or approval
  • ⏳ Intentionally deferred until Get Box migration
  • ℹ️ Architectural/interface change

devicecode v0.9.x → devicecode-lua v0.11.2

Get Box parity — deferred

There is currently no Get Box product configuration or service profile in devicecode-lua.

  • ⏳ Target and hardware support

    • Add a getbox-v1 configuration.
    • Configure the ath79 platform, EC25 modem path, Ethernet ports and 2.4 GHz radio.
    • Define the Get Box service set and builder startup configuration.
  • ⏳ Network configuration

    • Preserve jng and adm networks and their existing addressing.
    • Preserve wired WAN and cellular WAN behavior.
    • Preserve advertisement filtering on the user network.
    • Preserve config.getbox.home, the Unifi record and Starlink administration route.
    • Port Get Box shaping: 2/8 Mbit upload and 1.5/6 Mbit download.
  • ⏳ SIM PIN management

    • Port the automatic SIM lock/unlock lifecycle.
    • Preserve deterministic PIN generation from ICCID and build salt.
    • Preserve /data/configs/locked_iccids.json.
    • Preserve cloud simcheck, offline deferral and post-connect reconciliation.
    • Preserve SIM PIN attempts and lock/unlock failure telemetry.
    • This was released only on Get Box and is not a v0.11.2 blocker.
  • ⏳ SIM balance reporting

    • Port the O2 BALANCE SMS request.
    • Preserve balance/expiry parsing and SMS cleanup.
  • ⏳ Get Box LEDs

    • Port offline, wired-online and cellular signal-strength patterns.
  • ⏳ Device identity

    • Preserve the MAC-derived GetBox-<short-id> hostname and SSID behavior.
  • ⏳ Wi-Fi recovery

    • Decide whether to port or formally retire the watchdog that restarts Wi-Fi after RX traffic remains stalled for five minutes while clients are connected.
  • ⏳ Persistent configuration and profiles

    • Decide how legacy /data/configs/user.cfg and remote.cfg are migrated.
    • Decide whether time-of-day addn profiles remain supported.
Shared and Big Box SS behavior
  • ✅ Big Box SS shaping restored

    • PR #319 restores the legacy 400 kbit sustained, 2 Mbit peak and 200 k burst policy.
    • Included in dev as a43fb3f.
  • ✅ APN selection without GID1

    • PR #328 makes GID1 optional again.
    • Included in dev as 8283b5b.
  • ✅ Transient modem initialization recovery

    • PR #325 adds bounded modem reset/retry behavior and tests.
    • Included in dev as e6bd25e.
  • ✅ Big Box SS USB3 handling

    • The VL805 firmware guard, device migration checks and rollback behavior are preserved.
  • ⚠️ System telemetry

    • board_revision is emitted but has no SS metrics pipeline and is silently dropped.
    • temp is emitted, but SS still configures the obsolete temperature pipeline key.
    • The legacy system.heartbeat metric has no direct replacement.
    • Decide whether heartbeat removal is intentional.
  • ⚠️ General configuration persistence

    • Startup reads the packaged configs/<target>.json.
    • cmd/config/set writes to the state filesystem capability.
    • Product configurations map state to /tmp/devicecode-state.
    • Nothing loads that snapshot during the next startup, so accepted changes do not survive reboot.
    • No in-repository caller currently uses cmd/config/set, making this latent for the immediate OCW release but important before exposing runtime configuration.

devicecode-lua v0.10.6 → devicecode-lua v0.11.2

Remaining behavioral differences
  • ⚠️ OCW system telemetry regression

    The following v0.10.6 cloud metrics are absent in current dev:

    • system.board_revision
    • system.temp
    • system.power_undervoltage
    • system.power_under_voltage_occurred
    • system.power_arm_frequency_capped
    • system.power_currently_throttled

    board_revision and temp have producers but lack matching SS pipelines. The four Raspberry Pi power/throttling metrics no longer have producers.

  • ⚠️ IPv6 policy changed

    • v0.10.6 configured firewall.defaults.disable_ipv6=1.
    • The new fw4-compatible configuration removes that setting.
    • The OpenWrt network renderer defaults network.globals.ula_prefix to auto.
    • Confirm whether local IPv6/ULA should be enabled on OCW.
  • ⚠️ DNS cache size changed

    • v0.10.6: 1,000 entries.
    • Current dev: 10,000 entries.
    • Confirm this increase is intentional for Big Box SS.
  • ⚠️ Speed-test freshness changed

    • v0.10.6 reused results for 10 minutes following a WAN-online transition.
    • Current dev uses path-aware results with a six-hour freshness interval and retry backoff.
    • Confirm the longer interval is intended.
  • ⚠️ Configuration persistence

    • v0.10.6 did not expose general persistent runtime configuration.
    • Current dev exposes cmd/config/set, but its persisted snapshot is not loaded after reboot.
    • Either implement a durable seed-plus-overlay model or document/remove the persistence claim.
Intended or resolved changes
  • ✅ SS shaping changes from the v0.10.6 6/24 Mbit download and 3/12 Mbit upload values to the corrected 400 kbit/2 Mbit symmetric policy.
  • ✅ GID1 is optional during APN selection.
  • ✅ Modem initialization now has bounded recovery attempts.
  • ✅ SNR telemetry is added.
  • ✅ Custom APNs are managed through the persistent GSM control store.
  • ✅ HTTPS MWAN stickiness remains, but is now explicit in product configuration.
  • ✅ Dynamic WAN weighting and speed tests are generation-aware and path-aware.
  • ✅ Daily reboot and USB3 policy remain configured.
  • ℹ️ Network configuration moved to the versioned declarative intent model.
  • ℹ️ Configuration topics now use cfg/<service> with {rev, data} envelopes.
  • ℹ️ Metrics moved from collection subscriptions to obs/v1/<service>/metric/<name>.
  • ℹ️ HAL access moved from direct UCI/driver topics to managed capabilities.
  • ℹ️ Device, HTTP, monitor, UI and wired services were added or substantially rewritten.
  • ℹ️ Development/test target configurations were removed from the production config set; CM2 was added.

Acceptance criteria for v0.11.2

  • GID1-unavailable APN test passes.
  • Big Box SS shaping matches the approved 400 kbit/2 Mbit policy.
  • Modem initialization recovery from PR #325 is merged.
  • Restore or explicitly approve removal of the six OCW system metrics.
  • Confirm the intended IPv6 policy.
  • Confirm DNS cache and speed-test freshness changes.
  • Decide the contract for cmd/config/set persistence.
  • Compare generated v0.11.2 SS UCI against v0.10.6 for VLANs, DHCP, DNS filtering, firewall rules, MWAN, Starlink routing and shaping.
  • Compare cloud SenML output between v0.10.6 and v0.11.2.
  • Run an OCW hardware smoke test covering both modems, USB3 migration, wired WAN, MWAN weighting, shaping and telemetry.
  • Keep Get Box parity tasks tracked but explicitly excluded from the v0.11.2 release gate.
Vorherrschende Sprache
Lua
Sterne
1
Forks
0
Ø Merge
5 T. 15 Std.
Gemergte PRs (30 T.)
3

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Keine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus jangala-dev/devicecode-lua

Alle Issues in jangala-dev/devicecode-lua

Ähnliche Issues

Weitere Issues zu Lua

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.