--- title: BDY‑G18‑Pro Armbian Builder – Maintenance & Operational Procedures type: curated permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/development/bdy-g18-pro-armbian-builder-maintenance-operational-procedures stable_id: 281fe703-8e1a-475c-ac21-3ed9b03eb63e scope: project project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f workspace_type: development usage_profile_id: null preference_context: development document_type: maintenance revision: 1 source_memory_ids: [] source_checkpoint_ids: [] source_file_ids: [] source_git_commit: 36234e0082845515a053c10ee552ce35a03415f0 source_git_commits: - 36234e0082845515a053c10ee552ce35a03415f0 source_agent_sync_ids: [] model_connection: Sub2API model_name: git-restore source_count: 125 source_revisions: memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92: '1' memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea: '1' memory:b70c1a22-6834-4e59-936c-1945b04273b7: '1' memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7: '1' memory:d5cbbc04-5929-4583-90b4-bd6c8295db25: '1' source_dispositions: processed: 78 unchanged: 0 unsupported: 47 skipped: 0 cited_source_ids: - memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92 - memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea - memory:b70c1a22-6834-4e59-936c-1945b04273b7 - memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7 - memory:d5cbbc04-5929-4583-90b4-bd6c8295db25 - git:tools/driver/DriverAssitant_v5.14/Driver/x86/win8/rockusb.inf - git:tools/driver/DriverAssitant_v5.14/Driver/x64/win10/rockusb.inf - git:tools/driver/DriverAssitant_v5.14/Readme.txt - git:tools/driver/DriverAssitant_v5.14/revison.log - git:tools/loader/WHICH-LOADER.txt - git:tools/rkdevtool/Readme_v1.0.pdf - git:tools/rkdevtool/revision.txt job_cited_source_ids: [] conflicts: [] supersedes: [] preferences: [] source_cursor: 0 source_hash: 5fe39ad3a37421f812566dd39f89d4c28fc6078c8d39031dff10eb6eb8d72e00 prompt_version: 2026-08-12.3 schema_version: '3' curation_job_id: null created_at: '2026-08-08T10:02:42.406146+00:00' updated_at: '2026-09-23T15:03:51.623884+00:00' tags: - maintenance - checklist - troubleshooting - known-issues - open-tasks - security restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 --- # BDY‑G18 Pro Armbian Builder – Maintenance Checklist & Known Issues **Workspace**: `BDYG18ProArmbianBuilder` (type **development**) **Scope**: Daily health checks, troubleshooting, and open‑item tracking for the Armbian image and the underlying hardware. --- ## 1. Daily Maintenance Checklist | Check | Desired State | |-------|---------------| | System time (`chronyc tracking`) | offset `< 1 ms` | | CPU temperature | `< 75 °C` | | ZRAM usage (`/dev/zram1`) | ≤ 80 % | | Network offloads (`ethtool -k eth0`) | `tso: off`, `gso: off` | | TCP congestion control | `net.ipv4.tcp_congestion_control = cubic` | | Docker cache volume `armbian‑g18pro‑cache` present | Yes | > Source: `281fe703-8e1a-475c-ac21-3ed9b03eb63e` --- ## 2. Known Issues & Mitigations | Issue | Symptom | Root Cause | Mitigation | |-------|---------|------------|------------| | **Power‑off hangs** | `systemctl poweroff` does not turn the board off; manual power‑cycle required. | `POWER_OFF_NOTIFY` flag left set in eMMC (see *emmc‑reset‑evaluation*). | Use `syscon‑reboot‑mode` DTB node for clean reboot; keep `emergency‑reboot.shutdown` script as hard‑reset fallback. | | **Network TX storms / low throughput** | Upload stalls, many retransmissions, ~1 Mbps throughput. | TSO enabled in DTB (`snps,tso`). | Remove `snps,tso` from DTB (kernel 6.18.41). | | **GMAC0 watchdog messages** | Spurious watchdog logs, possible link storms. | GMAC0 enabled without a physical link. | Keep GMAC0 disabled in DTB. | | **Accidental SPI‑NOR overwrite** | Flashing tool writes to NOR, corrupting SPL. | User selects wrong storage in RKDevTool. | Enforce target verification, SHA‑256 check, mandatory `flash_erase` before any NOR write. | | **Docker proxy leakage** | Proxy env vars leaked into container builds. | Proxy vars passed unchanged. | Strip vars inside Docker; optional `G18PRO_PROXY` variable. | | **CRLF corruption** | Files corrupted after Windows checks out. | `core.autocrlf=true`. | Enforce LF via `.gitattributes`, set `core.autocrlf=false`. | | **PCIe BAR allocation failures** | Kernel logs: `can’t assign; no space`. | Overlapping memory windows on Rockchip PCIe host. | Add kernel cmdline `pci=realloc` (or `pci=assign-buses`). | | **MaskROM fallback after bad flash** | Board resets to MaskROM on power‑cycle. | Boot flag `boot_success` not set after flash. | Verify `boot_success` flag is written; use `syscon‑reboot‑mode` node. | > Sources: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`, `evidence/emmc-reset-evaluation.txt`, `evidence/live-system/tso-diagnosis-2026-07-31.txt`, `evidence/live-system/tso-fix-verification-2026-07-31.txt`, `evidence/live-system/as-shipped-snapshot.txt` --- ## 3. Open Maintenance Tasks | # | Task | Status | |---|------|--------| | 1 | Verify tiny‑SPI SPL can read > 8 MiB from SPI‑NOR. | Unresolved – needs measurement. | | 2 | Capture high‑resolution photos of rear‑side pads (for documentation). | Pending. | | 3 | Add missing RTL8367S interrupt‑controller node to DTB. | Open. | | 4 | Confirm PCIe BAR allocation after adding `pci=realloc`. | Planned verification. | | 5 | Review Rockusb driver security descriptor (currently all‑access). | Open – may tighten for production. | | 6 | Generate and sign `rockusb.cat` to satisfy driver‑signing enforcement. | Unresolved. | | 7 | Update VID/PID list in `rockusb.inf` for new Rockchip boards. | Ongoing as new hardware appears. | | 8 | Test `selfbuilt‑ums` mode (USB‑mass‑storage) for field diagnostics. | Open. | | 9 | Implement post‑flash verification watchdog script. | Open. | |10| Periodically update Armbian to newer kernels (e.g., 6.19). | Ongoing. | > Sources: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`, `8a861a5f-35c3-4f95-bd5b-6b2297888f56`, `13`, `14`, `15` --- ## 4. Preferred Maintenance Practices (Scenario‑Level) - Run the **daily checklist** (section 1) via a scheduled script; log any deviation. - Keep Docker cache volume between builds to speed up incremental builds. - After any flash, immediately verify SHA‑256 of the image and the `boot_success` flag. - When changing DTB or kernel parameters, keep a **git‑ignored** copy of the original for rollback. - Store all secrets (Wi‑Fi passwords, SSH keys) in Vaultwarden; never check them into the repo. > Sources: `ff34c6eb-6bba-41e5-9e43-ff80941fa823`, `bf88c265-4749-4c50-85bc-4bae25298cd5`, `105b328f-4bda-4641-90a7-7282ef156316` --- ## 5. Tags `maintenance, checklist, troubleshooting, known‑issues, open‑tasks, security`