D-Link DNS320 help needed


I would like to build an OpenWrt image to my old DNS320 nas. At the moment i am using it with Alt-f alternative firmware.
I have read here it is possibile.
Uncorrectable ECC error (image for dlink dns320l)
User RaylynnKnight make it work according to the topic.
I need some help how to do it.


I tried it once years ago on my DNS-320L. You will have to:

  • Set up an OpenWrt build system as described in the Developer Guide
  • Add device support to the kirkwood target. You will have to port the old dts files to the current master
  • Compile and flash

IIRC I flashed mine always via TFTP/serial, but apart from porting OpenWrt, I never used it in production. I used ALARM (Arch Linux ARM) until the device broke.

EDIT: For the DNS-320 (i.e. non-L) the dts is already in the kernel. So you only have to add support for image generation.

Thanx for Your answer.

How can I do that?

Check the Developer Guide: https://openwrt.org/docs/guide-developer/add.new.device

if you don't need openwrt specifically, simply something else than the stock FW, this might help


At the moment i allready compiling OpenWrt. Now i am curious what will be the result. Seen that site earlier but i need a specific program called ps3netsrv. I can install it on Alt-f from entware repo. It is up and running, start at boot but not works properly.(mount iso files only, cannot make virtual iso from folder) I have seen ps3netsrv works on OpenWrt and i allready compiled. I can't compile to entware one and i am afraid the result will be the same on debian armel as well.

Some serarch on the web i made this little how to myself.
Some help needed to set up the correct values to DNS320 at Target System, Subtarget and Target Profile.`

> 1. Prepare the build system
> Pre-requisites
> Debian / Ubuntu
> $ sudo apt update
> $ sudo apt install build-essential ccache ecj fastjar file g++ gawk \
>   gettext git java-propose-classpath libelf-dev libncurses5-dev \
>   libncursesw5-dev libssl-dev python python2.7-dev python3 unzip wget \
>   python3-distutils python3-setuptools rsync subversion swig time \
>   xsltproc zlib1g-dev 
> 2. Get the source
> git clone https://git.openwrt.org/openwrt/openwrt.git && cd openwrt
> Build from main branch:
> $ git branch
> or stable release
> For example, we want to use v18.06.4 
> $ git checkout v18.06.4
> 3. Update and install feeds
> ./scripts/feeds update -a && ./scripts/feeds install -a
> 4. Use config.seed as your .config file
> wget -O .config https://downloads.openwrt.org/releases/18.06.4/targets/kirkwood/generic/config.seed
> 5. Expand .config file
> $ make defconfig
> 6. Apply all necessary changes
> $ make menuconfig
> E.g. for target “TL-WR841N v11” Wi-Fi router do following:
>     “Target System” ⇒ “Select” ⇒ “Atheros AR7xxx/AR9xxx” ⇒ “Select”
>     “Subtarget” ⇒ “Select” ⇒ “Devices with small flash” ⇒ “Select”
>     “Target Profile” ⇒ “Select” ⇒ “TP-LINK TL-WR841N/ND v11” ⇒ “Select”
> To exit OpenWrt configuration and save target with options settings do following:
>     “Exit” ⇒ “Yes”
> 7. Tool Chain
> $ make toolchain/install
> The target-independent tools and the toolchain are deployed to the staging_dir/host/ and staging_dir/toolchain/ directories. This applies to the executables built in the above section as well the pre-built executables available in the SDK. We can adjust the PATH variable:
> export PATH=/home/zole/openwrt/staging_dir/host/bin:$PATH
> 8. Build image
> $ make
> # For faster compiling, use `make -j N`, where N is the number of CPU cores + 1.
> The target image will be generated into ./bin/target/...


You can't via the menu, you need to add support for it first. Have a look at target/linux/kirkwood/image/Makefile
I don't remember if that's sufficient for the kirkwood platform, maybe, maybe not. If you make it right, an entry will appear in make menuconfig.

And please: don't use 18.06, use master.


Seems like little progress on my way. :slight_smile:

Will see the results later.

What about new image OpenWRT for DNS-320L?
We all wait for it!