Featured Project 02 / Embedded Linux / Hardware Bring-up
DIR-855L OPENWRT PORT
OpenWrt 25.12.5 • ath79 • Device Tree • U-Boot • UART / TFTP
Experimental / hardware-tested scope
Project insight
Overview
An unofficial, out-of-tree OpenWrt 25.12.5 port for the D-Link DIR-855L A1, backed by a source patch and a scoped hardware-validation record.
Problem
Bringing up an unsupported router requires correct board wiring, flash layout, image packaging, and a recovery-aware validation path before writing firmware.
My Contribution
Added the ath79 device tree, image recipe, and board configuration; investigated the QCA9558/AR8327 connection and documented installation, validation, and known limitations.

Main Technologies
- OpenWrt 25.12.5
- ath79
- Device Tree
- QCA9558
- AR8327
- U-Boot
- UART
- TFTP
- SquashFS / JFFS2
Key Technical Decisions
- Validated an uncompressed initramfs in RAM through stock U-Boot and UART/TFTP before a sysupgrade flash write.
- Used AR8327 CPU port 6 over RGMII rather than the initially incorrect port 0 mapping.
- Separated observed hardware results from untested features and retained explicit installation and recovery warnings.
Challenges and Solutions
- The first RAM boot reached userspace but LAN ARP failed.
- Corrected the DTS pad modes, strap, and board network mapping to use switch CPU port 6, then repeated LAN and SSH checks before flashing.
- A successful build alone could not establish safe installation or persistent operation.
- Checked image structure and U-Boot checksums, validated RAM-only operation, and recorded installed-flash and controlled-reboot results.
Outcome
Documented repeated flash boots, LAN ping and SSH, WAN 1 Gbit/s link negotiation, DHCP, a default route, and DNS. Both ath9k radios initialized; these observations are not throughput certification.
Limitations / Verification Boundary
- Unofficial and experimental; OpenWrt has not reviewed or accepted the port upstream.
- 2.4 GHz and 5 GHz radio initialization was observed, but association, encryption, throughput, and long-term stability remain untested.
- Not every LAN jack was tested, and sustained NAT throughput was not measured.
- Factory images were structurally checked, not flashed; stock rollback and OpenWrt failsafe were not tested. Recovery assumes working serial input and U-Boot TFTP.
- Bit-for-bit clean-tree reproduction is not demonstrated; the later LuCI-in-image build was not hardware-tested.
- The portfolio boot demonstration is illustrative, not a live router session or an installation guide.
Evidence / Sources
- Source patch: device tree, image recipe, board configuration (opens in a new tab)
- Hardware validation record (opens in a new tab)
- Hardware reference (opens in a new tab)
- Installation and recovery (opens in a new tab)
- Known limitations and upstream status (opens in a new tab)
Reviewed 2026-09-05 / Revision d4c1c457b244
Interactive Walkthrough
Local educational sample only. No deployed backend, hardware connection, network scan, or embedded interpreter.
Walkthrough not running


