Transmission on Recalbox

  • I know transmission isn't officially supported on recalbox, but I'd just like to ask for a bit of help in case you have an idea of what's going on.

    So I installed Transmission by rebuilding recalbox from scratch and adding the transmission package. It was simple enough, if time consuming.

    However, when I try to access the API through the Android transmission app, or if I try to access the web interface, I get the error:

    403: Forbidden
    Unauthorized IP Address.
    Either disable the IP address whitelist or add your address to it.

    Despite the fact that in my settings.json, the rpc-whitelist is set to *.*.*.* and rpc-whitelist-enabled is set to false.

    I can verify this by SSH'ing into recalbox and running

    # tranmission-daemon -d

    which shows me the current settings that match the json file.

    However, I noticed that it starts working if I stop and start the transmission service, using /etc/init.d/S92transmission script:

    # /etc/init.d/S92transmission stop
    # /etc/init.d/S92transmission start

    It seems as if transmission is not picking up the settings on load. Could it be because the settings are on a mounted USB drive, and it gets mounted after transmission loads, so it picks up the default settings instead?

    For anyone else trying to get transmission running, when I did get it to run by restarting I initially had problems with the transmission user not having write access to the folders and files under /recalbox/share/system/.configs/transmission n my USB drive (I'm using external storage for games)

    I fixed this by changing the transmission user to root in the /etc/init./s92tranmission startup script.

    If anyone is interested in a build of rootfs with transmission installed and user set to root I can put it up on my gdrive.

  • @RupertAvery i guess there is a permissions problem as your key is probably in FAT32.

    Despite we won't add transmission, congratulations for reaching your goal by yourself 🙂

  • I finally got it to work properly!

    After getting the daemon startup script to log the output of transmission console, I saw that it was trying to pull the configuration from "//.config"

    My guess is that for some reason it couldn't see the HOME env var. It seems unlikely that HOME is not yet set when the script starts.

    I was doubtful of uncommenting TRANSMISSION_HOME as for some reason I could not see it being exported after starting the daemon through the script.

    So I ended up setting TRANSMISSION_ARGS="-g /recalbox/share/system/.config/transmission-daemon" and it worked like a charm.

  • Strange, I just noticed that NES and SNES games don't run on my build. PSX games work fine, but NES games try to load then exit back to EmulationStation. I don't see any error messages in the es_launch logs. I even tried ALT-F4 and launching from bash calling retroarch with the proper paramters, and it just runs and does nothing.

    I built off the rb 4.0.x branch of buildroot (commit 7c3139251243c4a97ff8e75dfd194b238f6537f5)

  • Nevermind, it turns out my thumb drive was not properly unmounted and had the dirty bit set, and so linux mounted it as read-only, that's why zipped NES and SNES games failed to load, retroarch was trying to unzip them.

    To fix this I SSH'ed into recalbox and ran

    #fsck /dev/sda1

    (or whatever device your USB was mounted) and then

    #mount -o remount,rw /dev/sda1 /media/usb0

    I looked at /etc/mtab to see the mount points.

  • For some reason, two instances of the daemon are being created on startup. This seems to be related to increased CPU load and resulting increased temperature, and even browsing games in EmulationStation is affected.

    I killed the processes and started the daemon again, tried to see performance while it was downloading. It went all the way up to 80 degrees C and I killed the process.

    I started the process again and used the top command to monitor the CPU while running FCEUNEXT. RIght now I'm downloading 2 TV series simultaneously at around 2MB/s to my FAT32 USB and the temperature is at around 69-70.

    I'd recommend putting even a passive heatsink if you want to run transmission along with everything else.

    I'm going to reboot and try to find out why transmission getting two instances.

    I'm doing all this for a friend who isn't too linux savvy, but I'm learning stuff along the way as well.

  • So I've rebooted and even with 2 instances of transmission running and an SNES emulator running, the temperature and CPU seem nominal. The transmission web interface is responsive, sometimes it does get a connection timeout. Not now, though, everything seems to be running smoothly.

    I exited back to EmulationStation and tried to browse through ROMs (I have around 300 SNES roms and most of them have been scraped) and the loading of the ROM metadata is a bit slow again, possibly due to transmission writing to the USB a lot. Also, the temperature steadily climbs up to 75 deg C.

    Stopping the torrents in the web gui helped with ROM browsing, but the CPU temp still lingered at around 75 even after a minute. I killed the process and temp went back down to 65 deg. C.

Want to support us ?