Commit Graph

8 Commits

Author SHA1 Message Date
a52af3b50a feat(netplan): standardize SecuBox LAN to 192.168.10.0/24; bump 1.10.0 (ref #760)
Default br-lan 192.168.1.1/24 collided with common ISP-router LANs
(Freebox/Livebox 192.168.1.0/24) when the appliance sits behind one:
WAN(DHCP)+LAN land on the same subnet -> duplicate route, ARP ambiguity,
unreachable mgmt IP. Observed live on c3box behind a Freebox.

- All board netplans (mochabin, espressobin-v7/ultra, x64-vm, x64-live)
  + VM LANs (vm-x64, vm-arm64) -> br-lan/LAN 192.168.10.1/24
- Generators: secubox-netmodes (inline + router.yaml.j2 template),
  secubox-hub preview, secubox-net-detect
- dnsmasq (espressobin-v7.conf): dhcp-range + option:router + dns-server
- live-usb build scripts + self-signed cert SANs -> IP:192.168.10.1
- Out of scope (untouched): 192.168.255.1 mgmt/trusted-proxy whitelist,
  WAN-probe GATEWAYS lists, remote-ui/round + tests
- Minor "medium" bump 1.9.0 -> 1.10.0 (core build scripts; mochabin-live
  stays on its 2.0.0 track)

Live: c3box br-lan already 192.168.10.1/24 + netmodes template aligned;
gk2 WAN moved to eth2 DHCP @ .200 (Freebox reservation on eth2 MAC).
2026-06-27 17:11:23 +02:00
dd384da66a feat(eye-remote): Add display state machine with splash and fallback modes
Display system for Pi Zero Eye Remote (HyperPixel 2.1 Round 480x480):

Splash Screen (splash.py):
- Animated phoenix logo for boot/halt/start/reboot states
- Pulsing glow effects with fire colors
- Progress indicator ring with rotating dots
- Fallback phoenix symbol if logo image missing

Fallback Display Manager (fallback_manager.py):
- Connection state detection (OTG 10.55.0.1, WiFi secubox.local)
- Four modes: OFFLINE, CONNECTING, ONLINE, COMMUNICATING
- Local metrics radar with 6 concentric rings
- 3D rotating cube with module icons when connected
- Rainbow sweep line animation

Touch Analysis Tools:
- touch_analyzer.py: Noise pattern analysis (Y-axis oscillation at stable X)
- touch_calibrate.py: Corner target display for manual calibration
- touch_filter.py: X-stable noise filtering

Radar Variants:
- radar_flashy.py: Vibrant colors with 3D cube
- radar_concentric.py: Balanced metric arcs centered at 12 o'clock
- radar_rainbow.py: Rainbow colorization with sweep
- radar_full.py: Complete feature set

Also includes:
- Hardware Smart-Strip module specs (SBX-STR-01)
- Host configuration for USB OTG network
- Systemd service for USB auto-mode

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-28 14:48:00 +02:00
cadd993862 fix(build): Add all missing package dependencies to build scripts
All build scripts now include comprehensive package lists so firmware
images are fully ready with all dependencies pre-installed. No need
for apt --fix-broken install after boot.

Added packages:
- Python deps: python3-fastapi, python3-uvicorn, python3-httpx,
  python3-psutil, python3-aiosqlite, python3-cryptography,
  python3-jinja2, python3-jwt, python3-aiofiles, python3-pil,
  python3-tomli, python3-pydantic, python3-jose, python3-toml,
  python3-netifaces, python3-zmq
- Network tools: bridge-utils, traceroute, dnsutils, whois, mtr-tiny,
  nmap, arping, avahi-daemon, avahi-utils, haproxy, qrencode
- Services: crowdsec, glances, netdata, mosquitto, coturn, lxc
- X11 packages: kbd, xinit, xserver-xorg-core, chromium, unclutter,
  x11-xserver-utils
- Additional pip: pillow, zmq, pyjwt, textual

Files updated:
- image/build-image.sh (main ARM/x64 builder)
- image/build-live-usb.sh (x64 live USB)
- image/build-rpi-usb.sh (Raspberry Pi ARM64)
- image/build-ebin-live-usb.sh (ESPRESSObin ARM64 live)
- image/profiles/x64-live.conf (profile with package lists)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-27 16:51:56 +02:00
b115e966b1 fix(network): Remove dummy0 interface causing routing issues
The dummy0 interface was creating unwanted default routes that
interfered with proper network connectivity.

Removed from:
- board/espressobin-v7/netplan/00-secubox.yaml
- board/espressobin-ultra/netplan/00-secubox.yaml
- board/mochabin/netplan/00-secubox.yaml
- image/build-image.sh (systemd-networkd config)
- image/build-live-usb.sh (systemd-networkd config)
- image/profiles/x64-live.conf (kiosk dummy network)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-27 16:45:31 +02:00
76cd7c0d96 feat(remote-ui): Add HyperPixel 2.1 Round dashboard for RPi Zero W
Complete Remote UI implementation for SecuBox status display:

- Python/PIL dashboard with direct framebuffer rendering (no Chromium)
- KMS overlay support (vc4-kms-dpi-hyperpixel2r) - tested working
- USB OTG composite gadget (CDC-ECM + CDC-ACM) for host connection
- 6 concentric rings showing CPU, MEM, DISK, LOAD, TEMP, WiFi metrics
- Auto-start systemd service (secubox-dashboard.service)
- install_zerow.sh for SD card preparation with all fixes

Key fixes discovered during debugging:
- Use KMS overlay, not non-KMS (GPIO conflicts on Bookworm)
- Framebuffer is RGB565 (16-bit), not BGRA
- RPi OS Bookworm requires userconf file for SSH credentials
- NetworkManager ignores ifupdown; use direct IP config

Files:
- secubox_dashboard.py: PIL-based live metrics dashboard
- install_zerow.sh: SD card flasher with KMS overlay
- secubox-dashboard.service: Auto-start systemd unit
- 24 module icons (AUTH/WALL/BOOT/MIND/ROOT/MESH)

Tested on: RPi Zero W + HyperPixel 2.1 Round 480x480

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-15 17:54:09 +02:00
849250c60e fix(kiosk): Use HTTPS localhost (nginx redirects HTTP)
Nginx redirects all HTTP to HTTPS, so kiosk must use HTTPS.
Chromium --ignore-certificate-errors handles self-signed certs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-10 18:24:03 +02:00
c93f7b2858 fix(kiosk): Use HTTP localhost for kiosk mode
- Add missing secubox-kiosk.sh startup script
- Add xinitrc for kiosk user
- Change KIOSK_URL from HTTPS to HTTP localhost (no SSL needed locally)
- Update x64-live profile to install kiosk scripts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-10 17:56:11 +02:00
de77a1aa4e feat(build): Add modular build system and fix package dependencies
Build System:
- Add image/lib/common.sh with shared build functions
- Add profiles for vm-x64, x64-live, rpi400, espressobin-v7
- Add BUILD-SYSTEM.md documentation
- Add splash screens (boot.png, tui-splash.sh, kiosk-loading.sh)
- Add Plymouth theme for boot splash

Package Dependencies:
- Fix python3-uvicorn -> python3-uvicorn | python3-pip
- Fix python3-fastapi -> python3-fastapi | python3-pip
- Fix python3-httpx -> python3-httpx | python3-pip
- Allows packages to install when pip-provided deps are used

Documentation:
- Add Build-System.md wiki page
- Update _Sidebar.md with build system links
- Add VM-Testing.md improvements

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-10 17:31:24 +02:00