Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#329 0 comentarios 0 reacciones 2 asignados Ver en GitHub

@rslater-cs ya está trabajando en esto.

Desde el 3/9/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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.
Lenguaje dominante
Lua
Estrellas
1
Forks
0
Merge medio
5 d 15 h
PR fusionados (30 d)
3

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Sin Dockerfile ni archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de jangala-dev/devicecode-lua

Todos los issues de jangala-dev/devicecode-lua

Issues similares

Más issues de Lua

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.