Skip to content
Back to projects

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.

OpenWrt LuCI status dashboard running on the DIR-855L A1.

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

Interactive Walkthrough

Local educational sample only. No deployed backend, hardware connection, network scan, or embedded interpreter.

Walkthrough not running

OpenWrt LuCI status dashboard running on the DIR-855L A1.
LuCI dashboard
Component side of the DIR-855L A1 circuit board, showing its heatsink, ports, and UART connection area.
Router board
Freenove ESP32-WROOM board used for the serial bridge.
ESP32 bridge