Installing a BitTorrent client on the Pogoplug

The Pogoplug can be turned into a dedicated BitTorrent client by following the steps below.


1. PREREQUISITES
As a prerequisite of this article, please complete the steps described in my previous post here in order to prepare your Pogoplug so you can install packages using the IPKG package management system.


2. INSTALLING THE BITTORRENT PACKAGE
To install the Transmission BitTorrent client, SSH to your Pogoplug and perform the following:

# install transmission
/opt/bin/ipkg install transmission
# start transmission in order to generate a default configuration file
/opt/bin/transmission-daemon
# stop the transmission process
killall transmission-daemon
# make a new configuration directory to hold the transmission configuration files
mkdir /opt/config
# move the freshly generated transmission configuration files off of the main flash drive and onto the spare flash drive
mv /root/.config/transmission-daemon /opt/config/
# move into the transmission configuration directory
cd /opt/config/transmission-daemon/
# backup the generated configuration file
cp settings.json settings.json.backup

3. CONFIGURING THE BITTORENT CLIENT
At this point, the Transmission BitTorrent client is installed on your Pogoplug, congratulations! Now we need to decide on a location for torrents to be downloaded to. To do this, perform the following (in a terminal session):

# Display disk usage
df -h

and observe the output. This command lists hard drives connected to the Pogoplug, as well as any mounted internal flash drives. You can choose any drive to download to, but I would advise a connected USB hard drive to prevent unnecessary reading of the flash drive, and also help prevent filling up the internal flash drives (which can lead to boot problems).
Anyway, you should see something similar to this:

-bash-3.2# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/mtdblock2           32.0M     14.4M     17.6M  45% /
none                    125.0M      3.2M    121.8M   3% /tmp
/tmp/.cemnt/sda1        916.9G    435.1G    472.5G  48% /tmp/.cemnt/mnt_sda1
/dev/mtdblock3           91.0M     14.7M     76.3M  16% /opt

The USB drives connected to your pogo plug will be mounted under “/tmp/.cemnt/”. In my case, I chose the following destination folder (which already existed on my Pogoplug):

/tmp/.cemnt/mnt_sda1/My Documents/Downloads/

Now we will update the Transmission configuration file to use our selected directory. To edit the file, enter the following:

# Enter a text editor to edit Transmissions settings.
vi /opt/config/transmission-daemon/settings.json

You will need to update the following keys with your selected download directory:

“download-dir”, “incomplete-dir”.


4. RUNNING THE BITTORENT CLIENT

To start the BitTorrent client, run the following:
# Start the Transmission client, pointing the application to the custom configuration directory
/opt/bin/transmission-daemon --config-dir /opt/config/transmission-daemon/

You should now be able to access the web interface for the BitTorrent client by entering the following into a browser on a device in the same local network as your Pogoplug:

http://pogoplug:9091/transmission/web/

Replacing “pogoplug” with the IP address/domain name of your Pogoplug device.
Your Pogoplug is now running a BitTorrent client 🙂

81 Comments

  1. Hi,I was doing ok until the vi /opt/config/transmission-daemon/settings.json bit and then I don't know what to do. I had to close putty to get out of it.Ben

  2. Great! Must know some SSH to do this correctly. Also, is Transmission-daemon set to start automatically on reboot? Please advise. Thanks!Zacbestbusinesses@gmail.com

  3. Hi Ben,Vi is a text editor. It can take a little while to learn how to use, mainly due to the fact that it is controlled entirely by keyboard commands. However, if you are interested in spending the time learning how to use it, you will (hopefully) find that it is incredibly fast to write with.There are plenty of online tutorials; Google "vi tutorial" or take a look here http://www.unix-manuals.com/tutorials/vi/vi-in-10-1.html.Alternatively, if you do not wish to learn how to use Vi, you can run the following on your Pogoplug to install a different (and probably more straight-forward for beginners) text-editor, Nano:/opt/bin/ipkg install nanoThen you can edit the Transmission config file using:/opt/config/transmission-daemon/settings.jsonHope that helps :)Aaron

  4. Hi Zac,Transmission-daemon will not start automatically after rebooting. However, you have a couple of options to achieve this:OPTION 1: Create a bash script to start your manually installed services. Something like: # Create a startup script touch /etc/startup.sh # Edit the startup script vi /etc/startup.shThen you could add the following to the startup.sh contents: # Mount the spare internal flash drive mount -o remount,rw / mount /dev/mtdblock3 /opt # Start the Transmission daemon /opt/bin/transmission-daemon –config-dir /opt/config/transmission-daemon/After each reboot you would simply SSH onto the Pogoplug and run the following: /etc/startup.shOPTION 2: (NOT RECOMMENDED) Edit the startup bash script, found at "/etc/init.d/rcS". You could add the contents of startup.sh (above) into this script, then your services will start automatically when the Pogoplug boots.I don't recommend this method – if you make a typo in the rcS file, you could find that your Pogoplug will not boot.Based on how often you need to reboot your Pogoplug (I'm guessing not that often?), I would go with the first suggestion.Kind regards,Aaron

  5. This guide works like a dream. I know almost nothing about Unix/Linux, other than a few vi commands.My next challenge is to get Samba running. Are you still going to tackle this at some point, and do you think it should be possible without installing something like openpogo?Once again, thanks for your work so far, and I'll be following your updates closely now :-)Andy Bailey

  6. Hi Andy,Thanks for the positive feedback :)I certainly will create a blog post for Samba setup, and you can definitely install Samba on the Pogoplug without OpenPogo (this is exactly what I've done).The Samba install/setup is very straightforward, I'll do my best to get a post out in the next day or two.Cheers,Aaron

  7. Hi Andy,Please see the following post for instructions on installing Samba on the Pogoplug. Let me know how it goes 🙂 http://aaronrandall.com/blog/installing-samba-on-the-pogoplug/

  8. Aaron,The Samba installation works like a dream. It's a much better way of connecting than using the Pogoplug application. Thank you.I only have one other question:In one of your replies, you recommended the use of a bash file (/etc/startup.sh) to restart Transmission. I've used that file, and also added a line to start Samba. I went one step further, and added /etc/startup.sh to the end of the /etc/init.d/rcS file, with the intention of starting the applications automatically, but avoiding the chance of typos.Doing it this way starts Samba with no problems, but Transmission always fails – it's running, but if I check using a web browser, it gives a message against each torrent stating that the download directory can't be found. If I restart Transmission that all is fine. Equally, if I remove the line from /etc/init.d/rcS and run it from putty, it works that way too.Am I missing something here? I wondered whether the Pogoplug took a while to re-map the drives, so at the time of launching Transmission the download directory wasn't available. As I said before, I don't really know Linux, so don't want to mess anything up. I just thought it would be easy to get everything to start as soon as power was restored. Any ideas?Again, many thanks for your postings, they've been a great help.Andy Bailey

  9. Andy,Unfortunately I'm not using the rcS file (out of fear of bricking my device), so I can't test this issue. However, it may be an idea to post to the Pogoplug forums to see if anyone can help you there.It looks like this post also describes the issue where drives aren't mounted while the rcS file is running:http://goo.gl/6b4quSorry I can't be of more help. If you find a solution please post it back here :)Kind regards,Aaron

  10. Heyyyy greaaaaat Aaron, thanks :)So far I thought I had to install some OpenPogo to use extra features (1st one was torrent client; 2nd one would be the ability to use attached drive as any other network drive, through SMB for ex.)Btw, could you give me any idea on how to mount a network drive onto the pogo? On the same network I have a drive accessible through SMB?Huge thanks in advance!BrunoPS: I'll have a look on how to restart all services when device reboots (mine is not so stable: have to reboot it 2 to 3 times a week)

  11. update: to use USB attached drive on the network, I found how to and installed SMB server.To mount SMB disk, it seems more tricky: you need to install SMB client and it's getting more complicated… but I'll try ;p

  12. Hi Bruno,Glad to hear you found the post useful!Apologies for the delay in replying, I've been without Internet access for a few days while it's being upgraded, and will be offline for a few more (sending this from my phone). I can check once I'm back online, but I believe that I've accomplished something similar using "smbmount". It might be worth looking through the Ipkg package list for "smbmount" or "smbfs". Let me know how it goes :)Aaron

  13. Hi Aaron!Thanks for you kind feedback :)In fact, I gave up with the SMB mounting: I finally attached the other drive to the Pogoplug. In my config that was simplier.First I have to say that SMB server + bittorrent server were running fine while pogoplug services were still available.Now I have a problem. Today I had to reboot the PP because PP services were not available anymore (orange light): this used to happen many times a week (what make me say that PP is not really a stable device/service), so it didn't surprise me. But after having rebooted, my drives were not mounting anymore, in the PP app, but in fact on the system itself (df -h gives me none of my 2 disks). But when I check with "cat/proc/scsi/scsi", then I can see my drives.I'm now looking about that issue and trying to find a way to create a script or sthg to auto-mount the disks and to start the 2 servers. Help would be appreciated :-pTake care,Bruno

  14. Hi Bruno,The standard Pogoplug services should take care of mounting your drives for you – I'm not sure that mounting them yourself will solve the issue.Have you considered requesting a replacement Pogoplug? If your device is within a year of purchase, you're probably entitled to a replacement under warranty. Maybe a new device will be more stable (my Pogoplug does not need rebooting, it "just works").I would suggest an email to support@pogoplug.com, they seem pretty responsive.Let me know how it goes.Aaron

  15. Hi Aaron,I am getting this error after the install "Error:Unable to save resume file: Read-only file system"Any suggestions?Thanks in advance.David

  16. Hi David,I have a few questions for you which may help us to resolve this issue:What Pogoplug version do you have?What user are you SSHd to the Pogoplug as? (root?).Did you remember to remount the root disk with read-write permissions? ("mount -o remount,rw /").Are you definitely starting the Transmission Daemon with the custom config path? ("/opt/bin/transmission-daemon –config-dir /opt/config/transmission-daemon/).Cheers,Aaron

  17. Hey Aaron. Everything seemed to go just fine in this tutorial except after all said and done and i go to the website it only shows me this…403: ForbiddenUnauthorized IP Address.Either disable the IP address whitelist or add your address to it.If you're editing settings.json, see the 'rpc-whitelist' and 'rpc-whitelist-enabled' entries.If you're still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.I vi back to the file and it says nothing about whitelists. Any thoughts? Thanks for all your help.

  18. Ok so it looks like I got transmission working from playing in vi. I have posted some questions on this post and on your samba post that i am still unsure of though! Thanks in advance.-Danny

  19. Aaron, I too had this issue and it has semi-morfed into a different one 😛 I realized that in my.pogoplug.com there was a blue exclamation mark next to my drive that said it was ejected improperly. I followed the steps in correcting it. After that I was fine. I could see my drives using df -h, I could even create folders and move things around on my computer. But now my issue is, every time I launch transmission, it freezes. The torrents in transmission freeze and don't progress. Trying to ssh into the device freezes and the only option is to pull the plug to eliminate power to the pp. I have started the Daemon, I can access transmission via website and add a torrent, but after seconds of the torrent being started, everything comes to a screeching halt. Any suggestions?(Hopefully I have answered Davids question as it seems that was my initial issue as well. Running disk utility on my mac and reinserting the drive into the PP worked for that)Thanks again,DannyPS. All of your tips on the SAMBA page have worked great. All i need now is to button up this transmission business!

  20. Hi Dan-I-el,Great news you managed to find the solution to your HD issues.With regards to Transmission crashing, perhaps you could try running the Transmission daemon with debug output, that might give a clue to what is causing it to freeze.Try starting Transmission with the following:/opt/bin/transmission-daemon –config-dir /opt/config/transmission-daemon/ –log-debugThen with a terminal open, access the Transmission webpage and try and start a torrent. Report back here with the debug output (copy and paste it from the terminal) and I'll see if I can help you resolve this issue :)Regards,Aaron

  21. Aaron, great post. But some clarification please… I have a Pogoplug Pro (the one with wifi) and want to use it both as a Pogoplug device and a bittorrent client. Is that possible by the method you've described above?What's confusing me is that most tutorials online talk about installing OpenPogo (or it's new avatar, the ArchLinuxARM) and completely replacing Pogoplug functionality (like streaming to PS3 and using the iOS app to access the pogoplug), while your tutorial doesn't say anything about loosing the pogoplug basic OS.Can you please explain?

  22. Hi Nitin,The method I have described keeps all of the existing Pogoplug functionality intact, so you can continue to use the streaming to PS3 and iOS app alongside the Transmission server. I haven't tested these steps on a Pogoplug Pro so I can't comment on whether they will work with that particular model.Let me know how it goes :)Aaron

    • I was on the beta test for the web printing for my Pogoplug. It still hasn’t woekrd. The guy heading that beta left the company. The Chrome browser on the other hand has handled the web printing like a charm.I reckon they’re in a tough market with these things. They’re simple and very easy, but they don’t sell themselves. A more hard core user could easily take an old machine nevermind power usage and turn it into a Samba driven NAS device. A non-hard core user needs an introduction to the device. If you try the Tonido will you consider switching to openpogo? I might be giving the Sheeva a try.

  23. Alexandre Fortin

    Hello, I’m running into an issue, i think some of the configuration are not working for me. Is there a way to erase everything and start over?? Either only the Transmission part or all of the customization part but without scraping the pogoplug original software?? Thank you for your help.

    • admin (Author)

      Hi Alexandre,

      I’m sure we can resolve this – what issue are you seeing exactly?

      Are you getting any error messages in the console? If so, please copy and paste them here. What stage of the steps did you get to?

      Cheers,

      Aaron

  24. I know this was an old post but the for clarification, what ppluapgs was using before archlinux were optware packages by the nslu2-linux (slug) members. As mentioned by ppluapgs on their repository it was just a direct copy of one of the optware repositories compatible with the ARM platform of the pogo/dockstar/sheeva So in essence, nobody is high and dry with even the old version of Plugapps (Openpogo 1.0 Optware). You just point to the original repository and you are back in business if you wanted to stick with the original busybox 1.7. The game changer was as you know, Jeff Doozan’s uboot which now gives multiple linux alternatives/flavors so we all have a choice of archlinux/busybox/debian/opnwrt etc., each platform with its own advantages/disadvantages, depending on the application. It’s good to have choices. With the price drop currently, I’m trying all of them.

  25. Should the pogoplug have a static IP setup before doing this?

    • Aaron (Author)

      Hi Chris,

      Yes, I’d recommend giving the Pogoplug a fixed IP address before performing these instructions. It’ll save having to modify config settings further down the line.

      Cheers,

      Aaron

      • cool, thanks Aaron. I read somewhere that that was pretty difficult to set up. Is it something you do from the pogoplug and changing settings on the router, or can be just be accomplished through changing router settings and using the Pogoplug MAC address? I’m definitely going to set it up as static but wouldn’t mind saving some time researching the right way.

        Maybe this can help with XBMC accessing my Samba share (which by the way I want to give a big thanks for your tut on that one, and am looking forward to Bittorrent next)

        • Aaron (Author)

          Hi Chris,

          You’re welcome 🙂

          Yep, you should be able to setup a static IP from the router without having to make any changes to the Pogoplug. For my router, it was a case of logging in to the web admin interface with my browser (at http://192.168.1.254), looking under the “connected devices” section, and clicking on the Pogoplug device (by MAC address), and selecting “always use this IP”. I’m sure you’re router will be slightly different but hopefully you should be able to work it out.

          If not, let me know which router (make and model) you are using and we’ll work through it together.

          Cheers,

          Aaron

          • Worked through the tutorial and it all seemed to work great. However when I go to my browser to try to access transmission I get an error that reads:

            403: Forbidden
            Unauthorized IP Address.
            Either disable the IP address whitelist or add your address to it.
            If you’re editing settings.json, see the ‘rpc-whitelist’ and ‘rpc-whitelist-enabled’ entries.
            If you’re still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.

            I’m not savvy enough to understand what I need to update to get past this last step and I don’t see any settings for whitelist or ACL in my config file. Any advice?

  26. Tom

    First of all, hats off to Aaron for a great guide.

    I found when i did this with my V2, via a 192.168.X.X connection, I got a 403 Forbidden warning when trying to get to the web interface. After some trial and improvement, i found that if you add your IP with asterisks for any variable numbers then it works. To do this, you must edit the settings.json file again.
    `Firstly kill the transmission process:
    [killall transmission-daemon]
    `then….to go to vi editor like when you change the download directory
    [vi /opt/config/transmission-daemon/settings.json]
    ((Scroll using letters HJKL , use A to insert stuff and then backspace to delete in insert mode. Once done, i used esc to get out of insert mode and then to save and quit press SHIFT then :wq))
    `Find “rpc-whitelist” and add your IP after a comma
    eg. [ “rpc-whitelist”: “127.0.0.1,192.168.*.*”]
    `Now just go back to STEP 4 of the guide ie run BT

  27. Luis

    Just wondering if anyone have noticed that when running transmission on the pogo, and even if the service is turned off the pogo becomes super slow, to the point where I cannot transfer files or even stream a movie using samba or the pogo software… is there anyway to fix this?

    Thanks for the guide!!

    • Aaron (Author)

      Hi Luis,

      I haven’t experienced this issue. Have you tried running “top” to see what processes are running? Maybe something needs to be restarted?

      Feel free to post the top few lines of top output and we can take a look 🙂

      Cheers,

      Aaron

  28. Jack

    Hi Aaron,

    Great guide. I was able to setup the BT client w/o issue the first time. But something happened to my Pogoplug and I had to redo the setup from scratch (and have to use a USB drive this time, maybe a automatic update wiped my setup and remove the free space). Anyway, trying to setup the BT client again, but now I’m running into this error message after running TransmissionWeb the first time (/opt/bin/transmission-daemon):

    /opt/bin/transmission-daemon: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

    The file is located in /usr/lib/ . So how do I get the program to see the file?

    Thanks.

  29. Jack

    Took me a day and a half, but I finally figured out the issue. After flipping through pages of internet w/o luck, I was reading the comments on the customizing Pogoplug page and found in the comments Raj and Josh figured out the issue. I had to copy several of the library files (libevent was one of them) as they were named slightly differently than what was expected by TransmissionWeb. Here’s the ones that I had to copy:

    cp /opt/lib/libevent-2.0.so.5.1.8 /opt/lib/libevent-2.0.so.5
    cp /opt/lib/libcurl.so.4.2.0 /opt/lib/libcurl.so.4
    cp /opt/lib/libz.so.1.2.5 /opt/lib/libz.so.1

    I hope no one else experience this problem. It was a major pain but I’m glad I finally figured it out.

  30. LukeinDC

    quick change to make things simpler on the install. The first time you run the transmission-daemon, specify the path to the config directory. So do the following:

    mkdir /opt/conf
    /opt/bin/transmission-daemon -g /opt/conf

    then there is no need to move the files from the root/.config directory and when you edit the settings.json file, you can be assured it isn’t being read from somewhere else.

  31. Hi. Having installed the torrent program, will all the other features of the pogoplug remain the same? Or will I only be able to use it for torrents?
    Cheers

    • Aaron (Author)

      Hey Kieran,

      All existing Pogoplug functionality should remain intact (I’m using both Transmission and Pogoplug’s software).

      Cheers,

      Aaron

  32. Cory

    After a few hiccups, I think I’ve finally got this set up, but now I’ve run into another problem. From what I can tell, transmission works fine while I have a terminal window open, but stops as soon as I close putty. I’m hoping this isn’t normal behavior, because it sort of defeats the purpose of torrenting on the pogoplug. Can you help me, Aaron?

    • Cory

      Or rather, Transmission seems to be crashing shortly after starting.

      • Aaron (Author)

        Hey Cory,

        Sorry to hear you’re having issues with Transmission.

        Have you tried running the daemon with debug options to see what the output is? You should be able to do that by appending “–log-debug” to the end of the command to start Transmission.

        If you do that and then post the output here, we can work through the problem together 🙂

        Cheers,

        Aaron

  33. 20r3mun

    Hey Aaron,
    first of all, thank you for the stupendous guides to tweak our pogoplugs. Much appreciated!
    I too have experienced transmission slowing down the pogo and ultimately crashing after a little bit. It seems to recover and then crash again, but while it’s crashed it won’t allow access to the files and the whole thing’s just unbearably sluggish. I have tried editing the transmission configuration file with conservative download/upload settings, since I’ve had problems before with torrents and my router, but to no avail.
    After trying the daemon with debug options, but I can’t seem to find the output. I had to power off the pogo as it was fried.

  34. 20r3mun

    I think I found the problem. After running top, it seems that the transmission daemon is eating a nice 98% of the CPU. I am running it on a pink B01. I guess it doesn’t have the guts for it?

    • Aaron (Author)

      Hey 20r3mun,

      Thanks for getting in touch. I have the same Pogoplug model and Transmission runs great on my device.

      How about if you try running Transmission in the foreground with the debug log? Append the following to the command you use to start Transmission:

      -f –log-error

      You can hit control + c to quit Transmission and get back to the terminal prompt.

      If that doesn’t show you any useful information, try with even more verbose output:

      -f –log-debug

      Let me know how that goes 🙂

      Aaron

  35. 20r3mun

    Hey Aaron! Thank you so much for responding!

    So I did what you said, but I can’t say I figured anything much out. Shortly after launching Transmission, when it’s loading the torrents and what have you, the CPU spikes up and that’s the and of it. Most times it doesn’t even respond to ctrl+c. Anyway, here is the output:

    bash-3.2# /opt/bin/transmission-daemon –config-dir /opt/config/transmission-daemon/ -f -log-error
    [01:53:32.347] Transmission 2.77 (14031) started (session.c:722)
    [01:53:32.348] RPC Server Adding address to whitelist: 127.0.0.1 (rpc-server.c:803)
    [01:53:32.348] RPC Server Adding address to whitelist: 192.168.1.*.* (rpc-server.c:803)
    [01:53:32.348] RPC Server Serving RPC and Web requests on port 127.0.0.1:9091/transmission/ (rpc-server.c:997)
    [01:53:32.348] Using settings from “/opt/config/transmission-daemon/” (daemon.c:517)
    [01:53:32.348] Port Forwarding (NAT-PMP) initnatpmp succeeded (0) (natpmp.c:72)
    [01:53:32.348] Port Forwarding (NAT-PMP) sendpublicaddressrequest succeeded (2) (natpmp.c:72)
    [01:53:32.348] Saved “/opt/config/transmission-daemon/settings.json” (bencode.c:1738)
    [01:53:32.348] Port Forwarding (UPnP) Found Internet Gateway Device “http://192.168.1.1:80/UD/?3” (upnp.c:200)
    [01:53:32.348] Port Forwarding (UPnP) Local Address is “192.168.1.13” (upnp.c:202)
    [01:53:32.348] Port Forwarding (UPnP) Port forwarding through “http://192.168.1.1:80/UD/?3”, service “urn:schemas-upnp-org:service:WANIPConnection:1”. (local address: 192.168.1.13:51413) (upnp.c:277)
    [01:53:32.348] Port Forwarding State changed from “Not forwarded” to “Starting” (port-forwarding.c:93)
    [01:53:32.348] Loaded 8 torrents (session.c:1943)
    [01:53:32.348] Changed open file limit from 65536 to 1024 (fdlimit.c:529)
    [01:53:32.348] waterloo road season 4 Could not connect to tracker (announcer.c:994)
    [01:53:32.348] waterloo road season 4 Retrying announce in 317 seconds. (announcer.c:1003)
    [01:53:36.387] Port Forwarding State changed from “Starting” to “???” (port-forwarding.c:93)
    [01:53:41.437] Waterloo Road Season 1 – 3 Scrape error: Tracker gave HTTP response code 500 (Internal Server Error) (announcer.c:1259)
    [01:53:41.437] Waterloo Road Season 1 – 3 Retrying scrape in 349 seconds. (announcer.c:1268)

    And it got stuck there for a good half hour until I killed it.

    Hopefully you’ll be able to learn more from this than I did. By the way, what version of Transmission are you using?

    • Aaron (Author)

      Hey,

      I’m using “transmission-daemon 2.32 (12526)”, how about you?

      It may be worth trying to delete the current torrents and see if that helps. I think you should be able to do that using the transmission-remote application. If you open two terminals on your Pogoplug, you should be able to start the Transmission process in one, and then quickly go to the other console to run:

      /opt/bin/transmission-remote http://YOUR_TRANSMISSION_IP:9091/transmission/ –remove

      See if you have any success with that 🙂

      Cheers,

      Aaron

  36. Kieran

    Hey, I’ve got some files in from transmission. I can see them in terminal, but not the GUI website or plugin for mac. Tried a cmod 777 just incase, but no joy. Any ideas?

    • Aaron (Author)

      Hey Kieran,

      Hmm that’s strange; my files show up on my.pogoplug.com and using the plugin for my Mac. Where is your default download folder located?

      Aaron

  37. Enrique

    Great work Aaron, thanks for keeping it up.
    Being a real noob, it took me almost a weeknend, but finally I got to install Transmission and Samba on a Pogoplug mobile busybox 1.16.

    Samba works like a charm.
    But Transmission, gets stalled as soon as you add a torrent file.
    Magnetized transfer – retrieving metadata (0.0%)
    Have anybody had such an issue?? I would much appreciate if you could just point me in the right direction.
    I don’t know if I did something wrong in smaba or configurin trasmission.

  38. LukeInDC

    Enrique,
    I have no problem with magnetized transfers. Please post your settings.json file for transmission or compare it to mine. DO NOT CUT AND PASTE MINE AS THE COMMENTS WILL MESS UP YOUR FILE.
    {
    “alt-speed-down”: 50,
    “alt-speed-enabled”: false,
    “alt-speed-time-begin”: 540,
    “alt-speed-time-day”: 127,
    “alt-speed-time-enabled”: false,
    “alt-speed-time-end”: 1020,
    “alt-speed-up”: 50,
    “bind-address-ipv4”: “0.0.0.0”,
    “bind-address-ipv6”: “::”,
    “blocklist-enabled”: true,
    “blocklist-url”: “http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz”, ###Always use a Block list
    “cache-size-mb”: 2,
    “dht-enabled”: true,
    “download-dir”: “/tmp/.cemnt/mnt_sdb2/downloads”, ###This will be different for your machine
    “download-queue-enabled”: true,
    “download-queue-size”: 5,
    “encryption”: 1,
    “idle-seeding-limit”: 30,
    “idle-seeding-limit-enabled”: true,
    “incomplete-dir”: “/tmp/.cemnt/mnt_sdb2/tempdl”, ###This will be different for your machine
    “incomplete-dir-enabled”: true,
    “lpd-enabled”: false,
    “message-level”: 2,
    “peer-congestion-algorithm”: “”,
    “peer-limit-global”: 200,
    “peer-limit-per-torrent”: 20,
    “peer-port”: 51222,
    “peer-port-random-high”: 65535,
    “peer-port-random-low”: 49152,
    “peer-port-random-on-start”: false,
    “peer-socket-tos”: “default”,
    “pex-enabled”: false,
    “port-forwarding-enabled”: true,
    “preallocation”: 1,
    “prefetch-enabled”: 1,
    “queue-stalled-enabled”: true,
    “queue-stalled-minutes”: 400,
    “ratio-limit”: 10,
    “ratio-limit-enabled”: true,
    “rename-partial-files”: true,
    “rpc-authentication-required”: true, ###My transmission is set to use username/password authentication not ip address which is the default
    “rpc-bind-address”: “0.0.0.0”,
    “rpc-enabled”: true,
    “rpc-password”: “MyEncryptedPassword”,
    “rpc-port”: 9091,
    “rpc-url”: “/transmission/”,
    “rpc-username”: “MyUsername”,
    “rpc-whitelist”: “127.0.0.1,192.168.1.*,10.1.10.*”,
    “rpc-whitelist-enabled”: false,
    “scrape-paused-torrents-enabled”: true,
    “script-torrent-done-enabled”: false,
    “script-torrent-done-filename”: “”,
    “seed-queue-enabled”: true,
    “seed-queue-size”: 30,
    “speed-limit-down”: 100,
    “speed-limit-down-enabled”: false,
    “speed-limit-up”: 500,
    “speed-limit-up-enabled”: true,
    “start-added-torrents”: true, #### I THINK THIS IS YOUR ISSUE HERE
    “trash-original-torrent-files”: true,
    “umask”: 18,
    “upload-slots-per-torrent”: 14,
    “utp-enabled”: false,
    “watch-dir”: “/tmp/.cemnt/mnt_sdb2/torrents/”,
    “watch-dir-enabled”: true
    }

    • Enrique

      LukeInDC, thanks for the help.
      I gave up on this for a while, today I decided I would give it a second try.
      I did just as you said on your json file… unfortunately no luck.

      Here’s what I had before:
      “download-queue-enabled”: true,
      “download-queue-size”: 5,
      “encryption”: 1,
      “idle-seeding-limit”: 30,
      “idle-seeding-limit-enabled”: true,
      “incomplete-dir”: “/tmp/.cemnt/mnt_sda2/DOWNLOADS”,
      “incomplete-dir-enabled”: true,
      “lpd-enabled”: false,
      “message-level”: 2,
      “peer-congestion-algorithm”: “”,
      “peer-limit-global”: 200,
      {
      “alt-speed-down”: 50,
      “alt-speed-enabled”: false,
      “alt-speed-time-begin”: 540,
      “alt-speed-time-day”: 127,
      “alt-speed-time-enabled”: false,
      “alt-speed-time-end”: 1020,
      “alt-speed-up”: 50,
      “bind-address-ipv4”: “0.0.0.0”,
      “bind-address-ipv6”: “::”,
      “blocklist-enabled”: false,
      “blocklist-url”: “http://www.example.com/blocklist”,
      “cache-size-mb”: 4,
      “dht-enabled”: true,
      “download-dir”: “/tmp/.cemnt/mnt_sda2/DOWNLOADS/”,
      “download-queue-enabled”: true,
      “download-queue-size”: 5,
      “encryption”: 1,
      “idle-seeding-limit”: 30,
      “idle-seeding-limit-enabled”: false,
      “incomplete-dir”: “/tmp/.cemnt/mnt_sda2/DOWNLOADS”,
      “incomplete-dir-enabled”: false,
      “lpd-enabled”: false,
      “message-level”: 2,
      “peer-congestion-algorithm”: “”,
      “peer-limit-global”: 240,
      “peer-limit-per-torrent”: 0,
      “peer-port”: 57868,
      “peer-port-random-high”: 65535,
      “peer-port-random-low”: 49152,
      “peer-port-random-on-start”: true,
      “peer-socket-tos”: “default”,
      “pex-enabled”: true,
      “port-forwarding-enabled”: true,
      “preallocation”: 1,
      “prefetch-enabled”: 1,
      “queue-stalled-enabled”: true,
      “queue-stalled-minutes”: 30,
      “ratio-limit”: 2,
      “ratio-limit-enabled”: false,
      “rename-partial-files”: true,
      “rpc-authentication-required”: false,
      “rpc-bind-address”: “0.0.0.0”,
      “rpc-enabled”: true,
      “rpc-password”: “{93bd00cc2a338143013e736a3b214a08e090ced1yCbnSngz”,
      “rpc-port”: 9091,
      “rpc-url”: “/transmission/”,
      “rpc-username”: “”,
      “rpc-whitelist”: “192.168.81.*”,
      “rpc-whitelist-enabled”: true,
      “scrape-paused-torrents-enabled”: true,
      “script-torrent-done-enabled”: false,
      “script-torrent-done-filename”: “”,
      “seed-queue-enabled”: false,

      Now it’s pretty much as yours except for the user/pass part.
      But still I’m stucked in the retrieving metadata phase.

      I can also add some debug log in case anybody has faced the same issue.
      ~ # /opt/bin/transmission-daemon –config-dir /opt/config/transmission-daemon/ -f -log-error
      [17:04:02.432] Transmission 2.77 (14031) started (session.c:722)
      [17:04:02.432] RPC Server Adding address to whitelist: 192.168.81.* (rpc-server.c:803)
      [17:04:02.432] RPC Server Serving RPC and Web requests on port 127.0.0.1:9091/transmission/ (rpc-server.c:997)
      [17:04:02.432] DHT Reusing old id (tr-dht.c:305)
      [17:04:02.432] DHT Bootstrapping from 96 IPv4 nodes (tr-dht.c:153)
      [17:04:02.432] Using settings from “/opt/config/transmission-daemon/” (daemon.c:517)
      [17:04:02.433] Saved “/opt/config/transmission-daemon/settings.json” (bencode.c:1738)
      [17:04:02.433] Loaded 1 torrents (session.c:1943)
      [17:04:02.433] Port Forwarding (NAT-PMP) initnatpmp succeeded (0) (natpmp.c:72)
      [17:04:02.433] Port Forwarding (NAT-PMP) sendpublicaddressrequest succeeded (2) (natpmp.c:72)
      [17:04:08.492] Port Forwarding State changed from “Not forwarded” to “Starting” (port-forwarding.c:93)
      [17:04:08.492] Changed open file limit from 65536 to 1024 (fdlimit.c:529)
      [17:04:09.502] Port Forwarding State changed from “Starting” to “???” (port-forwarding.c:93)
      [17:05:05.052] TORRENT Starting IPv4 DHT announce (poor, 16 nodes) (tr-dht.c:575)
      [17:10:11.082] TORRENT IPv4 DHT announce done (tr-dht.c:543)
      [17:31:07.523] TORRENT Starting IPv4 DHT announce (good, 168 nodes) (tr-dht.c:575)
      [17:34:38.613] TORRENT IPv4 DHT announce done (tr-dht.c:543)
      [17:58:20.704] TORRENT Starting IPv4 DHT announce (good, 167 nodes) (tr-dht.c:575)

      Could it have something to do with my router, which port am I supposed to be opening?

      • LukeInDC

        @Enrique,
        It looks like you are set up for random ports on startup, not a static port. Is your router/firewall set up for Upnp to automatically allow a new port to be opened? It looks like it starts to open and then is closed. Turn off the dht setting by setting it to false (it’s insecure) and change this setting:“peer-port-random-on-start”: true, to false. Make sure the port specified here:“peer-port”: 57868, is set up for forwarding on your router/firewall. Post the log if you still have issues.

    • Enrique

      Hi.
      Well, it’s been some time now, and still have not been able to make it work.
      Any ideas? anybody else with this issue?
      My ports are open from the router, and the Web UI says Peer Listening Port: Port is open. But still not one bit downloaded.. just hung up on retrieving metadata.

      I’ve been investigating for a while, but no success. It can’t be that hard…
      I tried removing the program and reinstalling, nothing…

      Here, my log once more, just in case anybody notices a similar pattern or something.
      “alt-speed-down”: 50,
      “alt-speed-enabled”: false,
      “alt-speed-time-begin”: 540,
      “alt-speed-time-day”: 127,
      “alt-speed-time-enabled”: false,
      “alt-speed-time-end”: 1020,
      “alt-speed-up”: 50,
      “bind-address-ipv4”: “0.0.0.0”,
      “bind-address-ipv6”: “::”,
      “blocklist-enabled”: true,
      “blocklist-url”: “http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz”,
      “cache-size-mb”: 2,
      “dht-enabled”: false,
      “download-dir”: “/tmp/.cemnt/mnt_sda2/DOWNLOADS/”,
      “download-queue-enabled”: true,
      “download-queue-size”: 5,
      “encryption”: 0,
      “idle-seeding-limit”: 30,
      “idle-seeding-limit-enabled”: true,
      “incomplete-dir”: “/tmp/.cemnt/mnt_sda2/DOWNLOADS”,
      “incomplete-dir-enabled”: true,
      “lpd-enabled”: false,
      “message-level”: 2,
      “peer-congestion-algorithm”: “”,
      “peer-id-ttl-hours”: 6,
      “peer-limit-global”: 240,
      “peer-limit-per-torrent”: 0,
      “peer-port”: 50088,
      “peer-port-random-high”: 65535,
      “peer-port-random-low”: 49152,
      “peer-port-random-on-start”: true,
      “peer-socket-tos”: “default”,
      “pex-enabled”: false,
      “port-forwarding-enabled”: false,
      “preallocation”: 1,
      “prefetch-enabled”: 1,
      “queue-stalled-enabled”: true,
      “queue-stalled-minutes”: 400,
      “ratio-limit”: 10,
      “ratio-limit-enabled”: true,
      “rename-partial-files”: true,
      “rpc-authentication-required”: false,
      “rpc-bind-address”: “0.0.0.0”,
      “rpc-enabled”: true,
      “rpc-password”: “{93bd00cc2a338143013e736a3b214a08e090ced1yCbnSngz”,
      “rpc-port”: 9091,
      “rpc-url”: “/transmission/”,
      “rpc-username”: “”,
      “rpc-whitelist”: “*.*.*.*”,
      “rpc-whitelist-enabled”: true,
      “scrape-paused-torrents-enabled”: true,
      “script-torrent-done-enabled”: false,
      “script-torrent-done-filename”: “”,
      “seed-queue-enabled”: true,
      “seed-queue-size”: 30,
      “speed-limit-down”: 100,
      “speed-limit-down-enabled”: false,
      “speed-limit-up”: 500,
      “speed-limit-up-enabled”: true,
      “start-added-torrents”: true,
      “trash-original-torrent-files”: true,
      “umask”: 18,
      “upload-slots-per-torrent”: 14,
      “utp-enabled”: false
      LOG:
      [17:27:39.542] Transmission 2.82 (14160) started (session.c:738)
      [17:27:39.543] RPC Server Adding address to whitelist: *.*.*.* (rpc-server.c:828)
      [17:27:39.543] RPC Server Serving RPC and Web requests on port 127.0.0.1:9091/transmission/ (rpc-server.c:1035)
      [17:27:39.543] RPC Server Whitelist enabled (rpc-server.c:1039)
      [17:27:39.543] Port Forwarding Stopped (port-forwarding.c:183)
      [17:27:39.543] Using settings from “/opt/config/transmission-daemon/” (daemon.c:526)
      [17:27:39.543] Saved “/opt/config/transmission-daemon/settings.json” (variant.c:1217)
      [17:27:39.543] Loaded 1 torrents (session.c:1994)

  39. Simon

    Great tutorial and really excited about getting this running.

    I am having issues getting transmission daemon running for the first time. I enter the command and it does not run. There I do not get a .json file for me to configure.

    Any advice would be appreciated.

    bash-3.2# # install transmission
    -bash-3.2# /opt/bin/ipkg install transmission
    Package transmission (2.77-1) installed in root is up to date.
    Nothing to be done
    Successfully terminated.
    <sion in order to generate a default configuration file
    -bash-3.2# /opt/bin/transmission-daemon
    -bash-3.2# # stop the transmission process
    -bash-3.2# killall transmission-daemon
    <figuration directory to hold the transmission configuration files
    -bash-3.2# mkdir /opt/config
    mkdir: cannot create directory '/opt/config': File exists
    < the main flash drive and onto the spare flash drive
    -bash-3.2# mv /root/.config/transmission-daemon /opt/config/
    mv: cannot remove '/opt/config/transmission-daemon': Is a directory
    -bash-3.2# # move into the transmission configuration directory
    -bash-3.2# cd /opt/config/transmission-daemon/
    -bash-3.2# # backup the generated configuration file
    -bash-3.2# cp settings.json settings.json.backup
    cp: cannot stat 'settings.json': No such file or directory

    • Aaron (Author)

      Hi Simon,

      What do you see if you run:

      ls /opt/config/transmission-daemon/

      Cheers,

      Aaron

      • Simon

        Thanks for the reply Aaron.

        My brother is a bit more knowledgeable in Linux command line than me and he suggested I change the mv command to cp.

        That seems to have worked.

        Now it’s seems to be issues with the json being edited and not saving.

        I am adding my IP to the whitelist and it doesn’t seem to be remaining there.

  40. Simon

    Now i have disabled the whitelist and I get the below error.

    Sorry for being an idiot.

    /opt/share/transmission/web/1 (No such file or directory)

  41. Simon

    OK final update.

    Replacing the MV command with CP seemed to work.

    The web interface issues, were resolved by removing the transmission install and restarting the process.

    • Michele

      Hey Aaron,
      great job indeed…Samba runs smooth…I have instead problems here:

      bash-3.2# mv /root/.config/transmission-daemon /opt/config/
      mv: cannot rename ‘/root/.config/transmission-daemon’: No such file or directory
      bash-3.2#

      any idea?
      thanks,
      Michele.

      • Aaron (Author)

        Hi Michele,

        Can you run the following to see what (if any) files exist in the root config directory. Please post the output from running:

        ls /root/.config/transmission-daemon/

        Thanks,

        Aaron

  42. Sebastian Haff

    Thanks for the great how-tos, Aaron! Transmission + Samba on my pogoplug sounds fantastic! There’s one piece of the puzzle still missing, though – – how to setup a VPN. Any chance you might do a how-to on that?

    • Aaron (Author)

      Hi Sebastian,

      Thanks for the feedback!

      I haven’t looked into setting up a VPN server on my Pogoplug (I don’t have any use for that setup at the moment), but it looks like ipkg has a package that may be relevant to you – “openvpn”.

      Might be worth looking into?

      Thanks,

      Aaron

  43. Brian Robbins

    So I got through all the steps but can’t seem to connect to the web interface. As noted above by Chris, I get the message:

    403: Forbidden

    Unauthorized IP Address.

    Either disable the IP address whitelist or add your address to it.

    If you’re editing settings.json, see the ‘rpc-whitelist’ and ‘rpc-whitelist-enabled’ entries.

    If you’re still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.

    I tried his steps by adding my device IP to the “rpc-whitelist” line and then I even made “rpc-whitelist-enabled” as false. In my router, it looks like Transmission was added to my port forwarding, with a different port than the 9091.

    • Brian Robbins

      So, figured out how to get this working, had to play around with the rpc whitelist a little and finally got it connected.

      How do I go about connecting to my Web Interface for Transmission when outside my local network? I know if I go to WhatsMyIp or something that’ll give me my IP, but that’s not for the Pogoplug device, right?

      • Aaron (Author)

        Hi Brian,

        You’ll need to configure your router to allow port forwarding if you want to access Transmission from the (rest of) the internet. What router make/model do you have?

        Aaron

        • Brian R

          I have a Verizon Fios Actiontec MI424WR router. There was a port opened, I guess automatically, in my router settings for Transmission. It isn’t the default one listed about, so that’s what I have to put in my URL when connecting from home.

          • Brian R

            Do I need to add or edit anything in the config file? I disabled the whitelist, as I initially thought that was the issue, but still can’t connect remotely.

            I went to WhatsMyIP, try using that IP with the port that was already opened (automatically by Tranmission) and it isn’t connecting.

        • Brian R

          I think I’ve figured it out, and going to try it later. I noticed that Transmission opened 51413 on my router automatically, so when I first set this up, I tried the URL as you listed and 9091 and it would connect. I changed it to 51413 at home and got through. Is it safe to assume, that if I open up port 9091 and use my external IP, this will work?

  44. Tony W

    I keep getting this error when trying to get to the transmission page, cant figure it out.

    403: Forbidden
    Unauthorized IP Address.
    Either disable the IP address whitelist or add your address to it.
    If you’re editing settings.json, see the ‘rpc-whitelist’ and ‘rpc-whitelist-enabled’ entries.
    If you’re still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.

    looking through some of the comments this doesn’t seem uncommon but i cant find anything on how this fixed the issue thanks

  45. AJ

    For 403: Forbidden
    Unauthorized IP Address.

    shut down transmission daemon with the kill command in this post.
    Edit /opt/bin/transmission-daemon

    search for whiteliet
    add IP addrss of the machine from which you are accessing the web interface.
    save and start the daemon

  46. AJ

    Sorry, I meant
    edit /opt/config/transmission-daemon/settings.json instead of Edit /opt/bin/transmission-daemon above

  47. Jason

    Hey Aaron,

    This is a very “cool” post, far out. I have been on ArchLinuxARM, Debian and after all that drama, it is really nice to use a neat and simple system.

    I read above in one of the replies regarding restarting transmission automatically on boot. Well, I have been trying to rack my brains about the same.

    I agree, editing the /etc/init.d/rcS, although it works is not the right way to go about starting transmission. It also, for some reason makes all the torrents have an error. I guess the HDD loads after the rcS script has finished running.

    My thoughts then went to another post of yours, which is adding a torrent remotely, awesome, as usual. I however felt, would it be possible to use crontab to start the script (the one that starts transmission and makes my memory writable mount -o remount,rw /) at an interval after boot. The script can have a simple if/else checking if transmission is running or not (in the case the cron job will loop in time).

    This link was too complicated for me to comprehend https://trac.transmissionbt.com/wiki/Scripts/initd#StartStop

    I know, even if it is possible, it wont be the cleanest way.
    I always think of having a ship load of torrents running, then go on a much deserved holiday 😉 forget about power failures ;D

    Cheers,
    Jason

  48. Srayan

    Hello Aaron!
    Thank you so much for the wonderful project. I learnt a lot about the Pogoplug and got the entire transmission application to work successfully on my Pogo.
    After a Pogoplug system restart I have been having issues trying to execute
    /opt/bin/transmission-daemon –config-dir /opt/config/transmission-da
    emon/

    I keep getting the output:
    -sh: /opt/bin/transmission-daemon: Permission denied

    I have mounted the USB drive with the mentioned step:
    mount -o remount,rw /

    I have SSH’d into the system as a root, but it still does not let me execute the command.
    I also tried installing the transmission package using
    /opt/bin/ipkg install transmission
    But I get the same error :
    -sh: /opt/bin/ipkg: Permission denied

    What do you think might be going wrong?

    Srayan.

  49. Jim

    Hi, Aaron

    Thank you for your post, I followed and got both samba and BT running, but, recently the transmission stop running, I tried several ways, including re-install, haven’t fix it. The following is part of what I did, could you take a look and see if you could help me out. Thanks a lot

    opt/bin # /opt/bin/ipkg install transmission
    Package transmission (2.82-1) installed in root is up to date.
    Nothing to be done
    Successfully terminated.

    / # /opt/bin/transmission-daemon –config-dir /opt/config/transmission-daemon/
    / #

    ~ # killall transmission-daemon
    killall: transmission-daemon: no process killed

    ~ # ls /root/.config/transmission-daemon/
    blocklists resume torrents

  50. Chris Booth

    it keeps crashing for me also
    i get a segmentation fault at random times sometimes after a few minutes sometimes a few hours and then i have to restart the tranmission-daemon

    i’m using NTFS drives

    any ideas what i can do to fix this?