This is an old revision of the document!
DNS-320
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.
Note: Last edited on May 20th 2011 by Anand Kothapeta
Hardware
Additional to the product specifications.
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) |
Kernel | 2.6.22.18 |
Samba | 3.2.8 |
C library | gcc-4.2-glibc-2.5 |
/proc/cpuinfo
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 store-passwd.sh
also because that is functioning differently on our device. It can be found at /ffp/sbin/store-passwd.sh
And make it look like this:
#!/bin/sh 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/.
Changing the port of Web Configuration Utility
Contributed by Anand Kothapeta on 5/20/2011.
I was running two NAS servers (one D-Link DNS-320 and my old PC with FreeNAS) and a web server on a different PC. These are all behind my router. My router and FreeNAS allows you to change the default port for the web configuration utilities. So, I can change them from port 80 and port forward them, and can access the web configuration utilities from internet. However I always have an issue with FreeNAS since it doesn't allow me to change the port and it conflicts with web server. There are some articles on how to change it by running lighttpd, however I found out that DNS-320 also uses the lighttpd to run the webconfig utility. Also those articles change the port to 81. I finally figured out a way to change the port to whatever I wish it to be. Here are the steps. You need to first install the ffp using above articles and links.
1) telnet/ssh login to the DNS-320 box. (see ffp tutorials) and run the following command
cp /etc/lighttpd/lighttpd.conf /ffp/lighttpd_portmod.conf
2) Now edit the /ffp/lighttpd_portmod.conf file and change the following line to lets say 8888 and save the file.
server.port = 8888
3) edit the fun_plug script and add the following lines between fun_plug.local and FFP_RC if conditions.
# run fun_plug.local, if present if [ -x /ffp/etc/fun_plug.local ]; then echo "* Running /ffp/etc/fun_plug.local ..." /ffp/etc/fun_plug.local fi #*** start Mods for different http port for webadmin tool echo "killing lighttpd-angel" kill -9 `pidof lighttpd-angel` echo "killing lighttpd" kill -9 `pidof lighttpd` echo "Restart lighttpd-angel with different port" /usr/sbin/lighttpd-angel -D -m /usr/local/lib -f /ffp/lighttpd_portmod.conf & #*** end Mods different http port # run commands if [ -x $FFP_RC ]; then echo "* Running $FFP_RC ..." $FFP_RC echo "* OK" else echo "$FFP_RC: Not found or not executable" fi
4) Now reboot it.
5) Look at ffp.log to make sure you see the following lines.
killing lighttpd-angel killing lighttpd Restart lighttpd-angel with different port
6) Now open the browser and try http://<ipaddress>:8888/ should take you to the web config tool.
7) Now you can port forward 8888 in your router, and port forward 80 to web server.
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 bootdelay=1 baudrate=115200 loads_echo=0 ipaddr=2.76.88.201 serverip=2.76.88.2 rootpath=/mnt/ARM_FS/ netmask=255.255.255.0
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 fi WORKDIR=$(pwd) export WORKDIR PATH=${WORKDIR}/arm-none-linux-gnueabi-6xxx/bin:$PATH export PATH CC=arm-none-linux-gnueabi-gcc export CC export CROSS_COMPILE=arm-none-linux-gnueabi- CXX=${CROSS_COMPILE}g++ export CXX RANLIB=arm-none-linux-gnueabi-ranlib export RANLIB LD=arm-none-linux-gnueabi-ld export LD STRIP=arm-none-linux-gnueabi-strip export STRIP # gl setup path to mkimage if [ ! -d "ramdisk" ]; then tar -xzf ramdisk.tgz fi PATH=${WORKDIR}/ramdisk:$PATH # gl extract kernel if [ ! -d "linux-2.5.22.18" ]; then tar -xzf linux-2.6.22.18.tgz fi # config our kernel and build it cd ./linux-2.6.22.18 sh cv.sh make clean make menuconfig make make modules make uImage cd ../ # Dlink run merge now if [ ! -d "merge" ]; then tar zxvf merge.tgz fi if [ ! -f "merge/uImage.org" ]; then mv merge/uImage merge/uImage.org fi if [ -f "merge/uImage" ]; then rm merge/uImage fi cp linux-2.6.22.18/arch/arm/boot/uImage merge/uImage cd merge sudo cp ../ramdisk/uRamdisk . ./merge
Other info
The following thread handles some DNS-320 initial conversation, request there if you want some specific info here, or add yourself.
Fan Speed settings
With ffp is enabled, login to the box via telnet and run FT_testing
ex:
/ # FT_testing -H Fan and Temperature Testing Tools Usage FT_testing -H ...Help message FT_testing -T ...Get Temperature FT_testing -F ...Set Fan in Full Speed FT_testing -L ...Set Fan in Low Speed FT_testing -S ...Set Fan Stop FT_testing -A ...Print Receive UART Packet. FT_testing -G ...Get Fan Status. FT_testing -P ...Power off system. FT_testing -R ...Reboot system.
if you need the fan is always off, type:
ps uax |grep fan_control
and kill this process
or
killall fan_control
, and run
FT_testing -S