DNS-320 – making fun_plug and old packages work

The change in the location of hard disk mounting point in the DNS-320 broke fonz’s fun_plug. fonz’s fun_plug was created to run on earlier D-Link NAS (DNS-313, DNS-323, DNS-343) whose Volume_1 was mounted at /mnt/HD_a2. In DNS-320’s case, Volume_1 was actually mounted on /mnt/HD/HD_a2.

This change in mounting point also broke some of the packages created earlier as rely on /mnt/HD_a2 for storage. Transmission Bittorrent client (transmissionbt) is one of the packages that won’t run on the DNS-320 out of the box.

To make fonz’s fun_plug work (again) is actually quite simple. Some text replacements in the file “fun_plug” should fix the issue. To make it simple, I have made the necessary replacements and made it available as a download.  I have also created another file “/ffp/etc/fun_plug.local” to instruct the system to make the mounting point on the DNS-320 appear like it is on the DNS-323.

Check out D-Link ShareCenter Pulse DNS-320 deals on Amazon.


  1. Modified fun_plug for DNS-320 Download (MD5: 81dbd1acbfeb2003b52084d157109b44)
  2. fun_plug.tgz Download (MD5: fcaf37a0a26222ef1231fe287e972a9b)
  3. fun_plug.local for DNS-320 Download (MD5: 326f60fba339bccf6934c3e4a78714af)

Getting fonz’s fun_plug to run on the DNS-320

  1. Download the modified fun_plug (file no. 1) and save it as “fun_plug” (without any file extension) onto your computer desktop. You may want to do a right-click -> save as.
  2. Download fun_plug.tgz (file no. 2) and save it as “fun_plug.tgz” onto your computer desktop
  3. Copy the 2 downloaded files (fun_plug and fun_plug.tgz) onto Volume_1 of the DNS-320
  4. Download fun_plug.local (file no. 3) and save as “fun_plug.local” onto Volume_1 of the DNS-320
  5. Reboot the device
  6. Wait for a while (probably 2 minutes) before continuing to the next step

Making DNS-320 compatible with older packages

  1. Telnet to your DNS-320 (e.g. telnet <IP address>)
    You should be greeted by the prompt “/ #”
  2. Navigate to Volume_1 by typing the command “cd /mnt/HD/HD_a2
  3. Check if fun_plug.local exists by typing the command “ls
    You should see fun_plug.local as one of the files
  4. Move fun_plug.local to the correct location by typing the command “mv fun_plug.local /ffp/etc
  5. Make fun_plug.local executable by typing the command “chmod a+x /ffp/etc/fun_plug.local
  6. Reboot the device
  7. You can proceed to install packages meant for devices like DNS-323

Well, I hope that by creating a symbolic link (/mnt/HD_a2 -> /mnt/HD/HD_a2) would solve most of the package problems. Do feedback if it doesn’t work for you.

Getting a DNS-320?

Check out D-Link Systems ShareCenter 2-Bay USB 2.0 External Hard Drive Enclosure DNS-320 Black deals on Amazon.com



Treat shadowandy!

If these step-by-step guides have been very helpful to you and saved you a lot of time, please consider treating shadowandy to a cup of Starbucks.  

79 thoughts on “DNS-320 – making fun_plug and old packages work

  • November 29, 2010 at 10:01 am

    Does the linux in dns320 have mount -o bind option? That’s another way to solve the problem transparently, ie make /mnt/HD/HD_a2 appear at /mnt/HD_a2 as well.

    mount –bind /path1/ /path2/

  • December 3, 2010 at 6:14 pm

    Hi guys,

    Just wondering, if I install this software (ffp w/ its packages). Will I be able to use the DNS 320 native applications?

    Is it simple to uninstall this whenever I don’t want it anymore?

    Thanx in advance.

  • December 4, 2010 at 9:51 am

    Yes, existing NAS application will not be effected. Funplug is basically an add-on and can be remove with ease.

  • December 4, 2010 at 11:19 am


    The native applications will still work. 🙂

    You can easily remove ffp if you don’t need it anymore.

  • December 11, 2010 at 6:13 pm

    I have a dlink dns-320. I downloaded the three files and put them in the root of Volume_1 like so:

    After three reboots, a factory reset, and another reboot, I get connection refused on telnet and nothing else seems to have changed either.

    What am I missing?

  • December 13, 2010 at 3:38 pm


    I also have a DNS-320. I’ve followed your suggestions to make fun_plug work with the DNS-320 but I’m having problems with rsync, as you may see:

    root@NAS2TB:/mnt/HD/HD_a2/ffp/pkg# rsync -av –update –progress –stats inreto.de::dns323/fun-plug/0.5/packages .
    receiving file list …
    100 files to consider
    sh: xterm: not found91.16kB/s 0:00:04
    rsync: connection unexpectedly closed (2942 bytes received so far) [generator]
    rsync error: error in rsync protocol data stream (code 12) at io.c(601) [generator=3.0.7]
    sh: xterm: not found

    It only happens if I’m connected via SSH, via Telnet it works fine.
    Are you experiencing this too?


  • January 6, 2011 at 12:37 am

    One question ShadowAndy,

    If I put Fun_Plug on the DNS-320, then telnet into the box and removed some files by mistake from the root or somewhere important.

    If I then HARD reset the NAS would everything be restored?

    Does this reset the whole operating system on the NAS to the same state as when it left the factory?

    So whatever I mess up gets cleared up? Or is this not the case?

    I guess there must be some PROM for this to happen?

    Any thoughts?

  • January 22, 2011 at 6:54 pm

    When I install Fun_Plug on my DNS-320 network speeds drop to about 50mbit. Deafult settings and brand new DNS-320 with no previous modifications. When I remove Fun_Plug Iäm back to normal 250-300mbit throughput. Any ideas?

  • January 29, 2011 at 12:57 am

    i just buyed DNS-320 .is there any way to enable ISCSI services on it

  • February 12, 2011 at 6:49 am

    This installs and unpacks great. Can you tell post on how to install squeezebox server after completing these instructions?


  • March 10, 2011 at 7:09 am

    Please can somebody tell me what to type in on tellnet

    i know my ip adress
    but what command do i type in once i open up the tellnet box

  • April 14, 2011 at 7:18 pm

    Warning: fun_plug with DNS-320 firmware 2.00 is not stable.

    It gives you a lot of headaches.

  • April 15, 2011 at 12:46 pm

    Huh? Not stable as in? Please give specific example.

  • April 24, 2011 at 9:11 pm

    I’ve just bought a DNS-320 and upgraded with Firmware 2.00.
    Before I go ahead with fun plug setup…

    @Alvingo – Please advise what the stability issues are, thanks.

  • April 25, 2011 at 12:28 am

    Agree with Alvingo. Fun_plug is unstable with firmware 2.00. DNS ands up being locked, and can not be accessed at all anymore for some reson – always have to reboot.

  • April 25, 2011 at 4:22 pm

    Have now tried to completely remove fun_plug. Hope the stability comes back. Also reflashed firmware. It his does not help I will have to return it.

  • April 25, 2011 at 11:19 pm


    Care to share what is the instability issue? In fact my DNS-320 has been running for the past 1 month or so.

    root@DNS320:~# uptime
    15:13:35 up 29 days, 4:28, load average: 0.36, 0.33, 0.27

  • April 26, 2011 at 12:04 am

    Well, I am not sure… I am not an expert on funplug, just tested it.

    First time I installed using your instruction. Only followed what is on this webpage, Never passivated telnet etc. FW was 2.0 (latest). After a few days of passively having it activated my DNS started to “hang” i.e. I was not able to access it. However it was not completely stopping input, I could still ping it. But was unable to login using telnet, web-i/f was unacessible and the file share was not possible to reach.

    I then removed funplug completely, reflashed the box with latest firmware, and it worked OK again.

    Decided to try it again, since I would like to at least have more log info and be able to run basic Busybox commands (ps, top etc) to manually monitor the DNS. Unfortunately, I ended up in the same scenario – the DNS “froze” for me again and became completely unaccessible. Maybe I did something wrong, but I followed your guide above. Unfortunately I was not able to see anything useful in logs either,


  • May 3, 2011 at 6:02 pm

    Same problem as Mickael, connection refused.
    What i missed ?

  • June 14, 2011 at 9:17 pm

    Script won’t load at startup !
    Nothing happen …

    What have i miss ?

  • June 15, 2011 at 12:24 am


    My dns-320 don’t execute the fun_plug, like Micka1el and Zegat.
    Help us plz

  • June 15, 2011 at 10:02 pm


    Try looking at your Volume_1, is there a new ffp directory and ffp.log file created?

  • June 18, 2011 at 4:13 pm


    I followed your guide however I couldn’t telnet to the dNS-320. i get a connection refused. I can see the ffp folder though via ftp.

  • June 18, 2011 at 10:41 pm


    If you see the ffp folder, it means that the files have been extracted. Can you look into ffp.log and check if the services are starting? Particularly telnetd.sh

  • June 19, 2011 at 5:48 am

    Hi shadowandy.

    Thanks for this guide. I seem to have made the telnet work by rebooting the device!

  • June 28, 2011 at 2:27 pm

    I can confirm that fun_plug works excellent with firmware 2.0 (2.0b6 exactly – recent, downloaded from dlink ftp). No stability or performance problem.
    But i have other question. I need to run scheduled backups from remote locations, so I use for that cron and scp. Everything is working as should but there is a problem with executing cron after reboot (yes I know that system is working in ramdisk 😉 ).
    I’ve added few lines to the end of fun_plug that kill crond, insert my scheduled jobs in /var/spool/cron/crontabs/root and restart crond so it can survive reboots. And here is the problem – it looks that crond isn’t executing my jobs. But if I put exactly same lines from ssh, restart crond then everything is working ok.
    Any help guys? Maybe you know where i can set my jobs in original root-crontab and save it in flash or where is safe to modify config and add these lines?
    Thanks and Greets. Sierp

  • July 6, 2011 at 9:02 pm

    Info: I tried installing fun plug on DNS 320 for a few days and I always get the ‘Invalid Tar Magic’ Error with logs and directory created but the fun_plug.tgz removed.

    I finally found the resolution …thanks to dorea42 at http://forums.hardwarezone.com.sg/showthread.php?p=56740703

    I need to use IE to download fun_plug.tgz

    Using Chrome or Safari somehow will not download the complete tar file.

    I hope this will help others so that they do not waste so many days to figure this out.

  • July 14, 2011 at 2:57 pm

    Hello, have you tried to install Twonky from the NASSetup.bat that is provided by Twonky download into DNS-320? It seems does not work – I’ve been trying to play around with the starttwonky.sh file and it keep saying that the twonkymedia file not exist :)) Which apperently is listed in /mnt/HD/HD_a2 instead of the default as in DNS-323 in /mnt/HD_a2 :))

    Any advice please?

    Thanks in advance.

  • July 26, 2011 at 3:04 pm

    Hello Shadowandy, have you tried to install Twonky 6.0.34 by NASSetup batch file provided from Twonky? – I hit a problem, after installation it just doesnt want to run…

    / # cd mnt
    /mnt # cd HD_a2
    /mnt/HD/HD_a2 # sh starttwonky.sh
    route: SIOCADDRT: File exists
    starttwonky.sh: line 5: /mnt/HD_a2/twonky/twonkymedia: not found
    /mnt/HD/HD_a2 #

    Any advice perhaps?

  • July 27, 2011 at 10:23 pm

    Hi,i cant move fun plugg local file in telnet,i can see the file but when i try to move it it says file not found??

  • July 27, 2011 at 10:42 pm

    it worked now.

  • August 10, 2011 at 6:58 am

    Thx for this paper. If you’re kinda stupid just like me, don’t forget to select telnet while using putty (and not the default ssh). It will work much better!

  • August 21, 2011 at 3:25 pm

    Andy, I suggest you post the md5sums or other hashes so that pple can check if their download is correct.

  • August 21, 2011 at 5:52 pm


    Point taken. 🙂

    Have generated the MD5 for the files.

  • August 29, 2011 at 4:01 am

    Hi Guys,

    Just an FYI for all you having troubles.

    If you’re on a mac, the files with no extension save with .txt extension and even when you delete through finder, it still keeps the .txt extension, so best thing to do is to open a terminal and run the following command

    mv fun_plug.txt fun_plug
    mv fun_plug.local.txt fun_plug.local

    Then copy the files to your DNS/NAS folder and reboot, it should now work as described above.

  • August 29, 2011 at 4:02 am

    Oh and PS, thanks shadowandy for the great guide, got me new DNS 320 running Deb Squeeze with no issues as yet 🙂

  • October 10, 2011 at 8:10 pm

    On my DNS-320 /mnt/HD/HD_a2 was Volume_2, not Volume_1.
    So I had to put fun_plug on Volume_2 in order for telnetd to start.

    This is probably because when I first bought it I had only one disk in the Left Bay, then switch it to the Right Bay and added a new disk to the Left Bay down the track.

  • October 19, 2011 at 1:15 pm


    Well, physically remove the HD_b2 from the DNS-320, reboot it. Then shut it down. Then insert HD_b2 and boot it up again. It should correctly assign Volume_1 to HD_a2. For some reason, this works for me.

  • January 6, 2012 at 12:10 am

    Hi, I copied the three files to my dns-320 but I have no telnet Access. I used another funplug from a German Page and telnet works. But I cannot install Squeezeserver on this

  • February 26, 2012 at 8:18 pm

    How do you actually install the squeezeboxcenter on the DNlink 320? I’ve been looking everywhere for a good guide but havn’t found anything. It stops at installing fun_plug. Noone is explaning how to actually install the mediaserver.

    Thinking about returning this and getting a Netgear that actually supports this function.

  • February 29, 2012 at 5:32 am

    Hello, just bought a DNS-320 and trying to install this but i pretty much feel like a dummy. I have downloaded the files as described and rebooted by web interface, and then nothing happens…?!
    What is Telnet? Where do i Telnet to DNS-320?
    What does “You should be greeted by the prompt “/ #” mean?
    Where do i “Navigate to Volume_1 by typing the command “cd /mnt/HD/HD_a2“”
    When i am in command prompt and in C:/ i get that i could not find /mnt/HD/HD_a2“”

    If you could make the the instructions a little bit more for dummies i would appriciate it very much.

  • February 29, 2012 at 7:39 am

    Hi Per,

    Telnet is a communication program on your PC. You can search around on Google to understand more about it. Some operating system (e.g. Windows 7) requires you to manually add the telnet component before you can use it.

  • March 2, 2012 at 2:15 am

    Hi shadowandy,

    Thank you very much for your answer although I am still having problem. When i telnet my NAS i only get that it “can not connect to host computer on port 23”. Can you give me any tip? i am using Windows 7 and i have also trying shutting down Antivir firewall Most thankful for your help.

  • March 21, 2012 at 10:06 pm


    I am a happy user of nas d-link sharecenter dns-320 (pulse)

    Usually I use this through its web interface, but since I’m
    also a happy linux user that always prefers to use
    software in command-line so I created a simple script
    management p2p and other basic functionality(for now).
    I created a Mercurial repository on Bitbucket to this address:


    You can download it and use it freely, hopefully useful, for example via
    to check your NAS remotely through a linux server.

    I hope to use it than you think to help me to add new
    useful features, in a short time to cover all aspects of the NAS.

    Happy Hacking

  • April 14, 2012 at 11:33 am

    Hi Andy,
    Need some help with my DNS-320. I had ffp installed, SSHd up, telnet disabled. So when I logged in today, it forced a password change. Stupidly I chose a password that is longer than 8 characters long. The password change was accepted, but now I am locked out of my box, both ssh and web interface. Is there anyway out? Why is it being so ridiculous? Thanks!

  • April 14, 2012 at 1:18 pm

    Ah.. Never mind.. Re-installed ffp. Silly me.

  • April 15, 2012 at 2:17 pm


    Yeap, reinstalling should fix most problems. 😀

  • May 30, 2012 at 5:25 pm

    hi, i have recently installed ffp and transmission-daemon on my dns320… I was able to have transmission run (with the help of my friend). unfortunately, just now, when i tried to access my nas via web, it is not accepting any of the credentials i have set before. even the admin user. however, i can login to it via telnet using the root user. What could be the problem here?

  • May 31, 2012 at 7:19 pm

    Hi, your post regarding moving fun_plug to USB does not allow replies so this is the closest one…

    Funplug is now running from my usb stick, but python apps like sabnzbd are no longer working, how do I go about fixing this, do I have to install debian squeeze on the usb?

    Also, is there not a way to have everything on the USB stick and reserve the hard drive just for storage? Why does there need to be a fun_plug on the hard drive pointing to the usb?

  • May 31, 2012 at 9:30 pm


    Does sabnzbd correctly links to thr libraries and files in /ffp or in /mnt/HD_a2/ffp? If it is using the latter, it might not work cos it is not meant to run with the newer ffp linkages.

    I am not using sabnzbd so will not be able to advice further on this.

    As for fun_plug, the NAS only recognises the fun_plug file in a specific location (the first hdd), hence it is used to redirect the system to use the ffp on usb. It is the design of the NAS which we do not have means to change.

  • May 31, 2012 at 9:32 pm


    Have you or your friend accidentally change the admin password? Installing ffp should not affect your web admin password. You can try changing the password by using the passwd command in telnet.

  • June 1, 2012 at 1:54 am

    Hi shadowandy, I wasn’t sure how to check so I just installed everything again on the usb stick. Everything worked fine, I didn’t need to do the UUID part or use the modified script. (maybe that’s where I’ve gone wrong?)

    My problem now is I don’t know how to mount the hard drive, squeeze/mnt/HD/HD_a2 used to take me to the root of the hard drive now it doesn’t. Do I need to set up a symbolic link or something? (I’m pretty clueless when it comes to this stuff!)

  • June 1, 2012 at 2:06 am

    I’m properly confused now, I have no /mnt/USB/ and I can’t even see the squeeze folder via ssh yet it’s there on the network

  • June 1, 2012 at 3:37 pm

    Hi, im not sure if we have accidentally changed the admin password, but i already tried changing the admin password via telnet, and still wont able to access. Would it be possible for you to provide me the right directory/prompt where to change the admin password via telnet?

  • June 1, 2012 at 6:21 pm


    You can attempt to reset the dlink web admin password by resetting using the reset button (at the back of the box).

    You can check the dlink manual or helpdesk regarding this.

  • June 1, 2012 at 6:24 pm


    I am not familiar with the squeeze package and also not using it.

    Probably you can check with the author or the person who packaged it. He/She might be able to help you.

    It might not be compatible with ffp running on USB hence it would be better that you stick to the regular ffp.

  • June 1, 2012 at 8:49 pm

    hi… rebooting the NAS did the trick! i was afraid to reboot it before because last time i did, all my current downloads got screwed up. but now, they are still ok. thanks again

  • July 17, 2012 at 9:10 pm

    hi andy, i posted my issue on hwz but no one is able to have any clue so i am trying my luck here. hope you don’t mind.

    the problem that i am facing with my dns320 started after m1 came to install the 100mbps fibre about a week ago. previously, when i was with starhub maxonline express i can access into the NAS without any issue but now i can’t access it through my imac/ mac. i also tried to access with my macbook pro but to no avail. so, i tried it with bootcamp, accessing into the NAS is a breeze.

    my setup is…
    ONT > asus rt-n56u > imac
    > dns320

  • August 7, 2012 at 12:01 am


    Having this problem when i tried to do a install for curl.

    /mnt/HD/HD_a2 # funpkg -i curl-7.21.4-arm-1.txz
    tar: invalid gzip magic
    FATAL: curl-7.21.4-arm-1.txz: Failed to unpack package

  • August 7, 2012 at 12:10 am

    Not only Curl,

    for every other package as well.


  • August 7, 2012 at 12:14 am


    If you are on ffp-0.5, download the packages that ends with tgz. Packages that ends with txz are meant for ffp-0.7. Hope it helps.

  • August 7, 2012 at 12:24 am


    Is your curl download corrupted? The MD5 should be:

    MD5 (curl-7.21.4-arm-1.txz) = 31e978e8891f021723922419cee71206

    Another way is to use ffp-0.5. I’ve yet to try ffp-0.7 so cannot help you much on this.

  • August 7, 2012 at 12:30 am

    Thank you Shadowandy!

    i got it to work.

    I’m forgo-ing ffp-0.7 and instead use 0.5

  • August 8, 2012 at 11:00 pm


    The tgz file does not unpack, got all files in the root from volume_1.
    And I cannot telnet the nas.

    🙁 I must do something wrong, but what?

  • August 8, 2012 at 11:15 pm


    Do read through the comments to how others fixed the problem. Did you see a new folder named “ffp” created?

  • August 9, 2012 at 11:12 pm

    Hi Andy

    Thanks for the reply

    Oh I did read it, and do think I have done as others, but no success. No the folder “ffp” has not been created.


  • August 9, 2012 at 11:19 pm


    Put the files on volume_2 instead of volume_1 now they unpack and I can telnet to the NAS.

    But I do not get the “/ #” as I should but “sh-4.1#” instead.


  • August 10, 2012 at 1:47 pm


    I do get this “sh-4.1#” as well. What I usually do is remove the ffp folder and put in the tgz to let it unpack again.

  • August 10, 2012 at 7:28 pm

    Sorry to keep on bothering you.

    but I cannot delete the folder from windows file manager, I do not have the rights, need to be root. And the tgz file aparrently will not unpack, unless it is deleted.

    What to do?

  • August 10, 2012 at 8:02 pm

    Figured it out, used the web ui file manager

  • October 7, 2012 at 2:09 am

    Can I use it on DNS 320l

  • April 22, 2013 at 6:38 pm

    Hi m8 – the 3rd file (3.fun_plug.local for DNS-320 ) does not seem to be available? Can the DNS320 run squeezeboz server without this file?


  • April 27, 2013 at 1:31 pm

    Hi Pete,

    I am able to download the file. Without it, packages may not work properly.

  • May 31, 2013 at 3:14 am

    Hi, Thanks and great. A little late (3 years) from your page but works fantastic, so thanks again.

    Things have moved on a little now and been looking at a way to update the software on the nas to the latest version. Any ideas?

Comments are closed.