This is an old revision of the document!


This page will share some more information about the ShareCenter Pulse (DNS-320).
Take a look at the DNS-320-Page on NAS-Tweaks for further Pictures.

Note: This page is in progress, as of today (November 22nd 2010) the device is still pretty new.


Additional to the product specifications.Front view of the DNS-320

CPU 800 MHz Marvell 88F6281 (Kirkwood)
RAM 128 MB
USB 1 USB2.0 Port (front)
LAN Marvell 88E1118R-NNC1
Cooling Speed controlled 40mm fan ? (verifying)
Samba 3.2.8
C library gcc-4.2-glibc-2.5

Processor       : ARM926EJ-S rev 1 (v5l)
BogoMIPS        : 791.34
Features        : swp half thumb fastmult edsp
CPU implementer : 0x56
CPU architecture: 5TE
CPU variant     : 0x2
CPU part        : 0x131
CPU revision    : 1
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 16384
I assoc         : 4
I line length   : 32
I sets          : 128
D size          : 16384
D assoc         : 4
D line length   : 32
D sets          : 128

Hardware        : Feroceon-KW
Revision        : 0000
Serial          : 0000000000000000

Serial PIN Layout

BusyBox break-in code is still 5784468

Jumper: JP3
TX [5]
GND [4]
VD33 [3]

RX [1]

Setting up ffp

There is a complete Tutorial on the Installation of ffp available on NAS-Tweaks: Installation of fun_plug 0.5. If you want to do everything yourself instead, just follow the instructions below.

To get the fonz fun_plug running some small changes to the available ffp fun_plug file are needed.

Search and replace all entries of /mnt/HD_a2/ with /mnt/HD/HD_a2/.

Then follow the normal instructions of how to install ffp.

shadowandy has provided modified ffp package for DNS-320 here

Another article in German on installing fun_plug 0.5 can be found here

Once installed and running you might want to set-up ssh and change the root password. (for example this)

But to need to change also because that is functioning differently on our device. It can be found at /ffp/sbin/

And make it look like this:


echo "Copying files to /usr/local/config/..."
cp -f /etc/passwd /usr/local/config/.
cp -f /etc/group /usr/local/config/.
cp -f /etc/shadow /usr/local/config/.
cp -f /etc/samba/smbpasswd /usr/local/config/.

Setting up Debian in chrooted enviroment

D-Link has recently put a prebuilt Debian Squeeze package on their ftp site. The package size is approximately 150 MB. Read the instruction inside.

Source code for firmware

Dlink have release source code for firmware 1.0 on their ftp site. The source code size is approximate 25 MB

U-BOOT Configuration

You can access the boot console (for trying to run your own kernel) via a netconsole, the boot settings are:

bootargs=root=/dev/ram console=ttyS0,115200 :::DB88FXX81:egiga0:none
bootcmd=nand read.e 0xa00000 0x100000 0x300000;nand read.e 0xf00000 0x600000 0x300000;bootm 0xa00000 0xf00000

Building a Custom Firwmware ("ROM")

D-Link provides a complete build environment on its ftp server that lets you create your own firmware images easily. Untar it and run

 source build_fw 

this will result in a file “DNS320-firmware” in the merge folder, which can be flashed to the unit via the webinterface (firmware update). Right now the build_fw script does not do a full rebuild of the complete firmware, it rather puts together precompiled binaries that come with the built environment. Here is an attempt at rebuilding the build script. This blog post describes how to assemble a firmware image for the DNS-323 and will probably helpful for the DNS-320 as well.

Use this custom build_fw to make a custom settings for the kernel

# Dlink build envorment it only works on x86 arch (32Bits) 

if [ ! -d "arm-none-linux-gnueabi-6xxx" ]; then
   # directory did not exists unpack it
   tar zxvf arm-none-linux-gnueabi-6xxx.tgz

export WORKDIR
export PATH
export CC
export CROSS_COMPILE=arm-none-linux-gnueabi-
export CXX
export RANLIB
export LD
export STRIP

# gl setup path to mkimage
if [ ! -d "ramdisk" ]; then
  tar -xzf ramdisk.tgz

# gl extract kernel
if [ ! -d "linux-" ]; then
  tar -xzf linux-

# config our kernel and build it
cd ./linux-
make clean
make menuconfig
make modules
make uImage
cd ../

# Dlink run merge now
if [ ! -d "merge" ]; then
 tar zxvf merge.tgz

if [ ! -f "merge/" ]; then
  mv merge/uImage merge/

if [ -f "merge/uImage" ]; then
 rm merge/uImage

cp linux- merge/uImage

cd merge
sudo cp ../ramdisk/uRamdisk .

Other info

The following thread handles some DNS-320 initial conversation, request there if you want some specific info here, or add yourself.


Personal Tools