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.

  • jason

    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/

  • alvingo

    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.

  • Albert

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

  • shadowandy


    The native applications will still work. 🙂

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

  • Mikael

    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?

  • gnfpt


    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:

    [email protected]:/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
    [email protected]:/mnt/HD/HD_a2/ffp/pkg#

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


  • Dave

    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?

  • Joe

    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?

  • raj_shortcircuit

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

  • Nick Aldridge

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


  • nick

    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

  • alvingo

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

    It gives you a lot of headaches.

  • Albert

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


    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.

  • Uffe

    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.

  • Uffe

    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.

  • shadowandy


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

    [email protected]:~# uptime
    15:13:35 up 29 days, 4:28, load average: 0.36, 0.33, 0.27

  • Uffe

    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,


  • Zegat

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

  • Micka1el

    Script won’t load at startup !
    Nothing happen …

    What have i miss ?

  • Micka1er


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

  • shadowandy


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

  • Dino


    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.

  • shadowandy


    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

  • Dino

    Hi shadowandy.

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

  • sierp

    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

  • Edward

    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.

  • Archie

    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.

  • Archie

    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?

  • joakim

    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??

  • joakim

    it worked now.

  • Mathieu

    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!

  • WL

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

  • shadowandy


    Point taken. 🙂

    Have generated the MD5 for the files.

  • David

    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.

  • David

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

  • Simon

    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.

  • shadowandy


    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.

  • Pingback: D-Link DNS-320 | tonywoolf's place()

  • Pingback: Moving fonz’s fun_plug (ffp) to USB | shadowandy - my life stories()

  • Roland

    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

  • M

    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.

  • Per

    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.

  • shadowandy

    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.

  • Per

    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.

  • zakis


    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

  • ykk

    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!

  • ykk

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

  • shadowandy


    Yeap, reinstalling should fix most problems. 😀

  • midori

    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?

  • james

    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?

  • shadowandy


    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.

  • shadowandy


    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.

  • james

    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!)

  • james

    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

  • midori

    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?

  • shadowandy


    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.

  • shadowandy


    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.

  • midori

    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

  • james

    sorted, the debian squeeze package for the dns320 replaces the fun_plug script in Volume1 with it’s own version, I had to edit this to mount drives. thanks for http://www.shadowandy.net/2011/12/moving-fonzs-fun_plug-ffp-to-usb.htm it was invaluable.

  • Pingback: voidnoise.co.uk » D-Link 320 NAS & Logitech Squeezebox Server()

  • Edwin Lim

    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

  • Hi,

    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

  • Not only Curl,

    for every other package as well.


  • shadowandy


    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.

  • I’m on ffp-0.7

    that’s why i am having this headache right now…

    I download from http://inreto.de/dns323/fun-plug/0.7/arm/fun_plug.tgz

    place this in my volume_1 with the fun_plug


    After that i am able to telnet.

    Tried to install curl but having this problem.

  • shadowandy


    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.

  • Thank you Shadowandy!

    i got it to work.

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

  • Jan


    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?

  • shadowandy


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

  • Jan

    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.


  • Jan


    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.


  • shadowandy


    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.

  • Jan

    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?

  • Jan

    Figured it out, used the web ui file manager

  • itso

    Can I use it on DNS 320l

  • Pete

    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?


  • shadowandy

    Hi Pete,

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

  • carl

    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?