--- title: Troubleshooting Guide for BDYG18Pro Armbian Builder type: curated permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/development/troubleshooting-guide-for-bdyg18-pro-armbian-builder stable_id: a89adf53-4420-43ef-9a95-56567f524ef6 scope: project project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f workspace_type: development usage_profile_id: null preference_context: development document_type: troubleshooting 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:340af5e9-b3e5-423a-9971-b370992738ce: '1' memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea: '1' memory:b70c1a22-6834-4e59-936c-1945b04273b7: '1' source_dispositions: processed: 78 unchanged: 0 unsupported: 47 skipped: 0 cited_source_ids: - memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92 - memory:340af5e9-b3e5-423a-9971-b370992738ce - memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea - memory:b70c1a22-6834-4e59-936c-1945b04273b7 - git:tools/driver/DriverAssitant_v5.14/Driver/x64/win10/rockusb.inf - git:tools/rkdevtool/revision.txt - git:tools/driver/DriverAssitant_v5.14/revison.log 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:36.551871+00:00' updated_at: '2026-09-23T15:03:56.673042+00:00' tags: - issues - fixes - debugging restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 --- # Troubleshooting ## Power‑off hangs **Symptom**: `systemctl poweroff` leaves the board powered on; manual power‑cycle required. **Root cause**: Linux sets `POWER_OFF_NOTIFICATION=LONG` in the eMMC EXT_CSD, putting the eMMC into a low‑power state that the BootROM cannot wake. **Fix**: Enable `syscon‑reboot‑mode` DTB node (adds a clean reboot path) **or** use the `emergency‑reboot.shutdown` systemd script which triggers `sysrq b` hard reset. *Sources*: `evidence/emmc-reset-evaluation.txt`, `evidence/live-system/emergency-reboot.shutdown`. --- ## Network TX storms / low throughput **Symptom**: Massive retransmits, throughput ≈ 1 Mbps. **Cause**: Device Tree enables `snps,tso` (TCP Segmentation Offload) on the GMAC, which the driver mishandles. **Resolution**: Remove the `snps,tso` property from the DTB (kernel 6.18.41). Verify with `ethtool -k eth0` → `tso: off`. Throughput improves to ~30 Mbps. *Sources*: `evidence/live-system/tso-diagnosis-2026-07-31.txt`, `evidence/live-system/tso-fix-verification-2026-07-31.txt`. --- ## GMAC0 watchdog storms **Symptom**: Repeated watchdog messages in the kernel log. **Cause**: GMAC0 is enabled without a physical link, generating spurious watchdog events. **Fix**: Disable GMAC0 in the DTB (set `status = "disabled"`). The system now only uses GMAC1 for the RTL8367S switch. *Source*: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`. --- ## Accidental SPI‑NOR overwrite **Symptom**: Flashing the SPL to SPI‑NOR overwrites the boot region; on power‑cycle the board falls back to MaskROM. **Mitigation**: RKDevTool warns when the target storage is SPI‑NOR. Additionally, the build scripts enforce: - Target verification via SHA‑256 manifest. - Mandatory `flash_erase` before writing. *Source*: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`. --- ## Docker proxy leakage **Symptom**: Proxy environment variables leak into the Docker container, causing network failures. **Solution**: The orchestrator strips proxy vars inside Docker and uses optional `G18PRO_PROXY` only when explicitly set. `.curlrc`, `.wgetrc`, and Git `insteadOf` are also configured. *Source*: Batch 2/16, `4`. --- ## CRLF line‑ending corruption **Symptom**: Files edited on Windows acquire CRLF line endings, breaking scripts inside the Docker container. **Remedy**: Enforce LF line endings via `.gitattributes` and set `core.autocrlf=false`. *Source*: `ff34c6eb-6bba-41e5-9e43-ff80941fa823`. --- ## PCIe BAR allocation failures **Symptom**: Kernel logs report `BAR 0: can't assign; no space`. **Work‑around**: Add kernel cmdline `pci=realloc` (or `pci=assign-busses`). This re‑allocates address windows to avoid overlaps. *Source*: `evidence/vendor-backup/vendor-kern.log.net-lines.txt`. --- ## Rockusb driver installation issues **Problem**: Windows requires a signed catalog (`rockusb.cat`) which is not shipped. **Temporary fix**: Install the driver in **Test‑Signed** mode (`pnputil /add-driver rockusb.inf /install`) or generate a signed catalog using a code‑signing certificate. **Security note**: The INF grants `Everyone` full read/write/execute access (`D:P(A;;GRGWGX;;;WD)`). Consider tightening the descriptor for production environments. *Sources*: `13`, `14`, `15`. --- **References** - `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c` - `evidence/emmc-reset-evaluation.txt` - `evidence/live-system/emergency-reboot.shutdown` - `evidence/live-system/tso-diagnosis-2026-07-31.txt` - `evidence/live-system/tso-fix-verification-2026-07-31.txt` - `evidence/vendor-backup/vendor-kern.log.net-lines.txt` - `4` - `13` - `14` - `15`