HDD-Installation of the fun_plug 0.7 on NAS-devices

The Firmwares of various NAS-Devices includes a very interesting bonus: the user can execute a script (file) named “fun_plug” when the OS is booted. Unlike all the other Linux software which is loaded when the NAS boots, this file is located on Volume_1 of the hard disk rather than within the flash memory. This means the user can easily and safely modify the file because the contents of the flash memory is not changed. If you delete the fun_plug file (see here for instructions), or replace your hard disk, the modification is gone.

Fun_plug allows the user to start additional programs and tools on the NAS. A Berlin-based developer named “Fonz” created a package called “ffp” (Fonz fun_plug), which includes the script and some extra software which can be invoked by fun_plug.

Installation of fun_plug is easy and takes only a few steps. These steps should be performed carefully, as they depend on typed commands and running with “root” privileges.


Purpose, risks, and benefits

Fun_plug is essentially a technique to stepwise turn a NAS with fixed out-of-the-box functionality into an open Linux machine on which you can install additional software packages and, if you want, learn a bit about Linux.


This also implies that you are (temporarily or permanently) turning a stable turnkey system into a system that the respective vendors no longer supports. This is similar to buying a notebook with Microsoft software, and installing Linux on it. The shop where you bought it can no longer help you if you claim the audio no longer works. Although there is a Tutorial on how to disable and even remove fun_plug, and although the authors have tested their recipes, checked the wording and added warnings, these are advanced tools which can, if you experiment more than your own know-how can handle, give advanced problems.

Risks involved in all this are not so much damaging your hardware (shouldn’t be possible), but loss of reliability of the NAS (you bought a file server to reliably store files, didn’t you). This risk may be acceptable because the software was preintegrated and tested by competent people. But you yourself are, at the end of the day, responsible for deciding to use this.

Possibly a less obvious, but more real risk is that some kind of extensions to the NAS (e.g. adding a server) imply that you may decide to open your local network a bit to the outside world. For example, to allow others to view your holiday videos stored on the device. The out-of-the-box NAS can already have this problem (via the ftp server). The point here is that you are responsible for the security of your device and entire network. This site doesn’t even have tutorials on basic security issues like firewalls, etc. because these are all NAS independent and the tutorials would never be foolproof anyway. So when used wrongly, the NAS and firewall obviously do allow others to read more data than you intended. Or to delete your valuable data. Or to replace software by other software (chance is small, but the impact is high).

Conclusion: as the NAS is a powerful networked device, and as these tutorials can help you make it even more powerful, you are responsibility for having the basic understanding of networked security. Again, this also applies to an out-of-the-box NAS. But the more you mess with it, the more you need to apply some common sense. This is incidentally the reason why we provide some explanation on what you are doing in the tutorials, rather than just telling you what to type 😉


The main reason why people go this route is to extend their NAS with servers such as BitTorrent clients or Web servers. Other typical uses are to add extensions which fix current limitations of the device (e.g. time accuracy, fan noise).

Technical synopsis

In a first step, we install a script named fun_plug that provides a hook to extend the boot process of Linux on the NAS. That hook was intentionally added by the vendor to enable this. But the vendors do not document or support all of this.

An initial set of packages (downloaded as a single compressed archive) gives you enough tools to get started and, if you are curious about the machine or its software, to carefully look around.

This set of tools gives you the ability to install even more software packages (typically servers) from trusted sources. These packages should obviously all have been compiled for the processor in the NAS and should have been tested on the device (or a very similar device) by a software expert.

Steps for installing fun_plug


The NAS needs to have a valid network configuration. Check the gateway & dns-servers to be valid. If the NAS receives the network configuration via DHCP it should be correct in most cases. If you receive the error “wget:bad address `wolf-u.li`” (or similar / other domains) the configuration needs to be checked.

Please ensure that the internal “Remote Backup” Services is deactivated. This server is shipped with newer NAS like the DNS-320/DNS-320L/DNS-325/DNS-345 and conflicts with the SSH-Server of the fun_plug. If you want to use the Backup-Service, please take a look at this tutorial after you have executed the installation of the fun_plug.

Determination of the correct fun_plug

Fonz has decided to build to version of the fun_plug for different devices. The Types are “EABI” and “OABI” which you can determine by clicking on the description of your device here. Then search for “Application binary interface” in the details.

ATTENTION: The release notes of the D-Link DNS-320L Firmware 1.06 show: “Fun_plug script was removed according to security issue and no longer to be supported.” Therefore this version is NOT supported, please downgrade if you want to use ffp.


Download the latest files:

Ensure that these two files are named fun_plug (not fun_plug.sh) and fun_plug.tgz (not fun_plug.gz or fun_plug.tar.gz or fun_plug.tar).

Place both files in the topmost directory of Volume_1 of your NAS. If you use Windows Explorer it could look like this or this or similar. If you are running a different OS like Linux or MAC OSx, please ensure that the file fun_plug is marked as executable (chmod 777).

Option: view the fun_plug script

For fun, you may want to open the file fun_plug. If your are on Windows choose Notepad++ or any other “better” Editor. Avoid using Windows’ Notepad for viewing/editing Linux text files: Windows and Linux use different end-of-line conventions. Please be careful not to accidentally modify it.

The script fun_plug is an ASCII file with commands which are executed by the Linux command interpreter (sh for “shell”).

Lines starting with “#” are comments (“#!/bin/sh” is a special case).

You might be able to decode that the program creates a log file called ffp.log (an ASCII file used here to capture the lines which start with “echo”).

Firstly, a number of named constants are defined for various file names and fragments of file names (the lines like “FFP_SOMETHING=...“).

You can see that Fonz developed it for a D-Link DNS-323 (rather than a Conceptronic CH3SNAS, but this doesn’t matter as Uli, PeterH and others have tested in on the CH3SNAS).

The command date will copy the current date and time to the log file.

Next, a first script setup.sh is run if it is found in the expected /mnt/HD_a2/.bootstrap/ folder. Initially it will not be found.

Then a new directory “ffp” is created (mkdir) and the fun_plug.tgz file is unpacked (tar) into that directory. This step is a bit more complex than normal due to a problem with the tar version supplied with the NAS. As a workaround tar is run twice (first the older version, and then the tar version which was untarred from fun_plug.tgz).

If all went well, the log file gets an extra “OK” string. And the tarball input file is deleted (rm). This obviously only happens once (the script skips the unpacking if the tarball file is not found using the if [condition]; commands fi construct).

The “chown” is about changing ownership for a program called busybox. And “chmod” is about changing access privileges.

Then, a script file /ffp/etc/fun_plug.init (“containing the ffp-scripts package”) is executed if it is detected.

Next, a script file /ffp/etc/fun_plug.local is executed if it is detected. It can be used to add your own startup commands: it will not be overwritten by package updates.

Finally, a script file /ffp/etc/rc is run if it exists.


Reboot the NAS by holding down the power button 5 seconds or via the web interface (Mostly ”Tools” -> ”System” -> ”Reboot” or similar somewhere in the menu of the webinterface). This causes the NAS to go and find the file fun_plug on Volume_1 and execute it.

Option: view ffp.log

If you are interested, you will find that the fun_plug.tgz tarball has disapeared, and has been unpacked into the newly created ffp directory.

You will also find the ffp.log file created during execution of the fun_plug script and while executing some of its commands. It is longish (e.g. 47 KBytes) because the tar program generates a lot of warnings about repairing links (this only happens once). You can view the log file with WordPad or NotePad++.

From now on, whenever the NAS is rebooted and thus the fun_plug script is re-executed, the script appends about 15 extra text lines to the end of this log file. These contain the date/time of reboot and the status of various servers which you may enable in the future (see below). This appending of information to ffp.log gives you one way to determine whether fun_plug is really running: if you last reboot of the NAS is listed, fun_plug and any servers that it actives are running.

Note that the end of the initial log file already states that a server called telnetd is already running. We will use Telnet in the next step.

Connect via telnet

Telnet Session
Telnet Session
After rebooting, you need to connect to the NAS using a protocol called Telnet. Telnet allows you to “login” on a remote machine via a command line window.

Windows users can use an open-source telnet client called PuTTY. PuTTY is a self-contained program: the PuTTY.exe file can be stored wherever convenient and executed without any prior installation. In the PuTTY configuration screen you need to set the following before pressing Open:

  • Host name (or IP address): use the name of the share (e.g. CH3SNAS) or its IP address
  • Select Connection type “Telnet” (which defaults to port 23)

Now you can press Open (PuTTY can save these settings under a default or name if you want, but you will likely be using ssh instead of telnet later on). In PuTTY these setting could look like this:
Installation of the fun_plug 0.7
Linux users are “supposed to be” familiar with how to use telnet.

After connecting to the device, the first line telnet will show:

/ #



If this doesn’t show up, type “5784468” to get this prompt.
Installation of the fun_plug 0.7
If you can see the prompt, you are logged in. This command “prompt” is where you can type in commands. The prompt shows you are in the root directory. Note that Linux command lines are not very communicative. These Rambo-like social skills are generally attributed to Linux’ resource-deprived childhood.

Change root password

We proceed with updating /etc/shadow by using the program pwconv. It uses /etc/passwd to generate the necessary lines in the shadow-file. Also the default shell will be changed. Additionally the home-directory of root is changed to a permanent one:

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

This could look like this:
Installation of the fun_plug 0.7


  • If the following error comes up when using “usermod”: "usermod: no changes", just ignore it. In this case the shell is already set to the correct one.
  • If the following error comes up when using “pwconv”: "pwconv: failed to change the mode of /etc/passwd- to 0600" just ignore it and proceed.

Now we need to change the password of user “root” to prevent unauthorized access.
Run the passwd command and enter a new password twice (note that Linux passwords are case-sensitive):


Now check if everything went right using:


This could look like:
Installation of the fun_plug 0.7

If this was successful, proceed to the next step, otherwise return to “passwd“.

Store the password in the NAS. This step is essential, otherwise your password will be cleared on the next reboot! Also when you change the password of any user using the commandline, run the following store-passwd.sh again!

wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh

This could look like this:
Installation of the fun_plug 0.7

Activate SSH

Now activate SSH (secure shell: telnet has major security limitations). Such lines can best be copied line-by-line or together into PuTTY:

chmod a+x /ffp/start/sshd.sh
sh /ffp/start/sshd.sh start

First Connection with SSH
First Connection with SSH
Note that executing sshd.sh takes a while to execute and generates three pairs encryption keys for secure communication between the CH3SNAS and a remote client (computer). Each pair has a “fingerprint” for the public key and a corresponding graphical “randomart” image. The fingerprint for the RSA encryption algorithm will incidentally show up again in the next step.

As shown in one of the pictures, the first time you connect to this new (as far as ssh is concerned) machine, you will get a stern warning from ssh. This is because ssh expects to be connecting to this machine through an encrypted connection (now and likely in the future). But ssh wants to be sure that you are connecting to the intended machine rather than to an imposter (“man-in-the-middle”) and has no way of knowing if this is the case. Assuming that you are connecting to via your own (safe) LAN, you don’t need to worry whether the presented identification (public-key fingerprint) is the right one. If you need to connect over the internet (very unlikely) or are paranoid (unlikely), you can follow the confirmation procedure described in this website.

Note that this step associates the name and IP number of your NAS with this public key (this is stored on your computer). This means that during future ssh sessions to this machine the confirmation of the public key is done automatically.

Logging in using SSH

Now you can try to login using an ssh session as user root. This involves starting a second copy of PuttY.

Once you were logged in sucessfully, you can deactivate telnet using:

chmod -x /ffp/start/telnetd.sh

SSH Session
SSH Session
If the login was not successful, please check that you executed all necessary steps from above. If you still cannot login, please contact us below in the comments.

Note that at this point telnet is actually still running, but it will stop working the next time you reboot the NAS (DO NOT REBOOT YET!). Once you have tested that the ssh server and the associated root password, and encryption keys are working fine you can turn telnet off.

sh /ffp/start/telnetd.sh stop

Now what?

Congratulations! With the last step, you’ve installed your fun_plug 🙂 Now you need to execute a few steps to be able to install more packages.

First the sources for packages are installed:

wget http://wolf-u.li/u/441 -O /ffp/bin/uwsiteloader.sh
chmod a+x /ffp/bin/uwsiteloader.sh

After entering the last line a menu pops up:
uwsiteloader - 1
Press “Enter”
Press “Enter”. Now a screen pops up where you can choose the sites.

To choose an entry, you need to mark it with the arrow-keys on your keyboard and then press spacebar to activate it. It is activated if there is [*] in the first characters of this line. Please choose at least “fonz” and “Uli”, otherwise the tutorials on this website will not work. At the end choose “OK” and press “Enter”.
uwsiteloader - 4

Press “Enter”
uwsiteloader - 5
Press “Enter”. This executed the update of the sites to see the current packages. This will not execute a installation. Now you need to install one more package before executing your next reboot:

slacker -UaA uli:uwchmod

To see what this package is about, you can go here.

You can now follow additional tutorials or (carefully) look around using the command line!


Fun_plug and user accounts

Note that the initial execution of the fun_plug script creates a new user group utmp.

The script that installs the ssh server creates a new user named sshd and adds the user to utmp. This user is for internal use only, and has no ability to login. It is standard procedure when installing OpenSSH, and believed to be safe.

On a NAS, user sshd also shows up as having read-only ftp access to Volume_1. Although it is doubtful that this user really can access ftp, this seems to be a bug and is being investigated.er group utmp.

The script that installs the ssh server creates a new user named sshd and adds the user to utmp. This user is for internal use only, and has no ability to login. It is standard procedure when installing OpenSSH, and believed to be safe.

On a NAS, user sshd also shows up as having read-only ftp access to Volume_1. Although it is doubtful that this user really can access ftp, this seems to be a bug and is being investigated.

415 thoughts on “HDD-Installation of the fun_plug 0.7 on NAS-devices”

  1. i have dns-325, with 2 hdd, simple format, volume 1 and volume 2
    when i placed fun_plug and fun_plug.tgz in volume 1 (as per instructions) nothing happened! placed them in volume 2 and it worked. would that affect your commands to install twonky 7?

      1. If possible, can you please brief me why it worked on volume_2 instead of volume_1 contrary to what is explained in the tutorial


    1. Hi Uli,

      Thanks for your guides, it’s been really a great help fore newbies like me 🙂

      I have followed the instruction for fun_plug installation on a DNS-320L step by step, except for this:

      Note: For the D-Link DNS-320/DNS-325/DNS-345, you need a different store-passwd.sh script. See this entry for further details

      and now I seem to be having issues to ssh to my device with this message in telnet:

      Permissions 0777 for ‘/ffp/etc/ssh/ssh_host_ecdsa_key’ are too open.
      It is required that your private key files are NOT accessible by others.
      This private key will be ignored.
      bad permissions: ignore key: /ffp/etc/ssh/ssh_host_ecdsa_key
      Could not load host key: /ffp/etc/ssh/ssh_host_ecdsa_key
      Disabling protocol version 2. Could not load host key

      I have managed to regenerate the key pair but now it says and it says :

      Your identification has been saved in /ffp/etc/ssh/ssh_host_ecdsa_key.
      Your public key has been saved in /ffp/etc/ssh/ssh_host_ecdsa_key.pub.

      Starting /ffp/sbin/sshd
      /ffp/var/lib/sshd must be owned by root and not group or world-writable.

      also when i check the sshd.sh status it is not runnig and I can not get it to in order to make an ssh connection via Putty.

      Can you please help me? Putty keeps saying Network Error:Connection refused and is driving me crazy.


      1. After long hours of trial I found the issue.
        You just need to add these lines in /ffp/start/sshd.sh file: (Use Notepad++ or AkelPad so that the formatting (Unix) won’t change)

        chmod 0700 /ffp/etc/ssh/ssh_host_key
        chmod 0700 /ffp/etc/ssh/ssh_host_rsa_key
        chmod 0700 /ffp/etc/ssh/ssh_host_dsa_key
        chmod 0700 /ffp/etc/ssh/ssh_host_ecdsa_key
        chmod 0700 /ffp/var/lib/sshd

        right BEFORE this line
        proc_start $command

        also change this:
        if [ ! -f /etc/ssh/ssh_host_ecdsa_key ]; then
        to this:
        if [ ! -f /ffp/etc/ssh/ssh_host_ecdsa_key ]; then

        OR SIMPLY DOWNLOAD MINE EDITED: Here from Mediafire
        Even better if Uli includes this one in the package.

        You’re welcome.

        1. Hey Stefan, thanks for the fix! It was a huge help.

          You didn’t by chance manage to also figure out how to fix debian squeeze for the DNS-345 did you? I’ve been trying to install it following a tutorial over at nasdestruction.com, but I can’t log in to Debian using SSH and I was wondering if it was a similiar issue?

          I have been digging for days to try and figure this out, and I’m very much stuck.

        2. Hello, help

          I am already install all and all working, but if i try ssh from my laptop cant and from inside working, can help how fix this.

          2295 ? Ss 0:00 /ffp/sbin/sshd
          sh-4.1# ssh
          The authenticity of host ‘ (’ can’t be established.
          ECDSA key fingerprint is 85:3c:80:9c:ab:53:f8:3d:5b:d7:c8:2c:54:46:91:ad.
          Are you sure you want to continue connecting (yes/no)? yes
          Warning: Permanently added ‘’ (ECDSA) to the list of known hosts.
          root@‘s password:

  2. Hallo!

    Installiert habe ich es ohne Probleme, allerdings finde ich in meinem Ordner keine mediatomb.sh und habe dementsprechend auch kein mediatomb (und deswegen hatte ich erst einmal installiert).

    Da ich echt nicht so firm bin: Finde ich irgendwo eine Anleitung, wie ich mediatomb unter fun_plug 0.7 installiere?

    Danke und Grüße,

  3. Hi there, I have installed fun_plug on my DLINK DNS-320, it works perfectly the first time i use it, then, when i restart it, it dont work anymore, i followed the exact instructions and it dont work any long, thanks uli.

      1. I cant use telnet anymore with it:

        telnet: connect to address Connection refused
        telnet: Unable to connect to remote host

          1. sorry for asking questions all the time!!, this is the message i get now…

            Someone could be eavesdropping on you right now (man-in-the-middle attack)!
            It is also possible that the RSA host key has just been changed.
            The fingerprint for the RSA key sent by the remote host is
            Please contact your system administrator.
            Add correct host key in /Users/NICOLAS_macbookpro13/.ssh/known_hosts to get rid of this message.
            Offending key in /Users/NICOLAS_macbookpro13/.ssh/known_hosts:1
            RSA host key for has changed and you have requested strict checking.
            Host key verification failed.

          2. Remove the offending key from “/Users/NICOLAS_macbookpro13/.ssh/known_hosts”, then it will work. Background is, that you have probably reinstalled the ffp and that there was ssh activated before. Now the ssh-server has a different fingerprint which does seem as if the connection between you and the macbook was corrupted or interrupted. But as you know that this is not the case, simply remove the “old” key.

            Best Regards,

  4. Hello Uli,

    Does the latest version of fun_plug come with the same pre-installed packages in version 0.5?

    I’m very interested in mediatomb



    1. Hello Firas,

      there are a number of packages available, nearly the same as with 0.5 if you have a newer device. With older devices like the dns-323 i really don’t know as i havent compiled any packages for this environment (will do, but haven’t tried yet).

      Hope this helps.

      Best Regards,

      1. Seams that it boots from drive mapped to HD_a. Maybe there’s some other mechanism that tries to boot from Volume_1 instead of HD_a’s partition… but it at least sometimes fails. If it boots fun_plug from volume_2… switch bays.

  5. Hi,

    I own a DNS-325 with fun_plug 0.5 plus Twonky 6 installed.
    How can I update to fun_plug 0.7 ?



    1. Remove everything and installed it from scratch. Unfortunately there is no way to upgrade to ffp 0.7 and twonky 7

      Best Regards,

  6. For some reason the download of fun_plug.tgz gets renamed to fun_plug.gz

    I’m not sure why this is happening, but it tripped me up for a while when trying to install 0.7. I thought that 0.5 wasn’t cleanly uninstalled for a while.

    The error message that is logged in ffp.log is: /ffp/etc/rc: Not found or not executable

    1. Thanks Sean, was pulling my hair out unable to figure out what the “Not found or not executable” , renaming it .gz >> .tgz did the trick

  7. Hi,
    first of all thanks for your great work !
    I just wonder if the folowing “tar problem” also applies to DNS-320 and DNS-325 :
    ” […] due to a problem with the tar version supplied with the NAS […] tar is run twice (first the older version, and then the tar version which was untarred from fun_plug.tgz)”

  8. wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh
    geht bei mir nicht, bekomme einen timeout. allerdings kann ich ohne probleme etwas anpingen.
    hatte das ssh packet erneut runtergeladen und dann einfach weitergemacht, allerdings war die passwd trotzdem leer. ich kann es manuell runterladen, bekomme es aber wegen fehlender schreibrechte nicht reinkopiert.
    any hints?

    1. sorry wrong language…
      wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh
      did not work, i get an timeout. but i can ping everthing in the www.
      i download the ssh package with the package manager and start over. after restart cant log in (passwd empty). if i download the passwd.sh manualy i can copy it into the correct folder because of the rights…

  9. Just ran install on a DNS-321 and it worked like a charm (discounting Chrome adding the “.txt” extension to the fun_plug script and my paranoia causing me to reboot the NAS after enabling SSH to verify its startup functionality before disabling Telnet).

    Except for one little problem: I did not pay sufficient attention to the directory structure at your end and so I installed OARM rather than ARM and only belatedly saw the note “oarm is obsolete. Please use the oabi variant instead”.

    Gee…wish that directory wasn’t even there.

    So now I can report that the fun_plug removal script at https://nas-tweaks.net/59/removing-the-fonz-fun_plug/ works like a charm, too – and that the installation procedure for the ARM version of fun_plug on a DNS-321 also works like a charm. 8^)

  10. Hello. What’s the difference between version 0.5 and 0.7. I have the DNS 320, which version should I install?

  11. Hi Uli
    Hopefully you can help? I installed funplug and everything seemed alright. Today I attempted to log back into my NAS using putty to try and create a symlink for my Volume_1 but I cant remember the password I created. Can I reset the password and start again?

    1. Yes you can, download this file, place it next to fun_plug. Then reboot. This will only reenable telnet, so you can set the password and disable telnet again.

      Best Regards,

  12. Hi guys.
    Just tried the installation (putting the two files on the root of Volume_1 of my DNS 343) and after restarting, nothing happened.

    The files are there and the .TGZ file wasn’t decompressed to the FFP folder.

    Do I need to do something before? I just bought it, installed the two drives and formated as JBOD.

    Thanks in advance.

    1. I just did the same thing and found the same as you. I made the fun_plug.sh executable for all and the same thing happened – nothing!

        1. Exact same issue. fun_plug.tgz does not unpack on reboot because fun_plug not being executed. Both sitting in top directory. Win 7 will not let me save fun_plug without a file extension. Any thoughts. Many thanks

          1. What is the error Windows 7 is giving you? you could rename it via the console?


          2. Clicking on the link opens the standard save as browser box with the file name ‘fun_plug.*’. Clicking ‘save’ with this file name gives no response at all. The same occurs if I save without the *. If then Ireplace * with an extension (txt for instance) I can save into volume 1 but removing the file extension in explorer just gives ‘invalid file extension’ error. Thanks for your help

  13. Hi;

    Just tryng installation, and in the first step usermod -s reply user ‘root’ does not exist. In ffp.log seems to be all fine. Any advice? Can´t change any privileges.

    Thanks and regards.

  14. I have installed fun plug two or three times and each time I get this message in the log file:

    /ffp/etc/rc: Not found or not executable

    I am working on a DNS 320 with 2 x 2TB drives linked in a Raid 0 format, any ideas?

  15. I’ve DNS 325 and version 0.5 installed, there’s any way to upgrade to version 0.7 without remove previous version?

    Thanks and regards.

  16. I went through the steps and all seemed to go well until I diconnected the telnet session and restarted my DNS-320, I connected via telnet (SSH) which was ok, logged in as root and entered the password I set earlier but I kept getting Access Denied. I have reset through the web portal and through the power button but the problem persists, have I missed something?

  17. How can I find which packages are available for 0.7? I am looking to modify a DNS-320 into a Network Video Recorder. This needs an application such as Motion which has depenadancies such as mySQL.


    1. hi Erin…

      did u get any solution for NVR. I had some cameras and I wanna record on my DNS-320 too..

      feedback will be appreciated.

      Txs. walteroa

  18. Hi, My DNS-320 had been working perfectly until this morning when one of my CentOS clients couldn’t use the NAS hosted home directory. I inititially had this problem when I didn’t have the ffp nfsd.sh enabled but having started that all was well until today. Anyway, I tried rebooting the box and have now lost ssh access. What should I be looking at to find out what’s gone wrong?

    1. In the great tradition of answering ones own question….. I rebooted the NAS box again and ssh is re-enabled, I thought I tried a second reboot this morning but maybe not. I’d still like to know where I should go to look for problems if this happens again.

  19. Hi Thanks for this great work.. Now i realy like mine dns-320!
    Only 1 problem, the password does not stay after reboot?
    I run the storepass sh but after sec reboot still no password stored..

    Any Idea?

        1. Same problem. Have you fixed this? I’m looking the store-passed script to understand what it does, but still nothing.


          1. Same for me. I never found the solution since 2 year. After reboot, password is gone.
            I have read all this forum and more, to understand, many tests including full reset, … No way.
            Finally as workaround, I keep a copy of passwd files (after store-passwd.sh script execution) and I copy them during the startup script fun_plug. at each startup!

            # password
            cp -f ..passwd /etc/passwd 
            cp -f ../shadow /etc/shadow
            cp -f ../group /etc/group
            cp -f ../samba/smbpasswd /etc/samba/smbpasswd

            Quick and dirty, but it works.

  20. Hi,
    I have made a big mistake-
    For some idiotic reason i made an error and did not start SSH. I did however restart the NAS!
    I tried to uninstall ffp with provided instruction but cannot login with putty on SSH or telnet.
    Can you help me regain access to my drive?

    1. Hi Gus,

      download this file and place it as fun_plug.tgz on Volume_1. This will reenable Telnet (not reinstall fun_plug, no worries), from where you can enable SSH.


      1. Hi Uli,
        Thx for repling so quickly. Now i cannot see the drive from windows or through the nas GUI?
        So not sure how to place the file.


        1. Hi Gus,

          a very stupid question, but how do you then access the nas if it’s not available via Windows nor from the GUI? Is it switched on 😉 ?

          Place it like described above in Volume_1. Add this share in the GUI if you do not have it. If you can’t find the NAS in the network, download the D-Link Tool for finding the NAS. If this tool doesn’t find it, please reboot nas first and if that doesn’t help, reset to factory settings.

          Best Regards,

          1. Hi,
            After rebooting the naz the vol 1 has reappeared!Have now dl fun_plug.tgz and added to vol 1. Just restarting now.



          2. Hi, ok.
            I can now login as root with my password to ssh.
            What code do i write to remove ffp completely. Also i do not have permissions to add to my vol 1 now through windows. Also when i acces vol 1 through windows I can see all the folders i have created but there are no files visible inside them?

  21. Hi to all. No luck in install the package on the DNS320 (1 disk only). Tried many times and always get a txt file saying cannot found or execute but no FPP folder. I have other folders in the Volume_1, should I delete all first? Thanks in advance.

    1. Does the name of your second file equal fun_plug.tgz or is it for example fun_plug.gz or fun_plug.tar.gz?

      The error is that this second file cannot be found.


  22. Hi Uli and thank you for chime in. The file as downloaded have no extensions (both) and I have added .tgz to the tar file only. tried again now and again the same result: just a log named fpp saying not executed or not found…

  23. For some reasons, after another reboot now I have also a zipped folder named fun_plug.tgz. Tried to unzip and got a folder with another zipped folder inside…. unzipped also this one and got messages as “you want to replace this file with this (0 bytes)”, said no and when at 99% started to have errors….
    What’s wrong? Thanks in advance.

  24. Solved the win 7 file type problem – save as “fun_plug” (including the speech marks) and it will save with no file extension. Rebooting then gives the unpacked files.

    Next problem – cannot access the DNS via telnet. Putty will give me an open command screen with the correct IP address in the taskbar but no command prompt.Typing 5784468 has no effect – the window times out in a few seconds.

  25. Hi, i’ve tried to install on DNS-320 gnupg-2.0.18-1.tgz for file encryption (from wolf-u.li collection). finally it started, but it needs “pinentry” for secure PIN and passphrase entry. So i couldn’t find this package “pinentry” for DNS-320. What can anyone suggest in this case? Thanx.

  26. Hi, I can’t save password.
    I follow the procedure, change passwd, run donwloaded store-passwd script, login, all is ok but when I restart my DNS320, the pwd root is gone.
    Any idea?

    1. Same problem as Klingon exactly. All commands run ok, however upon reboot I can login with no root password.

      Anyone have any idea why?

    2. Hello

      Same problem again, trying to store the password:

      sh-4.1# wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh
      --2012-08-31 10:06:35-- http://wolf-u.li/u/172/
      Resolving wolf-u.li... failed: Name or service not known.
      wget: unable to resolve host address `wolf-u.li'

      So I’ve manually downloaded store-passwd.sh & placed it in /ffp/sbin/

      Then run store-passwd.sh without an error, but there is no ‘Saving userdata’ message returned either.

      I can then login with SSH but then reboot NAS & the password’s gone.

      Can you help?



  27. Missing MEDIATOMB. I’ve got a DNS-320. I follow this procedure to install fun_plug the for the first time few days ago. At that time I had only one HDD on the DNS. When I’ve installed the second HDD I decided to remove the old one and reinstall fun_plug on the new hdd. Everything worked fine but for one thing: MEDIATOMB has disappeared (I’ve used it the first time I installed fun_plug. I’ve repeated the procedure many times now, but mediatomb has never came back (none in ffp/bin nor ffp/start). I’m sure I’ve used the right package (the ones listed in this tutorial). How can I install MEDIATOMB manually?

  28. I’ve a DNS-320L. I installed 0.7 package. Before restart I could login in through SSH, but aftar restart I can’t. This window appear “Network error: Connection refused”.

  29. Successfully installed everything and worked like a charm. Now I need to uninstall EVERYTHING because I am selling NAS with HDD included. I believe I have removed fun_plug, but now I cannot access the NAS through Windows, before this I wasn’t able to take permission of any files because of Unix user (or something along those lines), please could someone help me, i’m getting seriously stressed here! Thank you.

    1. Just format the disks via the webinterface, then everything is gone. Then reset to factory settings 🙂

      Best Regards,

      1. But but but, the thing is my friend would like all my videos on there too! Which could be a bit of a problem :/ any ideas? Cheers.

        1. Reset to factory settings only. If you still have problems to access it via windows, then install fun_plug, chmod everything to 777 and remove fun_plug.

          Best Regards,

  30. “For fun, you may want to open the file fun_plug by left-clicking here. ”

    The link points to the old 0.5 version

  31. Does anyone have experience or have tried Zoneminder on DNS320?

    I wanna record my cammeras using this tiny linux app that requires perl+mysql ..

    but no idea how to start.. (http://www.zoneminder.com/)

    ps: I’ve already installed fun_plug.

    help we aappreciated.

      1. After rebooting password not was saved.
        Now i have to store new password on nas, what is right procedure? Need another time file store-passwd.sh?


  32. Hi Uli,

    First of all, thanks for all the great work on these NAS tweaks – they are fabulous.

    I thought I’d let you know that you may have a bug in the /ffp/start/sshd.sh script.

    I noticed that I was seeing the following in the ffp.log file:

    * /ffp/start/sshd.sh ...
    Generating public/private ecdsa key pair.
    /ffp/etc/ssh/ssh_host_ecdsa_key already exists.
    Overwrite (y/n)? Starting /ffp/sbin/sshd

    It appears this error may be to a invalid reference to the ssh file in /ffp/start/sshd.sh script. The original script reads:

    if [ ! -f /etc/ssh/ssh_host_ecdsa_key ]; then
    /ffp/bin/ssh-keygen -t ecdsa -f /ffp/etc/ssh/ssh_host_ecdsa_key -N ''

    I believe it should read:

    if [ ! -f /ffp/etc/ssh/ssh_host_ecdsa_key ]; then
    /ffp/bin/ssh-keygen -t ecdsa -f /ffp/etc/ssh/ssh_host_ecdsa_key -N ''


    1. Hi
      I’m seeing the same bug..i’m not a linux user.. not sure how to correct this bug..any help .. i really appreciate it


  33. Thanks very much for the excellent tutorial – I followed it, and all is in order. I also set up user accounts for my wife (lesley) and me (ian), and I can ssh from a terminal window on my linux box for all three accounts (root, ian and lesley). When I log in as root or ian, I get the prompt I would expect (root@ford:~# or ian@ford:~$), but when I log in as lesley I get the prompt lesley@ford:/mnt/HD/HD_a2/ffp/home/lesley$, i.e. the absolute pathname to lesley’s home directory. This seems curious – do you know why it happens, please?



  34. Weird result after installing FP 0.7 on DLink NAS-325:

    When booting up a Mac Mini on the network, and automounting the NAS Volume_1, I get a pop-up which reads “The disk you inserted was not readable by this computer.”

    I have to choose between an Ignore button and an Eject button to close the popup.

    BUT the Volume is mounted successfully.

    Can send a screen shot if that helps.

    G. Kinal

  35. Hi,

    I just got myself a DNS-320L. Can I also install fun_plug there? Telnet doesn’t seem to work.

    Alex Wien

  36. Hi,

    I installed ffp following the tutorial.
    All seems ti work fine but ….

    FFP in installed on my DNS-320 on /Volume_1/ffp and all my medias are on /volume_1/MEDIAS/

    Can MiniDLNA see my medias ?


  37. I’m having trouble with ‘wget’ and ‘rsync’ because my NAS isn’t reaching outside the network.

    For example:

    wget http://wolf-u.li/u/233 -O /ffp/start/optware.sh
    --2012-10-07 09:25:33-- http://wolf-u.li/u/233
    Resolving wolf-u.li... failed: Name or service not known.
    wget: unable to resolve host address `wolf-u.li'

    –> same is true for ‘rysnc’

    Can anyone provide some information on what the NAS network settings need to be so that the NAS can ping outside the network. I’ve tried disabling the firewall but that didn’t change anything?

    My NAS (Static IP) is wired directly to my router (Buffalo with DD-WRT) which is running DHCP. All other devices on the network can access the internet.

    From mac:
    ping www.google.com
    PING www.google.com ( 56 data bytes
    64 bytes from icmp_seq=0 ttl=47 time=28.333 ms
    64 bytes from icmp_seq=1 ttl=47 time=19.278 ms

    From NAS:
    ping www.google.com
    ping: bad address 'www.google.com'

    1. Check the settings of your NAS regading the DNS-Servers. Probably they are empty. Maybe will help 🙂


        1. Just they way networking topography works 🙂 The unit needs a DNS (domain name server) to RESOLVE domain names to their actual IP addresses; Without it, you basically have no way of knowing that Google.com actually points to

          1. I always set my DNS server to, because other DNS servers can fail, but google is almost always reachable

      1. Hi, I have 320L and following your great tutorials (thanks!) I have finally installed ffp + plenty of packages & configured MySql, which was my main purpose.
        (My first trouble I reported were in one of the first links for download of ffp for 320 and other dlink rpm based devices was pointing to ffp0.5.)
        So everything worked fine for me finaly, only mc was reporting missing glib-2.0.so.0, which I installed and now it wants pcre.so.1 library, which I just failed to find for installation.
        Any Idea?

        Thanks to everyone!

        1. Hi, could you tell me how you got mysql working on the DNS-320L?, Which version did you use?, Did you do any modifications?. Thanks.

  38. I’ve problems with reading speed with my dns-320 nas. I can write (gb lan) to it at 22Mb/s but i can read from it only at 8Mb. I’ve noticed that disabling fun_plug 0.7 make the speed as i’ve seen in origin. 23Mb at least both read and write. Anyone know why? I need fun_plug to use twonky media server on it…any solution? Thanks. Best Regards.

  39. Hi All,

    Are there any known issues with having a root passed service a DNS-325 reboot? I downloaded the store-passwd.sh script from ULI’s site and the password is lost every time I reboot.

    And it looks like a few people of this list are having the same problem with no resolution. The script appears to run successfully, so I don’t know what is going on here.


    1. Yes, you can. Did it a month ago and everything went perfectly following Uli’s instructions for dns-320.


      1. Hello i can’t manage to communicate via telnet with my 320L (I use putty on W7)

        Did you used specials configuration ?

  40. Hi Uli,

    Thanks for your guides, it’s been really a great help fore newbies like me

    I have followed the instruction for fun_plug installation on a DNS-320L step by step, except for this:

    Note: For the D-Link DNS-320/DNS-325/DNS-345, you need a different store-passwd.sh script. See this entry for further details

    and now I seem to be having issues to ssh to my device with this message in telnet:

    Permissions 0777 for ‘/ffp/etc/ssh/ssh_host_ecdsa_key’ are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    bad permissions: ignore key: /ffp/etc/ssh/ssh_host_ecdsa_key
    Could not load host key: /ffp/etc/ssh/ssh_host_ecdsa_key
    Disabling protocol version 2. Could not load host key

    I have managed to regenerate the key pair but now it says and it says :

    Your identification has been saved in /ffp/etc/ssh/ssh_host_ecdsa_key.
    Your public key has been saved in /ffp/etc/ssh/ssh_host_ecdsa_key.pub.

    Starting /ffp/sbin/sshd
    /ffp/var/lib/sshd must be owned by root and not group or world-writable.

    also when i check the sshd.sh status it is not runnig and I can not get it to in order to make an ssh connection via Putty.

    Can you please help me? Putty keeps saying Network Error:Connection refused and is driving me crazy.


    P.S. Sorry for the double entry of this post, I have incorrectly replied to a previous post .

    1. Hi petar i solved this !!! 😉

      I add in ffp/start/sshd.sh file
      the lines :
      chmod 700 /ffp/var/lib/sshd/
      chmod 700 /ffp/etc/ssh/ssh_*

      just before the line “proc_start $command”

      hope this will help you and users of 320L 🙂

      1. I try with this but it doesn’t happend.

        /ffp/etc/ssh/ssh_host_ecdsa_key -N ”
        chmod 700 /ffp/var/lib/sshd/
        chmod 700 /ffp/etc/ssh/ssh_*
        proc_start $command

        Is this right?

        1. It’s actually what i have :/

          And when you start the sshd.sh you still have the same error log as petar above ?

  41. / # cp /etc/lighttpd/lighttpd.conf /ffp/lighttpd_portmod.conf
    / # server.port = 200
    /ffp/bin/sh: server.port: not found

  42. / # cp /etc/lighttpd/lighttpd.conf /ffp/lighttpd_portmod.conf
    / # server.port = 200
    /ffp/bin/sh: server.port: not found

    what happened to this command? please help. thanks!

  43. First of all I’d like to thank you, Uli, for sharing your remarkable work.

    As there could be other people interested, I want to mention that I have successfuly installed ffp 0.7 on a DNS-315 NAS. I used the ARM version of fun_plug.tgz and had to make some minor adjustments:

    * the HDD mount point is /mnt/HD/HD_a2

    * there seems to be a problem with file permissions – after reboot most of them are reset to 777 and that upsets sshd and also prevents choosing the startup scripts. So I set 600 permisions for /ffp/etc/ssh/ssh_host_* and 755 for /ffp/var/lib/sshd in fun_plug.init. I used the same init file to set execute permissions for scripts in /ffp/start

    * I also changed a line in sshd.sh to correctly check for the /ffp/etc/ssh/ssh_host_ecdsa_key file.

    1. EugenR, fun_plug works in my DNS-315, too. But for some reasons SSH keys permissions return to be 777 again after reboot.
      During initial boot they are correct, and ssh daemon starts correctly. Afterwards SSH does not work because of these wrong permissions.
      Please help me, thanks!

      1. Hello

        Sorry for my late reply. I added to /ffp/etc/fun_plug.init the following line, just before the section dedicated to enable/disable services:

        chmod 600 /ffp/etc/ssh/ssh_host_*

        Hope that helps,

      2. I purchased a DNS 315 recently. Would love to get fun_plug working. Copied fun_plug and fun_plug.tgz (ARM version) in Volume_1 . Permissions are 0777. Rebooted. Nothing happens.

        Added the following lines to fun_plug after the line cd /

        touch ./Volume_1/test.log
        mkdir ./Volume_1/hello
        mkdir testing

        It appears as though fun_plug isn’t getting executed.

        Any suggestions on what to try next?

  44. DNS-323

    Downloaded fun_plug og fun_plug.tgz

    Placed both files in the topmost dir of Volume_1. Then I rebooted the NAS. Now I cannot access vol 1. The D-Link Control panel reports “Total Hard Drive Capacity: -1 MB”!!!!!

    Are all data lost? What went wrong here?

  45. Hello, on DNS320L, i follow instructions but root password reset after a reboot.
    it seem that store-password doesn’t work or i miss something…

  46. Hi,
    I am trying to install ffp 0.7 onto a DNS-313 (fw 1.04) in order to then use the mediatomb package to work around known UPnP AV server bug.
    After initial placement of the files onto the NAS and reboot I have following errors in the log file:
    * Running /ffp/etc/fun_plug.init …
    /mnt/HD_a2/fun_plug: /ffp/etc/fun_plug.init: Permission denied
    * Running /ffp/etc/rc …
    /mnt/HD_a2/fun_plug: /ffp/etc/rc: Permission denied
    When I am trying to cd into HD_a2 it returns the message: can’t cd to hd_a2.

    Appreciate your help!

    1. I would guess you need to chmod the .init file, but if you don’t have a shell… you should try through ftp to chmod the file to 777, to make sure it will work. about cd-ing to the HD_a2? try “mount” and see where the HD_a2 is mounted…

  47. Awesome tutorial. going in with only basic Linux experience, this was very helpful.
    However, I am having one problem. I am trying to setup lighttpd on my DNS-325 (with ffp 0.7) and I cant seem to get it to cooperate. I was able to get it to host a basic HTML test page however it would then disable the original configuration interface. I found another tutorial using ffp 0.5 (here) that references an “original” lighttpd.conf that is supposed to be included to preserve the original interface but that config file does not seem to exist in 0.7.
    In short, How do I setup my lighttpd.conf file to run the original config (port 80) interface along with my personal hosting (port 8080)?

    1. Hi there! Having the same problem, except I couldn’t even get the basic HTML test page, can you tell me how you did that, and maybe I can help you with the rest?

  48. DNS-321. Managed to navigate the Telnet info, but when I open the second PuTTY window for the SSH session, it just sits there with the cursor, doing nothing. Can’t type input in. Any thoughts?

  49. Hello all,
    I’ve had my DNS 320 for some time now, but looking for more capability, have read through the forums to install fun plug, downloaded fun_plug and fun_plug.tgz, transferred to volume_1 rebooted the nas, but still cant connect to it with telnet to continue configuration. Log file below. Please help, i really want to find out what I Can do Many thanks 🙂

    **** fun_plug script for DNS-323 (2008-08-11 tp@fonz.de) ****
    **** fun_plug script modded by Uli (2012-02-21 ffp@wolf-u.li) ****
    Sat Nov 10 17:17:34 EST 2012
    ln -snf /mnt/HD/HD_a2/ffp /ffp
    * Installing /mnt/HD/HD_a2/fun_plug.tgz …
    tar: short read
    rm: /mnt/HD/HD_a2/fun_plug.tgz: is a directory
    /ffp/etc/rc: Not found or not executable

    1. It looks like you have extracted the fun_plug.tgz

      Put the two files fun_plug and fun_plug.tgz on the root of Volume_1, and make sure you do not have a folder named “fun_plug” or “fun_plug.tgz” already on there.

      PS: the “tar: short read” sounds like a problem with your tgz. Try re downloading the fun_plug.tgz and putting it on the NAS again

  50. Hi,

    I’ve followed the insructions, but after reboot all files in /ffp/start/ are with full permitions(777). Generated keys for sshd are also with changed permitions, ssh doesn’t start with message logged key files are too open?!

    1. Hello Vankov and Marco try to apply what i wrote earlier on this thread. That should solve your problem.


  51. Hi;

    Does anybody now if there is a repository containing the texteditor joe?
    Tried to compile it myself but have not had any luck with ffp 0.7 so far. Any tipps?

  52. For (fun_plug 0.5 and 0.7 )

    Hi, I have a Workaround for NOT use store-passwd.sh.

    Instead use store-passwd.sh, I followed these steps:
    .- pwconv
    .- passwd
    .- usermod -s /ffp/bin/sh root
    .- mkdir -p /ffp/home/root/
    .- usermod -d /ffp/home/root/ root
    .- I tried LOGIN … OK.!
    And then i DIDN’T USE ” store-passwd.sh ”
    .- I went to web-interface –> tools –> Admin Password –> and I changed it! –> Save.
    .- Reboot the NAS, and my root password was saved too.!!

    When the NAS save the admin password, at the same time it save root password, because both are stored in the same files.

    PD: I have a CH3SNAS with DNS-323 Firmaware 1.09.

  53. HI Everybody,
    I have read all of the Internet to install the first time fun_plug. BUT: it just doesnt work. I have DLINK 320, rebooted system 100 times with two correct files (as i downloaded it from here) in root of Volume_1. It doest not unpack the archive and I see no log files, no new folder, just nothig new, like I have not rebooted the system. I really appreciate you help guys. I dont know to do with it.
    I will provide all additional info if needed.
    Firmware 2.02

    1. Hi! Are you sure you put the files in the root of “Volume_1” ? If they are anywhere else, they will not run. And if you don’t get a log, it seems that it is not even running. Make sure that the files are named exactly the same as in the tutorial, and they are put on Volume_1, then UNPLUG the DNS-320 and then turn it back on.

      1. thank you.
        installed under win xp, previously tried under 7 and was no result. now it is done.
        all the same under XP works.
        the second question is what to do next?:-) how can I get web access to my files stored on it? 🙂 I dont understand how to install all the packs included in 0,7 fun plug. how can i share folders with friends, giving them a link. how it works? Sorry for stupid questions, Im a newbie on it, this device was a present on a birthday.
        thank you

        1. You can get SSH access, through which you can install the packs 🙂 You will need PUTTY or some other terminal emulator. If you want to access your files, you can either use WinSCP for a secure FTP through SSH, or just use a normal FTP Client like Firezilla, Total Commander, or some other. If you are on the same network as the NAS, you can always use the SAMBA shares (windows shares) you just type \\ipaddressofnas into windows explorer. You can also use NFS or WebDAV, I have not tried them, but for example, you can probably forward ports to use WebDAV from somewhere other than on the same network. (You asked how to share with friends by sending them a link, I think you can only do this with WebDAV, or FTP)
          Look around on the tutorials for installing packages, its all writen pretty neatly. If you have any questions, just ask, I can help you as well)
          Good Luck!

  54. While poking around in my DNS-325, I found a file /usr/local/modules/files/model which contains just the string ‘DNS-325’, which is checked at the start of /usr/sbin/system_init.
    Does this file exist in other variants, if so could it be used to better customize the ffp start-up, eg select the appropriate directory tree?
    I don’t have any other NAS boxes, so thought I would ask here.

    1. This file also exists on the DNS-320!
      I think BrightonGuy has a brilliant idea! The file could be checked, and the fun_plug script can be made more universal.

    2. Hey BrightonGuy,

      the file you speak of (/usr/local/modules/files/model) is generated.

      It is also copied to /etc/model on startup (on my DNS-320).

      The file is actually generated at startup using the following method…

      [ The following information is based on my DNS-320, though I don’t see why it should be different for you… =) ]

      If you’re looking for some customization based on current configuration, check out the file:


      If you wan’t a neat way of reading this file (assuming you’re a little familiar with XML and the command line):

      xmldbc -g ‘/path/to/config/option’

      e.g. in the config.xml file, for me, there is an XML element with the Xpath:


      with the value ‘1’


      xmldbc -g ‘/system_mgr/nfs/enable’

      Would return ‘1’.

      So for your own example, you could run:

      xmldbc -g ‘/hw_ver’

      For me, returns ‘DNS-320’.

      Happy customizing =)


  55. Hello,

    I want to install fun plug as well. But i placed the two files in Volume_1 but nothing happend. What can be the solution?

    1. Try to do it under Win XP. and double check file extension. I have installed, but do not know what to do next with it.

  56. I carefully all installation instructions.
    Everything is ok. ssl connection ok, ok chpasswd first ssh connection ok.
    But I reboot the nas and ssh connections = network error, connection refused.
    The ssl connection is still active (though was disabled) but the security keys are no longer valid.
    How to do?
    Thank you.

      1. after tests :
        I chmod 700
        There, I can start sshd.sh et access mnt/hd/hd_a2 with ssh protocol
        But i must do that after all reboots of nas.
        Why ? Thanks

  57. Hi, Couldn’t find my problem above, I hope someone can help.

    Did install as described and rebooted. Log and /ffp created and contains: lib, share, start, tmp dirs. Log is as follows:

    **** fun_plug script for DNS-323 (2008-08-11 tp@fonz.de) ****
    **** fun_plug script modded by Uli (2012-02-21 ffp@wolf-u.li) ****
    Tue Dec 25 09:09:41 EST 2012
    ln -snf /mnt/HD/HD_a2/ffp /ffp
    /ffp/etc/rc: Not found or not executable

    My ffp dir does not contain a etc dir?

    No telnet access so I can’t delete or add the missing dirs to /ffp dir without root access and start over.

    What to do? Thanks,

    1. Ok, got around this by putting the DNS-320 hard drive into a linux machine and removing the ffp folder and starting over. All is well.

      Note: I tried using the win EXT2 driver from here: http://sourceforge.net/projects/ext2fsd/ to mount this drive in windows but couldn’t see the Volume_1 dir for some reason.

      Ever onward!

      1. you won’t see the Volume_1 folder, because that is the mount name for the HDD. So if you open the HDD on linux, or with ext2fsd, then you will only see the contents of the HDD. 🙂 That is Volume_1.

      2. you won’t see the Volume_1 folder, because that is the mount name for the HDD. So if you open the HDD on linux, or with ext2fsd, then you will only see the contents of the HDD. 🙂 That is Volume_1.

  58. I already have fun_plug 0.5 on my NAS 320. Can I just place the 0.7 tgz file in root reboot and it will auto update?

  59. Hey. Nice guide! Succesfully installed 0.7 on my dns-320. But ive ran into a little speed problem.. TELNET/SSH drops, or laggs very much, the whole box feels much slower. (Lagging a lot). Anyone got any ideas?
    Keep up the good work and sorry for the crappy english 😉

  60. OK – this may be dumbest question here… That’s how I feel about my Linux knowledge. I followed steps above to install fun plug – didn’t see any problems gperforming it. I restarted NAS and logged (SSH) using my new password succesfully. There is new folder /ffp and log file named ffp.log ( Volume_1).
    And what now ? 🙂 Some magic ? Should I see new icons in web interface ? Please help 🙂

  61. Hi all,
    thanks for your precious effort.

    I’ve a problem.
    I’ve done all correctly…No errors at all, after all the steps done, I was able to connect via SSH the first time I enable it, then I rebooted the NAS…but now i cant connect anymore SSH.
    I always receive this message:
    ssh: connect to host port 22: Connection refused

    i’ve store my pass, the key files were generated correctly.

    Where am I wrong?

    thank you so much.


  62. Hi Uii,

    I have followed all the above steps and all went well except for the ssh activation. I received the three key pairs but didn’t receive the warning. When trying to login again, I entered the password and it still showed no new mail as it was before. Can you please help?



  63. Hi and thanks for these instructions. I have a D-Link DNS320L on a Virgin Medea SuperHub. I got the SSH connection working via Putty by adding the following two lines (thanks ced):

    chmod 700 /ffp/var/lib/sshd/
    chmod 700 /ffp/etc/ssh/ssh_*

    I then disabled telnet using the line:

    chmod -x /ffp/start/telnetd.sh

    Even after rebooting the NAS, I can still access the NAS via telnet via Putty. Have I missed something? Linux is not a strong area of my IT expertise. Thanks again


  64. Hello ;
    This command:
    wget -O /ffp/sbin/store-passwd.sh

    Give me:
    Connecting to… connected.
    HTTP request sent, awaiting response… 404 Not Found
    2013-01-19 09:10:00 ERROR 404: Not Found.

    It is not OK; what’s wrong, please ?

  65. I cannot access the NAS remotely I found the file settings.json & edited it as root. I made the line “rpc-whitelist-enabled”: true, read “rpc-whitelist-enabled”: false, saved & rebooted but something then changes it back to true.

    I also tried to edit “rpc-whitelist”: “, 192.168.*.*”, to “rpc-whitelist”: “, *.*.*.*”, but the same happened.


    1. Sorry I have just re-read what I put, what I should have said is I cannot access the web interface from outside my local network. The port forwarding is correct as if I switch it to another PC running transmission then I have access from anywhere.


      1. OK I was trying again last night & using the Transmission Manpage I found the answer, I was editing the file & then restarting, but you have t o stop Transmission, edit the file & then start it. Works this way.


  66. Hi all,

    Have bit of a problem now with my DNS320!!
    I wanted to install fun_plug and followed the steps as per the guide. Here is what I have done so far:
    1. downloaded the two files fun_plug and funplug.tgz and placed into Volume_1.
    2. Changed the permissions to chmod 777 fun_plug*.
    3. restarted my NAS.

    Problem: I cannot access my NAS anymore nor can I ping it. message: “unknown host” Even the web interface isnt woking.

    Need your help please.


    1. Bill,

      I suspect that you have DHCP on the NAS & it’s changed it’s address, can you browse your network or look on your router to find it? Then use a browser or the router to define a static IP


      1. Excellent!! that worked!
        Cheers Alan.

        I have just another minor issue. My ssh is now working just fine from my old machine (as I had set it up from this) but now I try to access my NAS from another PC and cannot connect and get connection denied.

        Is there something that I need to repete on the new PC?


        1. I got this fixed now! It was a (stupidly) simple solution. It appears that there was a problem with the verion of PuTTy that I had downloaded. Used another client and it worked!!!


  67. Could somebody explain why is this happening that DNS-320L resets file permission on 777 after every reboot!? That makes all these problems with sshd and required keys.

  68. Hi, great tutorial but I’m having the problem below:-

    wget http://wolf-u.li/u/172/ -O /ffp/sbin/storepasswd.sh
    –2013-01-26 00:00:19– http://wolf-u.li/u/172/
    Resolving wolf-u.li… failed: Name or service not known.
    wget: unable to resolve host address ‘wolf-u.li’

    I’ve tried changing DNS1 and DNS2 to as suggested but it’s made no difference.

    Do you have any ideas as to what’s wrong?

    Slacker also won’t work and I suspect it’s because the NAS is unable to resolve the external address.

    I’m installing on a DNS-320.

    Thanks in advance.

    1. I’ve managed to sort my problem.

      I changed the default gateway and dns to

      This has resolved my issue.

  69. Hi, i get stucked a bit, finally managed to resolve the “resolve” problem but when i’m trying to run store-passwd.sh it gives

    -sh: /ffp/sbin/store-passwd.sh: Permission denied

    any idea?


  70. Installing fun_plug on dns-325.

    I have found what appears to be a problem in start/sshd.sh. The test on whether to create an ECDSA key tests for the presence of /etc/ssh/ssh_host_ecdsa_key using the -f test, whereas all the other keys test a readable file in /ffp/etc/ssh/ssh_host…. using the -r test. The ecdsa key is created in the /ffp/etc/ssh directory, so subsequent restarts try to recreate the key file.

    Correcting the line in sshd.sh fixes this

    if [ ! -r /ffp/etc/ssh/ssh_host_ecdsa_key ]; then

    Could this be corrected, or is there something I am missing?

  71. need help installing ps3mediaserver – its tellingme imrunningoutofdisk space:

    stepsi did:
    1) install fun_fplug
    2) install java embedded
    3) download ps3media, unpacked it. now startingit gives me that:

    INFO 2013-02-15 19:56:32.212 [main] Working directory: /mnt/HD/HD_a2/ffp/opt/ps3mediaserver/pms-1.72.0
    ERROR 2013-02-15 19:56:32.305 [main] A serious error occurred during PMS init
    java.io.IOException: Unable to create directory /tmp/ps3mediaserver
    at org.apache.commons.io.FileUtils.forceMkdir(FileUtils.java:2384) ~[pms.jar:na]

    ——————Overview – DF

    root@dlink:/mnt/HD/HD_a2/ffp/opt/ps3mediaserver/pms-1.72.0# df -h
    Filesystem Size Used Available Use% Mounted on
    rootfs 8.7M 8.7M 0 100% /
    /dev/root 8.7M 8.7M 0 100% /
    mdev 121.3M 0 121.3M 0% /dev
    /dev/loop0 26.1M 26.1M 0 100% /usr/local/modules
    /dev/mtdblock5 5.0M 460.0k 4.6M 9% /usr/local/config
    none 2.0M 328.0k 1.7M 16% /mydlink
    /dev/sda4 959.9M 33.3M 926.6M 3% /mnt/HD_a4
    /dev/sda2 914.4G 414.0M 914.0G 0% /mnt/HD/HD_a2

    >> how can i give fun_plug more space?
    hint: in my windows explorer i see only Volume_1 with a subfoler called ‘ffp’, and others

  72. i dot understand the scripting part here. sorry i have placed the fun_plus.tgz and fun_plu file into my NAS folder volume 1. ive installed notepad++ and i opened the fun_plug file. i dont understand what i need to do next. can someone help me what is it that i need to change here in the script?

  73. After coppied 2 files (fun_plug and fun_plug.tgz) I put them on the root dir (Volume1) on my DNS-325, and restarted. Then used puty and try to Telnet to the NAS, but the connection closed right after it opens. Any idea?

  74. I Can’t telnet to DNS-325 with puty on Windows7. The connection close as soon as i open it. Any idea?

  75. Hi, i couldnt login via ssh anymore,it says this: “connection refused”

    when i try to re-activate ssh :

    sh-4.1# chmod a+x /ffp/start/sshd.sh
    sh-4.1# sh /ffp/start/sshd.sh start
    Generating public/private ecdsa key pair.
    /ffp/etc/ssh/ssh_host_ecdsa_key already exists.
    Overwrite (y/n)?

    Starting /ffp/sbin/sshd
    Permissions 0777 for ‘/ffp/etc/ssh/ssh_host_rsa_key’ are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    bad permissions: ignore key: /ffp/etc/ssh/ssh_host_rsa_key
    Could not load host key: /ffp/etc/ssh/ssh_host_rsa_key
    Permissions 0777 for ‘/ffp/etc/ssh/ssh_host_dsa_key’ are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    bad permissions: ignore key: /ffp/etc/ssh/ssh_host_dsa_key
    Could not load host key: /ffp/etc/ssh/ssh_host_dsa_key
    Permissions 0777 for ‘/ffp/etc/ssh/ssh_host_ecdsa_key’ are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    bad permissions: ignore key: /ffp/etc/ssh/ssh_host_ecdsa_key
    Could not load host key: /ffp/etc/ssh/ssh_host_ecdsa_key
    Disabling protocol version 2. Could not load host key
    sshd: no hostkeys available — exiting.

    please help, i’d like to disable telnet, and using ssh.

    thank you !

  76. he guys, i got a problem,

    when i try to test my root login this is shown

    NAS login: root
    No mail.
    Cannot execute /fpp/bin/sh: No such file or directory

    and if i try to login after ssh activation, access is denied.

    can anyone help??

  77. I’ve managed to mess up something in my DNS-325, fun_plug 0.7 and user accounts (or transmission).

    Trying to start transmission results to:
    root@dlink-6021E1:/ffp/start# ./transmission.sh start
    Starting transmission-daemon
    Couldn’t open “/ffp/var/transmission/transmission-daemon.log”: Permission denied

    The same way:
    root@dlink-6021E1:/ffp/start#su nobody -c “echo foo>> /ffp/var/transmission/foo.txt”
    /bin/sh: cannot create /ffp/var/transmission/foo.txt: Permission denied

    The permissions appear OK to me:
    root@dlink-6021E1:/ffp/start# ls -l /ffp/var
    total 16
    drwxr-xr-x 6 root root 4096 Jan 22 2012 lib
    drwxr-xr-x 3 root root 4096 Jan 13 2012 log
    drwx—— 3 root root 4096 Mar 10 18:04 run
    drwxr-xr-x 7 nobody root 4096 Mar 16 17:39 transmission

    Checked also with:
    root@dlink-6021E1:/ffp/start# /ffp/bin/su nobody -c “/ffp/bin/transmission-daemon -f -g /ffp/var/transmission”
    [18:20:09.351] transmission-daemon Error loading config file — exiting. (daemon.c:491)

    root@dlink-6021E1:/ffp/start# ls -l /ffp/var/transmission/settings.json
    -rw——- 1 nobody allaccount 2336 Mar 9 12:51 /ffp/var/transmission/settings.json

    I did manage to fill up / partition earlier (compiled stuff and results went to /lib instead of /ffp/lib). Before figuring that out, I removed some stuff from /tmp (isn’t that temporary space anyway, removing something there should not be a problem).

    I’m out of ideas, why can’t user “nobody” write to a directory that is owned by “nobody”?

    /etc/password lists nobody as:
    nobody:x:501:501:Linux User,,,:/home/nobody:/bin/sh

    I even went to create /home/nobody, didn’t help though.

    Ideas, pointers?
    What am I doing wrong?

    1. For unknown reason /ffp/var which was owned by root had got it’s permission changed to 700, thus access to /ffp/var/transmission was not possible.

      Fixed: chmod 755 /ffp/var

  78. Install fun_plug 0.7 on DNS-320. Managed to get lighttpd to run. But when lighttpd is up, can’t log into the web admin. Can only login after stopping lighttpd.

    Searched around online and read about kickwebs_dns320.sh, but only have kickwebs.sh in the ffp/start/ directory. Any suggestion to get both lighttpd and web admin login to work simultaneously?

    By the way, lighttpd is NOT running on port 80 but set to run on another port. Why will it still conflict?

    Thank you in advance.

    1. I found this script below and add it into ffp/start/

      ******** kickwebs_dns.sh ********

      # PROVIDE: kickwebs_dns320
      # BEFORE: lighttpd

      . /ffp/etc/ffp.subr

      echo “Kicking webserver lighttpd …”
      sh /ffp/start/lighttpd.sh stop

      echo “Starting internal Webserver …”
      sh /ffp/start/lighttpd.sh stop
      /usr/sbin/lighttpd-angel -D -m /usr/local/lib -f /etc/lighttpd/lighttpd.conf

      run_rc_command “$1”
      ******** End of script ********

      Upon reboot, lighttpd running but still can’t access web admin. Here is the log.

      **** fun_plug script for DNS-323 (2008-08-11 tp@fonz.de) ****
      **** fun_plug script modded by Uli (2012-02-21 ffp@wolf-u.li) ****
      Tue Mar 19 17:23:40 SGT 2013
      ln -snf /mnt/HD/HD_a2/ffp /ffp
      * Running /ffp/etc/fun_plug.init …
      * Running /ffp/etc/rc …
      * /ffp/start/SERVERS.sh inactive
      * /ffp/start/portmap.sh inactive
      * /ffp/start/nfsd.sh inactive
      * /ffp/start/LOGIN.sh inactive
      * /ffp/start/telnetd.sh …
      Starting /ffp/sbin/telnetd -l /ffp/bin/sh
      * /ffp/start/sshd.sh inactive
      * /ffp/start/rsyncd.sh inactive
      * /ffp/start/kickwebs.sh …
      Kicking webs …
      webs: no process found
      * /ffp/start/kickwebs_dns320.sh …
      Kicking webserver lighttpd …
      Stopping lighttpd
      * /ffp/start/lighttpd.sh …
      Starting /ffp/sbin/lighttpd -f /ffp/etc/lighttpd.conf
      * /ffp/start/inetd.sh inactive
      * /ffp/start/fp_master.sh inactive
      * OK

      Any suggestions?

      1. Hi Benji could you let us know how you got this working please? It would be very halpful and instructive

    2. Hi, Benji! Could you please tell me how you managed to start lighttpd, and what port it is running on? I can’t get it to work at all. If you tell me how you got it to work, I might be able to help you with running it side by side with the web admin login 🙂

      1. After install ffp, copy the ffp/etc/examples/lighttpd.conf into /ffp/etc/ and then edit the lighttpd.conf to point it to your server root directory

        Whe editing the lighttpd.conf, make sure all the paths are changed from /mnt/HD_a2/ to /mnt/HD/HD_a2

        Then enable lighttpd with this command:
        chmod a+x /ffp/start/lighttpd.sh

        Reboot DNS-320, done. Lighttpd running but can’t access web admin until lighttpd is stopped.

        As for port, can specify any port to run inside lighttpd.conf.

        1. strange, as far as I remember, I did these exact same things, but it would not run for me. Well will try again tomorrow when I have some time. Thanks for you reply! I will try to find a way to have them both running at the same time, just maybe on dif ports 🙂

          1. Wish you success in getting your lighttpd up and running, and hopefully the web admin too. Await your sharing here if you managed to get both running together. Thanks.

        2. Hi Benji could you let us know how you got this working please? It would be very instructive

          1. I assume you mean getting the wed admin to work. I added a scritp ffp/etc/fun_plug.local. Below are the lines inside:


            echo “Killing WebAdmin (lighttpd-angel/lighttpd)”
            kill -9 `pidof lighttpd-angel`
            kill -9 `pidof lighttpd`

            echo “Starting custom lighttpd”
            sh /ffp/start/lighttpd.sh start

            echo “Restarting WebAdmin (lighttpd-angel)”
            /usr/sbin/lighttpd-angel -D -m /usr/local/lib -f /etc/lighttpd/lighttpd.conf &

            Reboot dns-320 and done. Can also disable the lighttpd daemon too.

          2. Forgotten to mentioned that this script was given to me by a helpful forumer, j, in Hardwarezone. Credit should go to him.

  79. Hi there, my DNS 320 looks like it needs twonky installing to fix the upnp interface since dlink broke it. I use amazon S3 storage function though. Can i expect this to work after i install fun plug and twonky?

  80. Hi,

    I did the steps above and managed to get SSHD up and running but when I reboot the NAS, the SSH daemon does not start up automatically. I did not disable telnet so that still works.

    Any idea?


  81. I’ve been trying to install this on my DNS 320 (with latest firmware), have ensured the files are correctly named and have the right permissions but i get the following errors:

    Thu Apr 4 11:02:43 BST 2013
    ln -snf /mnt/HD/HD_a2/ffp /ffp
    * Installing /mnt/HD/HD_a2/fun_plug.tgz …
    tar: invalid gzip magic
    /ffp/etc/rc: Not found or not executable

  82. Hi Uli,

    I bought a dns-320L this week, I upgraded.
    I use Raid1 and JBOL. funplug instalation unsuccessful. “Remote Backup” Services is deactivated. I copy these two file to volume 1 map. I rebooted but FFP directory not created. please help me what is it wrong in my case.

  83. Hi Uli,

    I bought a dns-320L this week, I upgraded.
    I use Raid1 and JBOL. funplug instalation unsuccessful. “Remote Backup” Services is deactivated. I copy these two file to volume 1 map. I rebooted but FFP directory not created. please help me what is it wrong in my case.

  84. Hi

    I have a newby question. I want to run sshfs on a
    DNS-320 with the raid1 structure. I believe I need
    fun_plug for that. Does fun_plug modify the raid functionality of DNS-320 in some way? Is there
    something I should take care of?

  85. simply want to thank you for your awesome tutorial, I don’t have any problem with the installation.

  86. when i run “slacker -UaA uli:uwchmod”
    it returns with
    “No packages found (status Iiu, pattern (^uli:.*uwchmod))”

    Any help?

  87. Hey everyone with a DNS-323.. I have resolved all my issues here. The problem with this tutorial, is that the link for downloading funplug for DNS-323 (OARM) is outdated.. if you actually goto the OARM repository for fun plug, there is a note that it is obsolete, and to use the OABI instead.. so for anyone with a DNS-323 you should get the fun_plug tarball from here: http://www.inreto.de/ffp/0.7/oabi/

  88. Hello Uli. I installed ffp on my new DNS-320L, about two months ago. It worked fine, but everytime system was restarted (three times proximately) some things start to behave strange:
    Some weeks ago (1st restart):
    – Every node on My Files (web access) appears with it whole path
    – Admin lost some permissions on web interface.
    And finally (2nd restart):
    – admin is not able to connect on the web.
    – time machine user is not able to connect to the system to back up.
    And after that (3rd restart):
    – DNS-320L seems unable to connect to router (or direct ethernet connection)

    I’m absolutely lost. Is it possible to connect to NAS through USB or internal serial port pins?
    Last option would be to restore to original factory settings, but does exists this option?

    1. Sorry I mean restore to factory settings different from bottom side button that don’t seems to do anything

    2. Did you ever find a solution?
      I have a similar problem where I cannot access the device at all, it doesn’t even seem to get an IP address.
      If you found a way to get it working again please could you let me know?

      1. My Unit was still under Warranty and asked for a new one and D-Link sent me a new one. I’m pretty sure that problem was caused by a bug on fun_plug: something related with changing permissions on every re-start, but maybe a hardware problem was the reason.
        Search this page again, and look for recent updates

        1. The issue with the changin permissions ins in fact a bug within the firmware of D-Link devices which is why i wrote uwchmod…funplug is not always the bad guy 😉

          Best Regards,

  89. I have DNS-321, I installed the fun_plug, and got to the package install stage via SSH.
    It said ‘downloading definitions’ shows on the bottom that it’s connecting to some IP, and then I get an error message :
    “Selection aborted, program exists without modification to /ffp/etc/funpkg/sites”

    any idea ?

  90. I noticed a missing step is

    cd /bin
    mv sh sh_old
    ln -s /ffp/bin/bash sh

    Without this, the $PATH seems to have /bin injected too early… And some scripts had problems with the original /bin/sh

  91. Hi!
    I have installed the fun_plug without problems, but now when I try to connect using putty to the ip: using SSH (port 22)
    I just get a connection error…

    I have also tried connecting via the telnet and that doesnt work either…

    Is there any way I can connect other than reinstalling fun_plug`?

    1. I have the same issue on my DSN 320. After reboot SSH connection is refused.

      How can we do ?

  92. Hello, one question for all of you with a DNS-320L or a DNS-320.

    If you type this commands on a telnet or SSH, does them return any results? (don’t worry, they are only “…view” commands, you can google it).


    If they return results, it will indicate that this NAS uses LVM and that we can manage better the partitions than the graphical interface.


  93. I have the DNS-320L and I followed the instructions without a problem. Once I had completed the setup of fun plug I rebooted but could no longer login as root. I uninstalled fun plug and started again. After reading through the comments on this forum there was a solution to not run the store-passwd.sh but to rather follow these steps:

    Tools –> Admin Password –> and I changed it! –> Save. -> Reboot the NAS, and my root password was saved too.!!”>

    After following these steps I cannot access my NAS at all. It does not get allocated an IP and I don’t know how to get it back to normal working condition.
    I tried the reset button underneath the device but still no joy.
    Has anyone got any ideas how to at least get the device back to basics so I can at least use it? At the moment its just a brick!

    1. Something went a bit wrong with the formatting of my post:

      The steps I followed are:
      .- pwconv
      .- passwd
      .- usermod -s /ffp/bin/sh root
      .- mkdir -p /ffp/home/root/
      .- usermod -d /ffp/home/root/ root
      .- I tried LOGIN … OK.!
      And then i DIDN’T USE ” store-passwd.sh ”
      .- I went to web-interface –> tools –> Admin Password –> and I changed it! –> Save.
      .- Reboot the NAS, and my root password was saved too.!!

      After following these steps I cannot access my NAS at all. It does not get allocated an IP and I don’t know how to get it back to normal working condition.
      I tried the reset button underneath the device but still no joy.
      Has anyone got any ideas how to at least get the device back to basics so I can at least use it? At the moment its just a brick!

      1. When I use one of the applications on the CD supplied with the device it detects the device on IP: 169.254.x.x (can’t remember the exact address but it wasn’t on my router’s subnet). Selecting the option to enable “Receive DCHP” simply seems to set the IP address to

        If I log onto my router and look for connected devices it doesn’t detect anything.
        So I don’t know how to get onto the device to be able to start fixing it.

  94. hi all, i need your expertise

    after having fun_plug for some time, i now have a external connection, even right after booting

    tcp 0 0 dlink:55996 alster221.server4you.de:905 ESTABLISHED
    tcp 0 0 dlink:445 ESTABLISHED
    tcp 0 0 dlink:22 ESTABLISHED

    is this normal or a rootkit ?

    many thanks

    1. the 1st one looks line your DDNS
      the 2nd one is your share folder connection from windows.
      the 3rd one is your ssh connection

      Looks like everything is ok, but its a bit hard to tell since I don’t know your port forwarding.

  95. Hello,
    I’ve done the procedure once and it went smoothly, but now (after deleting fun_plug and factory reset) when I try to download store-passwd.sh using wget it freezes on the line
    “HTTP request sent, awaiting response…”
    I already tried downloading it manually from http://wolf-u.li/u/172/, copying it in designated directory and running (as well as with uwsiteloader.sh) but then I cant move forward after the last confirmation window with slacker. It just doesn’t load or install anything. Also I tried to install optware by copying install package from PC, it freezes on installation as well.
    Any clues to fixing this are highly appreciated. Thanks in advance.

  96. I’ve used fun_plug 0.7 for ages and haven’t touched my DLink 320. However, after a recent powercut I finally got around to adding a second, but not raid, disk. The device rebooted and I could access via the Web interface but not ssh. As my NFS mounts no longer worked I assume the tha fun_plug has somehow been disabled. I occasionalyy had this problem before but a second rebbot would fix the problem but not this time. I’ve also tried removing the second disk and rebooting but still no ssh access (or telnet) and I can’t remember how to get into the box to find out what’s happening. My NFS mount is used for users home directories so I like to get it back ASAP and I was installing the second disk so I could perform an internal back up of these too.

    1. When I added a second disk to my DNS-325, the original drive moved to be /mnt/HD/HD_b2 where it used to be /mnt/HD/HD_a2. The new drive took the HD_a2 place instead. I reinstalled fun_plug (because the previous install was old anyway). The same appeared with my shares defined via the web.
      The same might have happened with you.

      1. I wondered about that happening too although I had checked that the second disk went in the slot labelled B. The GUI labelled it volume_2 too but I still tried taking it out again (they are diffenet makes and sizes so I can’t actually get them muddled up). Anyway, a further two reboots with the single disk and everything appears to be back working again. ssh access is back as is the NFS mount for homes. I’m struggling to diagnose this issue (well I’ve just had it running for months and ignored it) without being able to get onto the box when it happens. I don’t run Windows although konqueror can browse the SMB shares and the system provided NFS shares don’t work either so I use the fun_plug accessible NFS server.

  97. Thanks for the tutorial. I’ve used it successfully several times in the past, but today I’m striking out over and over again.

    I am trying to set up the fun plug on a DNS-320 that has major permissions problems due to use with a Mac.

    I’ve tried the tutorial several times and think I screwed something up on the first attempt. I’ve removed and reinstalled several times since then but always end up with “Permission denied, please try again” when trying to login via SSH.

    I can login fine via Telnet. In fact, it doesn’t prompt for any login credentials at all, though I can login with them as well.

    Any suggestions? This unit is useless until I can get this working and fix my permissions.

    Thanks much!

  98. I have installed funplug on my dns-320L and it all seemed to work apart from the saving of the root password (which isnt a problem – but will try the fixes posted here). My problem is when i run the uwsiteloader.sh – this ends with the following message “Selection aborted, problem exits without modifications to /ffp/etc/funpkg/sites”
    funpkg and sites dont exist in the folders?
    Any ideas?

    1. ignore this, looks like i used an old version of ffp, downloading from these links now got the sites and updated lists

  99. Why are all the files under /ffp being set as writable after I reboot my DNS-320? I’m using fun_plug 0.7.

    This has been bugging me for ages now. Whatever I do this seems to happen. It’s like a ‘chmod *22’ is being run on all the files and I can’t prevent or undo this behaviour.

    It means that after a reboot SSHD won’t be running (because, for example the ssh_host_* files under /ffp/etc/ssh needs to not be world-writable but they now are). I’ve been trawling these posts and see that some people have been able to get around a very similar issue by putting lines like

    # enforce perms for ssh
    chmod 600 /ffp/etc/ssh/ssh_host_*
    chmod 755 /ffp/var/lib/sshd

    into their /ffp/etc/fun_plug.init script. When I try this however, those lines seem to be ignored. The permissions are not set to 600 and 755 respectively – instead they are set to 622 and 777. The clue I think is that these are the permission I tried to set, plus the writable flag.

    It’s like something is running AFTER fun_plug.init but before the boot completes that ensures all files are writable!

    Can anyone shed any light on why this is happening and how I can stop it?

      1. Thanks for that Uli. I’m afraid it doesn’t work for me and I’m pretty sure I know why: take a look at the file /usr/sbin/satamount (on the DNS-320 with firmware 2.03). In that there is the line

        chmod -R a+w “$MPOINT””$HD_Path”`expr s$

        This script seems to get called on every reboot (presumably when the SATA drives are mounted! :)). There is comment in the top of the script that suggests that this change was made intentionally and as such it’s not a bug in the firmware. Since the file can’t be edited (it’s on a read-only filesystem) I’m stuck now.

        What I really can’t understand though, is why is it just me getting this? Should I downgrade my firmware?

        Any help much appreciated!

  100. Hi, I would like to use rsync to make a backup of my files from Volume1 to Volume3. e.g. “rsync -azv /volume1 /volume2”. Th eysntax may not be exact.
    However, I would like to automate it at each reboot of the NAS. If i were to put it in “/ffp/etc/fun_plug.local”, could it perpetually hang my NAS? That is, the rync command cannot complete and hangs my NAS and in the edn, I am unable to start the NAS.

    Just want to be careful not to block my NAS.

  101. I get the mess age on final step

    /ffp/bin/uwsiteloader.sh: line 1: syntax error: redirection unexpected

    Can you help me understand what it means?

  102. Hi,

    I’ve installed my twonky server few months ago and it was working fine. Yesterday I was trying to change a setting and it froze so upon restarting it, I couldn’t access it or even the settings page on the web interface. Long story short, I’ve deleted the server and fun fonz to start a fresh copy and now on the step where I try to access telnet using PuTTy, it always comes back with the error (Network error:Connection refused) I haven’t changed any network or firewall settings on my network so I’m kind of lost here. Can you help please?

  103. Hi,

    Dlink DNS320. Installed everything as per above and all was working fine until had a power failure (unplugged by mistake).
    Now it starts all ok, I can log in via ssh and default web interface, save/read files from HDD no prob, but transmission (v2.81) won’t work.
    I can start/stop it by /ffp/start/transmission.sh start(stop), no error messages, but no downloads/uploads initiate. Have an earlier list of part-done torrents but it won’t resume. Unable to access transmission via – gives me Connection failed error.
    ps aux shows daemon in progess, in about 15 mins it reaches 97% CPU usage and stays same afterwards.
    Any suggestions?

  104. I installed fun_plug according to this page. I have no problems logging in with ssh, but I cannot seem to install or upgrade any packages. When I run ‘slacker -A’ and try to upgrade a package, I get the following:

    fetch: found /ffp/funpkg/cache/s/nfs-utils-1.2.5-oarm-2.txz
    /ffp/funpkg/cache/s/nfs-utils-1.2.5-oarm-2.txz: OK
    /ffp/bin/funpkg -u /ffp/funpkg/cache/s/nfs-utils-1.2.5-oarm-2.txz
    /ffp/bin/funpkg: can't load library 'libarchive.so.12'

    How can I get libarchive?

      1. Hi, I’ve the same issue, but when I do slacker -a libarchive it ask me again :

        fetch: found /ffp/funpkg/cache/s/libarchive-3.0.3-oarm-2.txz
        /ffp/funpkg/cache/s/libarchive-3.0.3-oarm-2.txz: OK

        /ffp/bin/funpkg -u /ffp/funpkg/cache/s/libarchive-3.0.3-oarm-2.txz

        /ffp/bin/funpkg: can’t load library ‘libarchive.so.12’

  105. Pingback: DNS-323 setup with fun_plug
  106. === Wake on Lan ===

    Is it possible to send Wake-On-Lan packets out onto the LAN using fun_plug. I have set up SSH access to my DNS-315. It would be nice if it was possible to ssh to my NAS and send out WOL packets on the network to wake machines up. Is there a plugin for this?

  107. Hi,
    Thanks for this tutorial, I finally can make my Samsung TV compatible with my DNS 320 and my TVBox (La box Numericable).
    I managed to install everything last sunday. I managed to look at mkv file on my TV. However, tonight, this same mkv file (and some other avi with Xvid) have disapeared from the list… That might be a codec problem but how is it that it worked yesterday and not today?

    1. In fact it is working well 🙂 the only thing is that my DNS take at least 4 hours to broadcast the entire list of all the files I have on it to the network after reboot. As it is quite noisy, I prefer to to turn it off during the nights… Do you have any ideas how I can have this scan more fast? For info I have also my pictures saved data so thousands of files on it.

  108. Hey everybody.
    I just managed installing Fun_plug on a USB-Stick running on a Medion MD86942.
    After downloading and starting the BTSync Binary via ssh the devices gets stucked, as the cpu is running at permanently 100%. A reboot fixes this issue but i did not managed to run btsync. Any ideas?

  109. I was wondering, after installing fun__plug, do you keep your current configuration (ftp, accounts, …) and can you still access the built-in web interface ?

    Thanks for your help, can’t wait to install fun__plug !

    1. Yes, you do keep everything. And as long as you do not fiddle around with the webserver, you also keep the access to the webinterface as you are used to. If you fiddle with that, you access it on a different port.

      Best Regards,

  110. Hi, I’m just installing fun_plug on my DNS-325 all went well till the last steps of the chapters “Now What?”.
    I’ve selected all the entries and not just fonz and uli and when I gave the OK on using “slacker -U” I got a lot of “No data received” messages and then a “FATAL: mz: No CHECKSUMS.md5”
    I tried going on and use “slacker -UaA uli:uwchmod” but it is also giving me “no data received”.
    Is this right? Am I missing something?

  111. Pingback: BitTorrent Sync service on linux – DNS 320 – Milos Vucekovic
  112. I had a raid1 degraded issue, and due to problems eventually I tracked back to V2.03 DNS-320 firmware – I have to reformat and rebuild my data manually. I copied all the Fun plug and Twonky files and directories onto the new drive.Rebooted. I cannot access Twonky on port 9000, Telnet and SSH do not work ‘connection refused”. Any ideas how to get it going again?

    1. fixed my own problem. Install the files back in the root directory as per instructions. The opened up Telnet access again. So from then on we were flying again 🙂

  113. Hi all,
    Just set up a DNS-320L with a 2TB HD and ffp_07. Now I’m considering to add a second 2TB disk as RAID-1 conf.type. I’ve a limited Linux knowledge.
    – How to back-up the ffp folder before any mod? The Folder copy using XP-explorer resulted in a partial copy.
    – To build a RAID-1, should I set the full HD capacity as RAID or leave a spare portion, eg. for ffp?
    Apologize if this was answered before (link?) but browsed without success.

  114. Hello, I bought a new Dlink DNS-327L – do you know if it will work with fun-plug?

    Complete newbie here, so be gentle please 🙂

    1. I just installed it on a DNS-327L with a single western Digital Caviar Red 3TB.

      I used the Version “ARM” for EABI-devices and followed the step by step instructions.

      Everything works like a charm!

  115. With big big smile 🙂 🙂 i announce that SSH with fun_plug installed successfully on my DNS-327L !!!!
    I choose the “Version “ARM” for EABI-devices” and everything gone fine.
    The little successful trick at this version of fun_plug 0.7 is the checking of the new HD path of new firmwares –>
    a) /mnt/HD/HD_a2/
    b) /mnt/HD_a2/

    Thanks a lot Uli!!
    Mads user with post above follow the steps of “ARM” 🙂
    Have a nice NEW YEAR with rooted NAS’s 😛

      1. did exactly that, but when I restart nothing happens, it does not create nor ffp directory, which will be a need root access?

  116. I wanna try ssh add-on for dns-325 but, with stopped ffp, everytime i receive “access denied” message. Any suggestion Uli??
    Thank you in advance for your reply

  117. Very helpful, thank you. Some doubts about /ffp/sbin/store-passwd.sh with DNS-345 though:

    mount -t minix /dev/mtdblock0 /sys/mtd1
    mount -t minix /dev/mtdblock1 /sys/mtd2

    but my DNS-345 has /sys/block/mtdblock0 etc

    I’m not confident to hack that script.

  118. Hi, I have copied files to root dir of my drive Volume_1 and it created the ffp directory and log file. log file is about 47k so seems right. when i try to log in with the ‘usermod -s /ffp/bin/sh root’ i only get ‘usermod: user ‘root’ does not exist’…what am i doing wrong?

  119. First of all, thank you for this tutorial. I have an issue, and I hope that you can help me. I have DNS-320l. I’ve follewed your instruction step by step, but I’m unable to connect to it via ssh.

    Any ideas?

  120. On d-link DNS-320L there is ssh server and fun_plug is mesing it up. Fingerprint is constantly changing, and one can only log trough telnet.

    1. Telnet is not working at instalation and disabling remote backup makes it inposible to ssh into box.

  121. Getting my Dns 320 tomorrow. Thinking about installing Fun_Plug but I’m not sure if it’s worth it. Can someone please point me to where I can get a more detailed description of packages?

  122. After uninstall fun_plug i want to delete all changes made on factory setting.
    “We proceed with updating /etc/shadow by using the program pwconv. It uses /etc/passwd to generate the necessary lines in the shadow-file. Also the default shell will be changed. Additionally the home-directory of root is changed to a permanent one:”
    I would old default shell and original home-directory, is it possible? I think ssh add-on not work because of it.
    Help me please and sorry for my english

  123. Has anyone managed to install this using Windows 8.1? I’ve downloaded “Fun_Plug” and “Fun_Plug.tgz” via IE, Firefox and Chrome. Placed in root of NAS. Rebooted and each time nothing happens. Always left with the same to files, untouched. Could really do with some help here guys. 🙁

  124. In telnet at login stage after entering the password it gives me a message ” No directory, logging in with Home=/ No mail”
    But when i check in the Volume 1 ffp folder there is a home directory as well as a root folder. Please help. Thanks for the reply

  125. Dear ULi,

    I followed the instructions till the part of reboot (after stopping telnet), but after rebooting i am not able to ssh into the NAS 320L, and i am very sure i typed the correct password please kindly help.

    As i tried copying the files of transmission into the directory (instead of wget but permission denied).

    Thanks in Advance,

    Warmest Regards

  126. Hello,
    Firstly, congrats on your work, ffp is working almost to perfection in my 320. However, sometimes, when adding, refreshing or deleting files in media server, I see UpdateDB and/or updatedb process with high CPU load and high read/write access. Is this something from ffp or default? But why is so high on resources sometimes, not on every refresh?
    And secondly – in transmission, every time when started anew, in log file I see the famous crypto error. Other forums claim it has to do with wrong write permissions, so every time I have to use ssh and chmod random/urandom commands to remedy. Is there way to automate it, that you kow?
    Thanks in advance.


  127. Hey Uli,

    I recently ran slacker to upgrade OpenSSL (heartbleed protection) and after upgrading, the SSL daemon didn’t start. This is showing up in the logs.

    OpenSSL version mismatch. Built against 1000005f, you have 1000107f

    Should I revert back to the old version?

  128. Thank you for the detailed instruction Uli.

    I have a DNS-325, and have been contemplating to install fun_plug on it to run other software.

    2 questions:
    – after installing fun_plug, would I still access the NAS the same way as before? i.e. via samba, webdav. Also what about the original web portal GUI? Would I still be able to access it via http?

    – Have you tried installing virtual machines after fun_plug? What about database servers? I’m interested in hosting a postgreSQL server on my NAS


  129. Hi Uli,
    I made a mistake, I didn’run the second copy of Putty to test If I was able to login.
    Now when I try to execute Putty to complete the last steps (see below) I got a “network error” connection is refused, how can I proceed ? thanks a lot !

  130. Hi again Uli,
    putty works , I was still using “telnet” instead of “ssh”, I can login using root.
    I’d like to install Twonky on Dlink DNS-320L but I can’t find the link to the package in the dowload page of Twonky only DSN 323 appears , is it the same? Or were I can find it . Thanks a lot Michel

  131. Hi guys,

    I hope some one still checks the website as this seams to be the only resource that can help me achieve what I tried to do.

    My goal was quite simple, I got my hands on a DNS-315 with a 3TB HDD. My goal was to have all my media backed up there, but I also want to have an easy access to watch it on my Sony Bravia W805a.

    I have installed the Fun_Plug as explained above, but the only change afterwords TV stopped recognizing my NAS. Previously it could see it, but I couldn’t access any of the files. Now it’s just plain gone. All the TV says that it’s not connected.

    I’m pretty sure I need a plugin or some kind of server installed on it to stream the media files. Can you please point me in the right direction so I can finally start enjoying this piece of machinery 🙂

    Thank you in advance and I hope to hear from some one soon.


  132. I had a drive die on my 320l. So I only have a Volume_2 can I see install Fun_Plug? If I still can how would I do that?


  133. If i reset my Dlink DNS 320 will it wipe out all the data in my hard disk together with the funplug i installed?

  134. Hello, excuse me for bad english, i am french.

    Is it possible to install Fun_plug on a DNS-327L device?
    Thanks a lot!

      1. Thanks Tobias,

        Can we install Fun_plug 0.5 or 0.7? I did not find any informations about it…


  135. Hello Uli,

    I’m using fun_flug 0.5 with my CH3SNAS for several years already.
    This week I acquired my second NAS, DNS-325. As I’m planning to install fun_plug on DNS-325 too, I’m not sure should I install fun_plug 0.7, or should I stick to 0.5 version.
    I’m not sure what to expect from 0.7 version. What are the major changes?

    I’m also concerned about the availability of the packages for fun_plug 0.7.
    Are the packages for 0.5 version compatible with 0.7 ? Or should I download new ones ?

    As DNS-325 is going to replace CH3SNAS, the following packages are must have: lighttpd, mysqld, nfsd, openvpn, rsyncd, sshd, svnserve, transmission, twonky.

    1. Package management and package availability is lot better in funplug 0.7. Having used both, I definately recommend installing 0.7.

  136. Hi I follwed your tutorial for installing fun_plug on my DNS320 and all went well up to the point of running the uwsiteloader script I ok it to run and it says selection aborted script exits without modyfying any files. It the exits and at the prompt it says it couldn’t access /etc/funpkg/sites.

    Uwsiteloader is downloading what it needs as I can see the temp file in the home folder. Iv checked the script and can’t see anything obvious.

    Can anyone help please.

  137. Hello Uli,

    In the section:
    “Fun_plug and user accounts”

    you have copied the same text twice…

  138. I’m hitting several road-blocks with fun_plug 0.7 (on my DNS-325)

    1) NFS fails to start:

    root@DNS-325:/ffp/start# sh nfsd.sh start
    WARNING: rpc.portmap: Already running
    WARNING: rpc.statd: Already running
    Starting /ffp/sbin/rpc.nfsd 8
    rpc.nfsd: unable to resolve ANYADDR:nfs to inet address: Servname not supported for ai_socktype
    rpc.nfsd: unable to set any sockets for nfsd
    WARNING: rpc.mountd: Already running

    2) kickwebs fails to start:

    root@DNS-325:/ffp/start# sh kickwebs.sh start
    Kicking webs …
    webs: no process found
    root@DNS-325:/ffp/start# which webs
    which: no webs in (/ffp/sbin:/usr/sbin:/sbin:/ffp/bin:/usr/bin:/bin)

    3) can’t find dos2unix:

    root@DNS-325:/ffp/start# which dos2unix
    which: no dos2unix in (/ffp/sbin:/usr/sbin:/sbin:/ffp/bin:/usr/bin:/bin)

    Is there a way to fix this?
    Any suggestions? (before I go back to fun_plug 0.5)

  139. I have DNS-325 with funplug 0.7
    nfsd is started automatically, even though in /ffp/start/nfsd.sh does not have executable bit on. That is to say: I would assume you had it already running and that’s why you were not able to start it manually.

    For the kickwebs.sh, I have no idea what that is for.

    1. That is strange. Are you sure that you are not using DNS-325 built-in NFS functionality instead?

      My nfsd is definitely not running.

      root@DNS-325:/ffp/start# sh nfsd.sh status
      rpc.portmap running as pid 14700
      rpc.statd running as pid 14711
      nfsd not running
      rpc.mountd running as pid 11931

      1. Apparently I’m using the inbuilt nfs. Any reason why that is no good and should go for ffp version instead?

        1. That explains a lot. If you are using built-in nfs than your nfsd is not running at all. As you explained earlier “/ffp/start/nfsd.sh does not have executable bit on”, hence it is not started automatically.

          I need nfsd in order to implement UID/GID mapping /ffp/etc/nfs.map. My user UID/GID are not same on the NAS and workstations.

  140. Hello,

    THANKS for the tutorial. It was superb!!

    I have installed FUN_PLUG and have installed many apps ! Thanks a ton.

    I am unable to log into my DNS 325 web interface as before installing fun_plug . How to access that ?? please help !

    1. I meant i am able to log into root using terminal , but no default web interface of NAS 325 using admin . It says invalid username or password

  141. It seems that I cannot change UID and GID in the DNS-325 GUI.

    Are the users ands UID’s in an installed fun plug (as listed in /etc/passwd) and the groups and GID’s (as listed in /etc/group) the UID’s and GID’s which are then used for all access to DNS-325 data?

    Background of the question is my plan to use DNS-325 as a NFS fileserver and the need to use the same UID’s and GID’s in all NSF clients.

  142. Hello Uli.

    Followed everything with success,
    At the step to login with ssh as root, it did OK and I moved on to the next steps.

    Though after rebooting my DNS 320L I can no longer login as root. I give my password and replies Access denied.

    I was going to install twinky.
    If I log in as another user, not root, on then first step of mkdir -p /ffp/opt/twonky/data/ replies cannot create directory /ffp/opt/ :permission denied.

    What can I do?

  143. I have got error while installing fun plug at the end of installation
    after execution of given below details

    wget http://wolf-u.li/u/441 -O /ffp/bin/uwsiteloader.sh
    chmod a+x /ffp/bin/uwsiteloader.sh

    uw site loader

    selection aborted program exits without modifications to /ffp/etc/funpkg/sites

    1. hey guys, I have the same problem as above:

      selection aborted program exits without modifications to /ffp/etc/funpkg/sites

      Something is wrong! Will revert config file.
      mv: cannot rename ‘/ffp/etc/funpkg/sites.bak’: No such file or directory
      Thanks for using UW Site Loader!

      I checked and I dont have a funpkg directory under my /ffp/etc/. What step did I miss?


  144. Is it possible to clone machines so that I don’t have to manually perform the steps again?

    Thanks for a great ressource…

  145. My media player can not connect to the NAS (dlink DNS-315) via nfs. The mediaplayer sees shared folder on NAS, but can not open the folder.
    Tried to remove.. etc/exports & ffp/etc/exports

  146. Everytime I use root & MC… my files are moved with root ownership.
    Then I can’t delete with SAMBA/Windows network browsing.
    I usually have to global chown/chmod… but this is annoying.

    Is there a user/group I can use that is write-access by SAMBA?

  147. Please help, I am new to Linux… How do I edit my config.xml file?! I have installed fun plug 0.7 successfully and can log in with Putty using SSH. I want to edit it for PS3 file support as per the forums…

  148. Is there anyway to install a iptables type of firewall on the NAS? I’m watching the syslog of the router & seeing constant attempts to ssh into the NAS, the password is strong but would like to block at IP level

    1. there is

      In addition, I allow login with ssh keys only. Lot more enthropy than in passwords.

  149. Hi,
    I tried to instll fun_plug on my Dlink DNS 320L but its power button is just blinking (meaning rebooting) for hours now. HDs are not spinning. Is there any way to get access again via Win7 and remove the fun_plug?
    Thanks for your helP!!

  150. After installing funplug and Twonky (which works great) the HDs on my DNS 320L won`t go in standby anymore. Hibernation setting is 15min. Is this gerneally caused by funplug or Twonky? Any clues?

  151. Hi,

    I have a CH3SNAS sucessfully updated to a DNS-323 V1.10 with fun_plug. For some reason I have this:
    Filesystem Size Used Avail Use% Mounted on
    %root% 9.7M 6.5M 2.8M 70% /
    /dev/ram0 9.7M 6.5M 2.8M 70% /
    /image.cfs 4.7M 4.7M 0 100% /sys/crfs
    /dev/md0 457G 365G 93G 80% /mnt/HD_a2
    /dev/sda4 487M 71M 416M 15% /mnt/HD_a4
    /dev/sdb4 487M 18K 487M 1% /mnt/HD_b4

    I want to install packages but the root file is only 9Mb… How can I install to other path instead of root or at least move the root to another place with more space…



  152. hi

    with DNS320L the step with passwd command get an error message: cannot determine user name.
    any idea?

  153. Hi all,
    I’m having an issue with connections, which I believe has something to do with IPv6 and not necessarily fun_plug related. But I thought I’d post it here so that when (if) others have similar problems, hopefully some answers will be here…

    The issue arises when attempting to wget a file from wolf-u.li. Specifically, here is some output:

    root@NAS:/# wget http://wolf-u.li/u/441 -O /ffp/bin/uwsiteloader.sh
    --2015-05-16 08:22:25-- http://wolf-u.li/u/441
    Resolving wolf-u.li... 2a01:488:66:1000:53a9:2330:0:1,
    Connecting to wolf-u.li|2a01:488:66:1000:53a9:2330:0:1|:80... failed! Address family not supported by protocol.
    Connecting to wolf-u.li||:80...

    And then it just waits… and times out… and retries…

    Oddly, if I navigate to http://wolf-u.li/u/441 in my browser, I can download the file, which I can then drop onto the NAS via sftp, so that isn’t a problem.
    But what IS a major problem now is I can’t run uwsiteloader.sh as I get the same error:

    --2015-05-16 08:43:34-- http://wolf-u.li/u/439
    Resolving wolf-u.li... 2a01:488:66:1000:53a9:2330:0:1,
    Connecting to wolf-u.li|2a01:488:66:1000:53a9:2330:0:1|:80... failed! Address family not supported by protocol.
    Connecting to wolf-u.li||:80... failed: Connection timed out.

    --2015-05-16 08:46:43-- (try: 2) http://wolf-u.li/u/439
    Resolving wolf-u.li... 2a01:488:66:1000:53a9:2330:0:1,
    Connecting to wolf-u.li|2a01:488:66:1000:53a9:2330:0:1|:80... failed! Address family not supported by protocol.
    Connecting to wolf-u.li||:80... failed: Connection timed out.

    --2015-05-16 08:49:51-- (try: 3) http://wolf-u.li/u/439
    Resolving wolf-u.li... 2a01:488:66:1000:53a9:2330:0:1,
    Connecting to wolf-u.li|2a01:488:66:1000:53a9:2330:0:1|:80... failed! Address family not supported by protocol.
    Connecting to wolf-u.li||:80...

    Does anyone know a work around for this? Can I edit the uwsiteloader script somehow? Or is this some other issue?

    Thanks in advance!

  154. Sometimes when I connect a FAT32 USB HDD and after a while, my NAS becomes awfully slow. I notice my USB HDD LED is flashing violently, but am not using the USB HDD at all.

    Then I want to reboot my NAS but the power button does nothing. I have to physically disconnect my USB HDD. Then the NAS power button will turn it off.

    Anyone else notice this?

  155. I have a DNS-320L with fun_plug 0.7 installed and from time to time – like 2 to 3 times per year – or less – it would only freeze and when I powered down and then up again it would not start and the power light would blink like it would be booting up and the network lights also stay on. After several tries, a cool down and so it would eventually come back to life. In an inspection on the linux side, no strange errors messages were shown. Yesterday it did it again, but this time I cannot make it come back to life. After searching a lot last night most comments said it would be a corrupted firmware. Is there a way to TFTP it back to life? Anyone has some advice? In the meanwhile I bought a new one that already came with firmware 1.0.4 B12… Thank you, Rom

  156. NOOB

    After struggling with the first part of the installationMAC OSx, please ensure that the file fun_plug is marked as executable (chmod 777) How?. I found another website that explained it.
    Part 2. Telnet into DNS320. Again how? Finally found found a website that explained it. What do I get ‘Connection refused” Also tried to do it via SSH, same result. I have given up.

  157. Got a question. I love the fun_plug. And I have got slacker installed. But I got a question about all those packages.
    Sometime there is a package but there are several ‘versions’ of it. Like packagename-arm-0.txz, packagename-arm-1 (and sometimes more). Can anyone explain what those different arm-versions mean?

  158. Hi,

    I successfully installed fp so i could ssh into my 320L and copy/move files around directly from the NAS. After a flawless install and using it to move files around, all was good except that I didn’t want the ffp directory and its log file to be possibly deleted by users. I think I made a mistake and now I cannot log in. I’m getting this error message while attempting to connect before i can even enter a password – “Network Error: Connection refused”
    This is what I did while logged in with SSH as root: I altered those to files owner and permissions with these two commands.
    i) chown -R root:root ffp
    ii) chmod -R 600 ffp
    I’m not sure if this is the culprit but I can no longer gain access after i applied this changes.
    I’m wondering if there is a fix?
    Thanks in advance

  159. Using DNS320L (A3), latest firmware 1.05b06. Tried to install fun_plug by moving the 2 files to my NAS. After reboot, the 2 files remains there. Nothing happen. Guess my NAS did not execute the file. Kindly advice. Thanks.

    1. Same problem with NAS-320L and latest firmware 1.05b06.
      Nothing happen, no log, same files with right extensions, no /ffp on it. Rebbot from Web and power button.

      Any idea?

  160. You removed execute bit from all required scripts and stuff.
    -> reinstall.

    If you’d looked into ffp, you’d see that even though /ffp is 777, all the directories below are 755 (with couple of exceptions, but even they have their contents without write permission to everyone)

  161. Hi!

    Installed the new firmware 1.05b06, and after that downloaded the pks and put on Volume_1.
    But after reboot, nothing hapens… 🙁

    Vitor Jr.

  162. Hi Uli just wanted to give you a big THANKS for an extremelly well written (and funny!) doc for funplug. Just reinstalled funplug on an old DNS-323 with the latest firmware from dlink (1.10) without issue. OK maybe two questions:
    1. Any suggestions for a NFS server package? The one from Dlink is not great….
    2. How can I have a login prompt when using the telnet server? At home I have no real need for SSH and can probably save a few KB in RAM and cpu cycles by foregoing encryption. Thanks again!

  163. Hi, I read all these text up, and many many others web site manuals about how to instal FUN_PLUG. But I can’t be sucsefull 🙁

    My NAS is DNS 320L, I have one HDD in bay A(1) and on the HDD is one Volume_1

    When I copy fun_plug and fun_plug.tgz on root of Volume_1 and restart NAS – absolutly nothing is happend. No FFP dir is make, no log info, nothing.

    Ples, try to help me! Thanks a lot

  164. I think I messed up the steps and now can’t log in SSH or Telnet using PUTTY. How do I clear everything and start over again using all the commands once again? Thanks.

  165. Hello, I was able to just delete all the files and start again. I am stuck in getting the SSH session to start. What port should I use with SSH?
    When I try port 23 it does not work and I can’t type any commands in the session. However, if I try port 22, I can type commands. Should I be using port 22 for SSH sessions? Thanks.

    Also, do I have to deactivate Telnet?

  166. For people using firmware 1.06 on D-Link DNS-320L, the release note indicates :
    “Fun_plug script was removed according to security issue and no longer to be supported.”
    So you have to downgrade to a lower version (1.04b12) if you want to continue using the script.
    I hope some one will find a solution to be able to install new firmware version without loosing the benefit of “fun-plug” wonderful tool..

    1. Can you help me with a password for ROOT user using new firmware 1.06? Ive tryed “root” and blank passwor – its not work 🙁

        1. Can you help me how i can do it?
          Should i use a PUTTY client or windows “telnet”?
          If i connet via “telnet.exe” then i see words “SSH 2.0 OpenSSH 5.0″….. What i should write here?
          NAS Answer for any input is “Protocol mismatch”.

          1. Please make sure, you follow the steps in this guide.
            make note which steps you did and if you recieved the expected output.
            putty with telnet selector, as in the picture here, worked for me.

  167. Hi!
    All went well on most of the install, including the setup of ssh. I was able to reboot the machine and telnet is not working (as it shouldn’t be) and ssh is working (as it should be). Good so far.

    There seems to be a problem with the uwsiteloader.sh script. It seems to be timing out and giving the “Downloading definitions\nFAILED, please check your internet connection!” error. However, when I load the wget link “http://wolf-u.li/u/439” (taken from the uwsiteloader.sh script) in my browser it takes a bit of time but eventually comes back with a list of sites. This is why I think the script is timing out. Perhaps there’s been a change on the server side that’s causing the delay? I don’t know enough about scripting to adjust a wait time to get around the delay.

    Can you suggest something here that would work?


  168. I did a bit more digging and found the following information.
    –2016-02-15 22:02:23– http://wolf-u.li/u/439
    Resolving wolf-u.li… 2a01:488:66:1000:53a9:2330:0:1,
    Connecting to wolf-u.li|2a01:488:66:1000:53a9:2330:0:1|:80… failed: Network is unreachable.
    Connecting to wolf-u.li||:80… connected.
    HTTP request sent, awaiting response… 301 Moved Permanently
    Location: http://wolf-u.li/u/439 [following]
    –2016-02-15 22:02:24– http://wolf-u.li/u/439
    Connecting to wolf-u.li||:443… connected.
    ERROR: cannot verify wolf-u.li’s certificate, issued by `/C=US/O=Let\’s Encrypt/CN=Let\’s Encrypt Authority X1′:
    Unable to locally verify the issuer’s authority.
    To connect to wolf-u.li insecurely, use `–no-check-certificate’.
    While I was doing the earlier parts of the ffp install I had to add the –no-check-certificate to the commands. It would seem that this is where the script is failing. It also is a problem in other parts of the installation, though it can be worked around by adding the above option to the commands.

  169. My apologies for the multiple posts.
    I added ‘–no-check-certificate’ to the wget command and the uwsiteloader.sh script worked fine. I’m guessing that the redirect broke the certificate.
    Feel free to summarize or even just implement and then delete my postings.
    Thanks for the website, it’s been a great help!

    1. Hi Tom,
      I have the same problem here. I guess you added “–no-check-certificate” inside the uwsiteloader.sh. I’m no linux expert, Notepad++ under Win7 won’t save the file. How did you add this to the script?
      Thanks in advance for your help.

  170. Tom and others:

    Despite adding the ‘–no-check-certificate’ to the wget script, i still get the same download failed error. I did have to use, as Tom said, the no check command earlier in the install as well. However, i have tried multiple times and still get the error. Anywhere else maybe i should look?

  171. Hello i need help i m noob
    i have this :
    “root@ServeurDNS:~# wget http://wolf-u.li/u/441 -O /ffp/bin/uwsiteloader.sh
    –2016-03-07 22:04:06– http://wolf-u.li/u/441
    Resolving wolf-u.li… 2a01:488:66:1000:53a9:2330:0:1,
    Connecting to wolf-u.li|2a01:488:66:1000:53a9:2330:0:1|:80… failed: Network is unreachable.
    Connecting to wolf-u.li||:80… connected.
    HTTP request sent, awaiting response… 301 Moved Permanently
    Location: http://wolf-u.li/u/441 [following]
    –2016-03-07 22:04:06– http://wolf-u.li/u/441
    Connecting to wolf-u.li||:443… connected.
    ERROR: cannot verify wolf-u.li’s certificate, issued by `/C=US/O=Let\’s Encrypt/CN=Let\’s Encrypt Authority X1′:
    Unable to locally verify the issuer’s authority.
    To connect to wolf-u.li insecurely, use `–no-check-certificate’.
    root@ServeurDNS:~# chmod a+x /ffp/bin/uwsiteloader.sh
    root@ServeurDNS:~# uwsiteloader.sh

    what to do with this error ?


  172. Re
    I pass this step by add -no-check-certificate after wget
    and now i have the error “downloading definitions
    failed, please check your internet connection”
    what can i do ?

  173. Hi Uli
    At first thanks for your works on fun_plug and D-link NAS
    Like lot of who have installed fun_plug 0.7. I have an issu with ssh. When I reboot my DNS320L root access is denied with the password which i’ve enter like in the tutorial
    I hope you understand what i say (french guy!! 🙂 )
    And i hope you can have an idea/solution for this issu that still seem not solved for 2 years.
    Good job

  174. Hello,

    I followed the steps, but when upload the 2 files on NAS ( file names and extensions are like the described) and reboot it, nothing happens, the two file are still there and there is no .log file. I have DNS-320L with firmware 1.07

    1. Hi Peter.
      As indicated above , unfortunately the latest firmware that supports the ‘ fun_plug ‘ is version 1.04 .
      So it is necessary that you do a firmware downgrade .
      I did the same mistake yesterday; I found the new firmware, and after the update the ‘fun_plug’ stopped working.

      It’s a shame because the firmware 7.1 looked very pretty .

  175. Many thanks for this tutorial. I have just followed it for the third time to install Fonz fun_plug 0.7 on a DNS-320 and it works perfectly.

  176. Hi, I have fun_plug installed on my DNS-320. I recently added a couple IP cameras to my network and want to record only when motion is detected. The motion detection/recording built into the camera leaves a little to be desired.

    I wanted to install OpenCV from memiks’ repository but it appears to be gone. Is there somewhere else to get those packages? If not, how hard is it to compile the packages from his source provided on GitHub?



  177. I followed the tutorial carefully and reached the part where I needed to run “slacker -UaA uli:uwchmod”, but I get the following on my terminal:

    Updating package lists…
    fetch: rsync -q ‘rsync://ffp.inreto.de/ffp/0.7/arm/packages/CHECKSUMS.md5’ ‘/ffp/funpkg/cache/s’
    rsync: failed to connect to ffp.inreto.de: Connection refused (111)
    rsync error: error in socket IO (code 10) at clientserver.c(122) [Receiver=3.0.7]
    FATAL: s: No CHECKSUMS.md5

    Did I miss anything? Or did anything incorrectly? Please help. I just installed fun_plug today.

  178. Hi, anybody got this working on a DLink-DNS-340L ?
    I followed all the steps here,
    rebooted … AND …

    1. I cannot login via SSH at all ( i could login at the beginning, after SSH was activated )
    2. I cannot even ping the IP address of the NAS box.
    I suspect the package update did something… but i did follow all the steps completely at;

    Any ideas anybody ? Do i have to reset the box now ?

    1. Update – Allow me to confirm that this fun_plug works on DLink-DNS-340L.

      The above mentioned problem was solved by rebooting the box a couple of times… Yeah …crazy right ?

      1. For some reason I am unable to get this working on my DNS-340L

        I have tried both the “EABI” and “OABI” versions but every time I reboot there is no folder created and everything is exactly the same as it was before the reboot,

        Is there anything special you need to do to get this to run?

  179. Hi there,
    Great tutorial, ssh is working perfect on my dns-320l!!!

    Just one question, how can I change the ssh port? I’ve tried changing it on /etc/ssh/sshd_config but it’s not working, it changes again to 22 on reboot.

    Any idea?

    Thanks so much for this tutorial anyway!!!

    1. @John – the /etc folder etc wont accept any changes – all changes are lost after a reboot.

      Pls edit in /ffp/etc/ssh ….

  180. Does anybody actually have rsync working via fun_plug ?

    I have been trying to get rsync working – using the DLink 340L as a backup device ( pulling data from a Linux Server ) but have failed. rsync WORKS – BUT ONLY WHEN THE COMMAND IS RUN THE FIRST TIME.

    After that, it fails with error message;
    rsnap: open error for lock file

    The rsync command from nas box to linux server;

    rsync -e ‘ssh -p 1000’ -avi ‘root@’ /ffp/data_svr/

  181. This is very great useful tool and it works fine on my NAS DNS-345 with firmware release 1.04.
    Thanks a lot Uli for this tutorial.

  182. Hello i have a D-Link DNS-320L i downloaded fun_plug and fun_plug.tgz and placed them in in the root of volume_1 (there is no volume_2) there are also 3 directories in this root direktory
    -D-Link Vault

    after a restart nothing happens
    no logfile no ftp directory just nothing
    i checked the fun_plug file is marked as executable

  183. Hello
    some years after this post, I want use your method in order to install owncloud on my NAS DNS320. This debian squeeze installation was simple. However I need to upgrade the squeeze version to a newer one. I’m not a Linux expert. When I try the update commands, I’ve got info that all the links for update are broken. I’ve try to change but same issue. Have got any clues ? thanks

  184. slacker -UaA uli:uwchmod
    This command at the end of the tutorial causes my (second) DNS-320 to hang. It has always worked previously when I’ve followed this tutorial. What could cause this?

  185. Hi. I’ve got a big problem… I can no longer see my shares in ShareCenter on my DNS-325! The DLink web tool is just showing NOTHING in the shares, even though I can still access them through my windows desktop…

    Everything was fine! I don’t know when this problem occurred, nor do I know what I did to make this happen. All I can remember is that at some point, I had tried to change:

    create mask = 0777
    directory mask = 0777
    force create mode = 0777
    force directory mode = 0777

    to a mask of 0775 so that only user/group would be able to write to all files created by samba users. It did not work after restarting and it had just reinserted 0777 by its own if I recall! I don’t remember going into the webtool to see my shares before or after I had tried that though…

    If anyone has a DNS325 (or not!) and can have a look at my smb.conf file, or has any other ideas as to what happened ?? I’d be sooo greatfull !!!

    smb.conf :

    Thanks a million !!!

    1. Also, here are my file rights for the samba configs:

      root@datahub:/# ls -la /etc/samba/
      total 52
      drwxr-xr-x 2 root root 1024 Feb 24 10:39 .
      drwxr-xr-x 14 root root 2048 Feb 24 10:39 ..
      -rw——- 1 root root 45056 Feb 24 10:39 secrets.tdb
      -rw-r–r– 1 root root 2447 Feb 24 10:39 smb.conf
      -rw——- 1 root root 846 Feb 24 10:38 smbpasswd

  186. Hi, thanks for the tutorial, but before proceed as it’s quite aged and before damaging my NAS (a D-Link 320L) I have to ask you: with version 1.08 of the fw does fun_plug is still supported? I’d like to use fun_plug as is reversible and an alt. fw would invalidate the warranty.

    Thank you in advance, regards.

  187. My DNS323 always duplicates the root user line in /etc/shadow after reboot. How can I find out where this happens at bootup? I there a possibility to log the startup process?

  188. Hi, great script this, thanks for all the work!
    I followed instructions for my DNS325 and all goes well, but one thing:
    I’d like to have my own home folder persistant on /ffp/home/rolf (just like root is on /ffp/home/root).
    But after every reboot, it is set back to default /usr/share/ftp.
    How to change that? (or set /ffp/home/rolf as default dir when ssh-ing/rsyncinginto the NAS). Just following instructions and replacing root for rolf doesn’t work…

    1. Try the following in /ffp/etc/fun_plug.init :

      mkdir -p /ffp/home/rolf && usermod -d /ffp/home/rolf rolf

  189. Hi there,

    Trying to install fun plug on my Zyxel NSA320S.

    How do I copy the installation files(the archive and the other file) to the root of the disk(volume1 as you call it). Windows only see the shares of the NAS. I tried to FTP with FileZilla but I can only copy files to one of the folders(admin, video, etc.) not to the top level.

    Thank you for your help

  190. Hello,
    I installed on a DNS-321 and everything worked up to the uwsiteloader.sh step. I get the questions but when it starts to run I get :
    Downloading definitions failed, please check your internet connection, cannot proceed!

    What did I do?

  191. Hello Uli, thanks for the good work!
    i did everything as explained, but keep getting the same promblem with certificate when runing uwsiteloader.sh:

    Connecting to wolf-u.li||:443... connected.
    ERROR: cannot verify wolf-u.li's certificate, issued by `/C=US/O=Let\'s Encrypt/                         CN=Let\'s Encrypt Authority X3':
      Unable to locally verify the issuer's authority.
    To connect to wolf-u.li insecurely, use `--no-check-certificate'.

    error is the same even when i add –no-check-certificate

    ar there any solutions? Thanks in advance!

  192. I have installed FFP on a DNS320 everything was fine until I get this error:

    root@dlink-469989:~# uwsiteloader.sh                   
    Error opening terminal: xterm-256color.

    I have installed FFP before without probem.
    How do I solve this?

    1. If you are ssh ing in try ssh -X
      if that gives the same-ish error then the xterm interface isn’t installed

  193. Hi I am installing Fun_plug and all goes well until I enter the command wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh

    this command fails with the following
    root@PB-CLOUD:~# wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh
    –2020-06-08 20:48:54– http://wolf-u.li/u/172/
    Resolving wolf-u.li… 2a01:488:66:1000:2ea3:4c22:0:1,
    Connecting to wolf-u.li|2a01:488:66:1000:2ea3:4c22:0:1|:80… failed: Network is unreachable.
    Connecting to wolf-u.li||:80… connected.
    HTTP request sent, awaiting response… 302 Found
    Location: https://wolf-u.li/downloads/3779-d2ee273e64e3c3166139f56fbb100067/store-passwd.sh [following]
    –2020-06-08 20:48:54– https://wolf-u.li/downloads/3779-d2ee273e64e3c3166139f56fbb100067/store-passwd.sh
    Connecting to wolf-u.li||:443… connected.
    ERROR: cannot verify wolf-u.li’s certificate, issued by `/C=US/O=Let\’s Encrypt/CN=Let\’s Encrypt Authority X3′:
    Unable to locally verify the issuer’s authority.
    To connect to wolf-u.li insecurely, use `–no-check-certificate’.

    What am I doing wrong?

    1. Hi Paul – another Paul here. I encountered the same issue. I added the `–no-check-certificate’ parameter immediately after wget and before the url, to allow an insecure connection to wolf-u.li. It fixed the issue and let me download the script.



  194. Now that flash player is not supported is there a way of installing funplug on a DNS320.
    I have taken a disk from the DNS320 and connected via usb to my computer (linux) and the ffp files appear to be in the root but nothing happens when I reboot.

  195. Hi I solved the problem using my Terramaster disk unit using Vol 1 from the DNS320 and recopying the Fun_plug file over to Vol 1.
    Replugged n the DNS320 restarted and it worked.

  196. Hmm, I’m having problem with the uwsiteloader.sh
    The line in there:

    wget –no-check-certificate http://wolf-u.li/u/439 -O $TMPFILE1


    Connecting to wolf-u.li||:443… connected.
    OpenSSL: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
    Unable to establish SSL connection.

    Gooling this seems to say that wget use a to old SSL-version :/
    Anyone got a solution?

    Best regards

Leave a Reply to Toolman Cancel reply

Your email address will not be published. Required fields are marked *