DNS 323 - Extend your NAS possibilities with Funplug 0.7



DNS-323 is a great little NAS storage, able to host 4 Tb of data thru 2 SATA hard disks up to 2 Tb each. It offers a lot of embedded possibilities (samba & nfs shares, iTunes server, uPnp server, ...).

Thanks to a very active community, its possibilities can be expanded even more thru a scripting method called fun_plug. It allows to start some more services, shaping the DNS-323 into a very versatile appliance.

This article explains all the steps needed to get the latest Fun_plug 0.7 running on a DNS-323. Once Fun_plug is fully installed, you will be able to install some very usefull extensions like a LAMP server, a Rsync backup server, a Transmission client, ... It also explains how to remove previous Fun_plug 0.5 version, which is a pre-requisite. 

All following operations have been done on a DNS 323 (firmware v1.10) with one or two disks, but no RAID configured.

1. Uninstall Fun_plug 0.5

This section only interests you if you have a Fun_plug 0.5 running on your DNS-323, as both version cannot run at the same time.
Fun_plug 0.3 has to be properly uninstalled, prior to Fun_plug 0.7 installation.

Uninstallation of Fun_plug 0.5 is very easy, but it involves few steps :

  1. On Volume_1 share, rename fun_plug to fun_plug.v05
  2. Reboot your NAS
  3. After reboot, on Volume_1 share, rename ffp directory to ffp.v05

Fun_plug 0.5 is now uninstalled in a reversible way. As you've noticed, all the files are still there.

In case you want to reinstall it, just rename the file and directory with their original name and reboot.

2. Install Fun_plug 0.7

All the commands starting with $ have to be executed from your desktop.
All the commands starting with # have to be executed from the DNS-323 console.

Download following files from http://ffp.inreto.de/ffp/0.7/oabi/ and place them at the root of your Volume_1 network share.

  • fun_plug
  • fun_plug.tgz

Then, reboot your NAS.

If everything has gone fine,you will get a new ffp.log file at the root of Volume_1.


**** fun_plug script for DNS-323 (2008-08-11 This email address is being protected from spambots. You need JavaScript enabled to view it.) ****


* OK

The last line shows that fun_plug is properly launched.

You should now be able to connect via Telnet :

$ telnet your.nas.ip.address

As this telnet connexion is very unsafe without password, we will replace it by a safe, password-encrypted, ssh connection.

Therefore we need an appropriately configured user root, what we we do with the following commands:

DNS 323 console
# usermod -s /ffp/bin/sh root
# mkdir -p /ffp/home/root/
# sed -ie 's#:/home/root:#:/ffp/home/root:#g' /etc/passwd
# pwconv

Afterwards, we will set a new root password and test it by logging in as root.

DNS 323 console
sh-4.1# passwd
Changing password for root
Enter the new password (minimum of 5 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
passwd: password changed.
sh-4.1# login

NAS login: root
No mail.

If you are able to login, you now need to save this configuration in the flash memory, otherwise your new password will be lost after every boot.

DNS 323 console
root@NAS:~# wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh
Saving to: '/ffp/sbin/store-passwd.sh'
100%[======================================================================================================================>] 875 --.-K/s in 0s
2012-05-22 12:29:52 (7.45 MB/s) - '/ffp/sbin/store-passwd.sh' saved [875/875]

root@NAS:~# store-passwd.sh
Saving Userdata to flash storage
Mounting flash ...
Updating files ...
Unmounting flash ...

If you get an error message with "bad address", your NAS internet configuration should not be set properly.

Next step is to :

  1. make ssh daemon executable so that it starts automatically at every boot
  2. start the daemon (to avoid a reboot)

Note that first start may take a while, because on first run ssh generates key pairs.
Therefore some funny looking images are printed. At last, it will start /ffp/sbin/sshd

DNS 323 console
root@NAS:~# chmod a+x /ffp/start/sshd.sh
root@NAS:~# sh /ffp/start/sshd.sh start
Generating public/private rsa1 key pair.
Your identification has been saved in /ffp/etc/ssh/ssh_host_key.
Your public key has been saved in /ffp/etc/ssh/ssh_host_key.pub.


| * E S |
| + = |
| o . |
| . |
| |
Starting /ffp/sbin/sshd

The SSH daemon is now running.

DO NOT close the telnet session to prevent from locking yourself accidentally out of the machine.

From your desktop, open a second SSH session on your NAS :

$ ssh root@ 192.168.x.x

root@ 192.168.x.x's password:
Last login: Tue May 22 12:38:18 2012 from 192.168.x.y

If everything worked well, you've been able to login with your newly set password.

You can now disable telnet (as you have ssh now) with this command :

DNS 323 console
# chmod -x /ffp/start/telnetd.sh

From now, every time your NAS will boot, SSH daemon will be started and Telnet daemon won't.

You are done !

The basic Fun_plug 0.7 extension is now installed and operational on your DNS-323.

3. Declare Software repositories

One of the strengh of fun_plug is the number of applications available as additionnal packages from some specific repository.

All these packages will make life much more simple when it comes to install some software on the NAS.

3.1. Add package sources

Fun_plug 0.7 comes with a brand new software installer called slacker.

We first need to declare all available repositories for slacker in /ffp/etc/funpkg/sites.

The following list is not exhaustive. It is the one available at the time of this article.

The last command will update slacker cache with the content of the new repositories.

DNS 323 console
# echo "mijzelf http://downloads.zyxel.nas-central.org/Users/Mijzelf/FFP-Stick/packages/0.7/oabi" >> /ffp/etc/funpkg/sites
# echo "memiks http://ffp.memiks.fr/pkg/oarm" >> /ffp/etc/funpkg/sites
# echo "kylek http://kylek.duckdns.org:31337/files/ffp/0.7-oabi" >> /ffp/etc/funpkg/sites
# slacker -U

3.2. Update Existing packages

Some pre-installed packages may now be upgradable via slacker.

DNS 323 console
# slacker -u

To be on the safe side, only select packages in the list coming from system repository (package name starting with s:, at the end of the list).

You may select to upgrade system package by packages from other repositories, but it may bring some system instability. Do it at your own risk ...


I've got some reports that package memiks:uClibc-solibs-0.9.33-oarm-2.txz is broken.
Make sure not to select it in any case or your system may become broken.

Update will take place.

4. Install Midnight Commander

One of the first package to install is midnight commander.

It is a very advanced console file manager, which is also providing an inbuilt text editor. It can replace vi, nano, ...

Lets launch the software installer :

DNS 323 console
# slacker -a glib mc nano

From the list, you should see the following packages :

  • mijzelf:glib (library needed by mc)
  • mijzelf:mc (midnight commander)
  • mijzelf:nano

Select them and click OK to install.

You can start midnight commander file manager with :

DNS 323 console
# mc


You can directly edit a file with midnight commander :

DNS 323 console
# mc -e /ffp/start/telnetd.sh



You are now ready to use your DNS-323 to its full potential, installing some very interesting pieces of software.

Hope it will help in many ways ...

Signature Technoblog

This article is published "as is", without any warranty that it will work for your specific need.
If you think this article needs some complement, or simply if you think it saved you lots of time & trouble,
just let me know at This email address is being protected from spambots. You need JavaScript enabled to view it.. Cheers !

icon linux icon debian icon apache icon mysql icon php icon piwik icon googleplus