Transmission Read Issues

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
So I just upgraded from 9.10 to 11.3, and had to reinstall transmission and all that fun stuff. I've been scratching my head for days and reading through everything I can because I can get transmission to look at the containing folder, it will verify the torrent to 100% and then say that nothing is there. After messing around I can get it to download (though I'm not sure where it is downloading, when I open the containing folder it shows me everything except for what I've just downloaded and I've done a search through everything and cannot find the files that I've just downloaded). It was able to read the torrents and verify them before the update, so I'm wondering if I'm missing some obvious permission settings maybe? It is just weird to me that it goes all the way through the verify files process to 100% before decided nothing is there. I've been combing the forums and other websites and trying everything I can find but nothing seems to work and I am at a loss, so any help would definitely be amazing at this point
 
Joined
Jan 4, 2014
Messages
1,644
By default, Transmission saves downloads in the jail under /usr/local/etc/transmission/home/Downloads. If required, change this by editing /etc/rc.conf and modifying the parameter transmission_download_dir. Set up a jail mount point so the downloads are saved outside the jail.
 

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
I changed the default download point, but I looked in the /usr/local/etc/transmission/hom/Downloads and it wasn't there either. I have the source mount point pointed outside the jail and the destination inside the jail, I've set up the user and group with ID 921 and all that fun stuff, but it still refuses to verify any torrents. Now while I'm approaching this like a read issue, is there a chance something else is going on and that is why it will run the verify process all the way up to 100% and then basically say that the file isn't there?
 
Joined
Jan 4, 2014
Messages
1,644
How have you installed Transmission - using the plugin method or manually using an iocage jail?
 

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
I I used the plugin method, or at least installed it on the plugin tab in the webgui. I use remote transmission gui on my windows 10 computer to add/remove torrents
 
Joined
Jan 4, 2014
Messages
1,644
Same here. Curious. I do have a VPN in the plugin jail as well, but that shouldn't make a difference at this point.

For what it's worth, my download location has some local user access with Transmission (921) having Special control. Under 11.2, it had Full Control. ACL changes in 11.3 I suspect.

The torrents directory, which I haven't bothered to move out of the jail (I probably should), has the following permissions.

screenshot.126.png
 

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
I don't have a VPN or anything in the jail. When I had it working in 9.10 it could only read, I never could get it to write which I didn't have a problem with since I only really need it to read the files and upload them I download them on my main machine before transferring them to the NAS. I just can't for the life of me figure out why I can't get it to read or access the files since I can open the file location just fine. This is weird to me
 

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
I'm still having issues with this, I'm wondering if anyone thinks it could have something to do with the mount points? I have the source outside the jail in what should be my main pool with all my data and the destination a folder inside the jail, which I think is right and I've messed with it a little to no avail. Here is a screenshot of what my mount point screen looks like. I'm also wondering if the fact that it says ACL next to the folders that I need to access? I also was wondering if having to put it in VNET would cause issues? I wouldn't think so because it won't run unless I do that but just throwing that out there

Transmission Issues.jpg
 
Last edited:

HolyK

Ninja Turtle
Moderator
Joined
May 26, 2011
Messages
653
Hey, i see some confusion so let me sum up it a bit here ...

As stated above transmission downloads by default to /usr/local/etc/transmission/home/Downloads which is inside the jail. This is not quite "nice" and most of the users would like to have outside storage for Download dir. You have two options here.

1] Create a mount point from host NAS pointing to the default download path.
Source is the "real" path provided by host system. So for example "/mnt/pool/downloads/transmission" where "pool" is a pool and "downloads" is a dataset and "transmission" is a directory (which is owned by the transmission user with the same UID like the user inside transmission jail)
Destination will be the full path on the NAS host system going through the jail storage dataset followed by the transmission download path. So it will be: /mnt/<pool>/<iocagedataset>/jails/transmission/root/usr/local/etc/transmission/home/Downloads where the "root" in the path is "/" inside the jail.

Note that IF you already downloaded some files you have to MOVE them first before creating mount point. If you already created a mount-point over the directory the files will be unreachable (yet still there). This is a common mistake. If you did this just stop jail, remove mount point, start jail again, move the files elsewhere, stop jail, create the mount-point, start jail and move the downloaded files back.
(Yea you can technically stop the jail, get the full path to jail storage, then the download path and move the files but i don't want to confuse people here)

2] Change the download directory to another path/mount-point
- First create a mount directory inside the jail. So if you want torrents to be downloaded to /Download create that directory first and chmod 777 it (restrictive permission of the underlying directory can cause weird behavior)
- Stop the jail and create the mount point for the jail.
Source - same as in previous point
Destination - The first half will be still the full path to jail root so like /mnt/<pool>/<iocagedataset>/jails/transmission/root/ . Then whatever comes after will be the path inside jail. So in our case it is /Download meaning the full Destination will be
/mnt/<pool>/<iocagedataset>/jails/transmission/root/Download
- Start the jail and update the download path for transmission
Transmission settings are stored in /usr/local/etc/transmission/home/settings.json but in this case the Download path can NOT be changed there as it is loaded from daemon config.
So instead of modifying settings.json stop the transmission service and change the transmission_download_dir inside /usr/local/etc/rc.d/transmission file. Use the path relative to your jail root, not the host system! So in our example it will be: : ${transmission_download_dir=/Download}

Now start the transmission and check that the download path was changed in settings.json
# grep download-dir /usr/local/etc/transmission/home/settings.json "download-dir": "/Download",

Side-note: If you're using separated directory for incomplete torrents you might want to update the path as well. If so then stop transmission service and edit "incomplete-dir" inside settings.json file. So for example:
# grep incomplete-dir /usr/local/etc/transmission/home/settings.json "incomplete-dir": "/Download/incomplete", "incomplete-dir-enabled": true,
Then start the transmission service again.


If you already downloaded any torrents before you have to do two things
- Move the files from the old download path to the new path (obvious i know)
- UPDATE the download path in your Torrent client otherwise it will still use the old path (which will be empty if you move the files). It depends on GUI you're using.
In case of transgui just right-click on torrent and click "Set data location" and update the path to the new one.
1585340720351.png


As you can see transgui can even handle the data move for you so you can even skip the first step and let the client to move the data and update the path. If you already moved the files un-tick that option.
1585340794074.png


Confirm and re-start the torrent. It should verify the downloaded torrent just fine.

Hope this helps :]
 
Last edited:

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
I appreciate the help! I'm not actually using Transmission to download though, instead I'm trying to use it as a seedbox like I was before I updated to the latest version of Freenas. I am using transgui, and when I put the torrent into that client and open containing folder it takes me right to the file I want, but when I try to verify the torrent it acts like nothing at all is there, even though opening the containing folder shows me that it at least can get to the containing folder. I've set the mount point source and destination like in the screenshot above, as I'm testing only my Movies folder first. I thought I added all the correct permissions and everything, but that may also be something that I haven't done and I've done some looking but can't figure out how to go and look to see if I have. Here is a screenshot of my transmission user:
Permissions.jpg
 

HolyK

Ninja Turtle
Moderator
Joined
May 26, 2011
Messages
653
@Kenfolk Ok got your point. Have you tried the debug mode? Try these:

- If nothing works for you remove all of the torrents. It will make digging in log a bit easier
service transmission stop echo 'transmission_flags="--logfile /tmp/transmission.log --log-debug"' >> /etc/rc.conf service transmission start
- Now try whatever you're trying to achieve.
- Check the /tmp/transmission.log if there are any clues of the issue. Feel free to attach it here but be aware that it will contain internal IPs so scramble the personal info before uploading the file here.

Don't forget to remove the extra line from /etc/rc.conf and restart the service otherwise the debug log will slowly eat your space :]
 
Last edited:

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
[2020-03-27 21:06:52.619] Couldn't read "/usr/local/etc/transmission/home/resume/Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON.6e5f9f176a7ace35.resume": No such file or directory (/wrkdirs/usr/ports/net-p2p/transmission-daemon/work/transmission-2.94/libtransmission/utils.c:238)
[2020-03-27 21:06:52.619] Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON Couldn't read "/usr/local/etc/transmission/home/resume/Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON.6e5f9f176a7ace35.resume": No such file or directory (/wrkdirs/usr/ports/net-p2p/transmission-daemon/work/transmission-2.94/libtransmission/resume.c:718)
[2020-03-27 21:06:52.619] Saved "/usr/local/etc/transmission/home/torrents/Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON.6e5f9f176a7ace35.torrent" (/wrkdirs/usr/ports/net-p2p/transmission-daemon/work/transmission-2.94/libtransmission/variant.c:1266)
[2020-03-27 21:06:52.619] Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON Queued for verification (/wrkdirs/usr/ports/net-p2p/transmission-daemon/work/transmission-2.94/libtransmission/verify.c:269)
[2020-03-27 21:06:52.619] Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON Verifying torrent (/wrkdirs/usr/ports/net-p2p/transmission-daemon/work/transmission-2.94/libtransmission/verify.c:224)
[2020-03-27 21:06:52.619] Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON verifying torrent... (/wrkdirs/usr/ports/net-p2p/transmission-daemon/work/transmission-2.94/libtransmission/verify.c:62)
[2020-03-27 21:06:52.619] Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON Verification is done. It took 1 seconds to verify 109976836574 bytes (54988418287 bytes per second) (/wrkdirs/usr/ports/net-p2p/transmission-daemon/work/transmission-2.94/libtransmission/verify.c:167)
[2020-03-27 21:07:11.619] Saved "/usr/local/etc/transmission/home/resume/Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON.6e5f9f176a7ace35.resume" (/wrkdirs/usr/ports/net-p2p/transmission-daemon/work/transmission-2.94/libtransmission/variant.c:1266)

It almost looks to me like instead of transmission looking where I'm telling it to, it is instead looking at /usr/local/etc/transmission/home/resume when it should be looking at something like /mnt/life/tv shows. Which is weird because when I right click on the torrent and open destination folder it goes directly to the file that I want it to look at. My guess is there must be a setting somewhere that I'm missing
 

HolyK

Ninja Turtle
Moderator
Joined
May 26, 2011
Messages
653
@Kenfolk It is OK. First it checks if "resume" file exists (that file exists for every single torrent, even for completed ones). Since it does not exist it saves the torrent file to /torrents/. Then it finds that the file with the name already exists in download dir so it goes for verification. It verifies the data and then saves the current state to "resume" file.

What is odd is "It took 1 seconds to verify 109976836574 bytes (54988418287 bytes per second " ... It is 105GB and 52GB in 1 sec? Ok portion might be in ZFS cache but still quite weird number.

Anyway please paste content of the resume file. It will provide more info about the torrent status.
/usr/local/etc/transmission/home/resume/Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON.6e5f9f176a7ace35.resume
 

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
Yea, that's what keeps bothering me. It's like it tries to verify the torrent, and if I click open destination folder it takes me right to it, but when trying to verify it just doesn't see anything. Here is what I think you want:

freenas.jpg
 

HolyK

Ninja Turtle
Moderator
Joined
May 26, 2011
Messages
653
Here is what I think you want:

Nope, just "cat" the file. Or open it in notepad. It has readable text (+ some garbage as well).
 

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
Ah my bad, sorry, here is what it says when I open it:

d13:activity-datei0e10:added-datei1585357953e18:bandwidth-priorityi0e7:corrupti0e11:destination38:/mnt/Life/TV Shows/HD TV shows/Mad Men3:dndli0ei0ei0ei0ei0ei0ei0ei0ei0ei0ei0ei0ei0ee9:done-datei0e10:downloadedi0e24:downloading-time-secondsi0e10:idle-limitd10:idle-limiti30e9:idle-modei0ee9:max-peersi50e4:name56:Mad.Men.S03.1080p.BluRay.REMUX.AVC.DTS-HD.MA.5.1-EPSiLON6:pausedi1e8:priorityli0ei0ei0ei0ei0ei0ei0ei0ei0ei0ei0ei0ei0ee8:progressd6:blocks4:none12:time-checkedli1585357953ei1585357953ei1585357953ei1585357953ei1585357953ei1585357953ei1585357953ei1585357953ei1585357953ei1585357953ei1585357953ei1585357953ei1585357953eee11:ratio-limitd11:ratio-limit8:2.00000010:ratio-modei0ee20:seeding-time-secondsi0e16:speed-limit-downd9:speed-Bpsi100000e22:use-global-speed-limiti1e15:use-speed-limiti0ee14:speed-limit-upd9:speed-Bpsi100000e22:use-global-speed-limiti1e15:use-speed-limiti0ee8:uploadedi0ee
 

HolyK

Ninja Turtle
Moderator
Joined
May 26, 2011
Messages
653
Ah my bad, sorry, here is what it says when I open it:
The path looks wrong to me. It should be the absolute path from jail perspective. So in your case "/media" and not the full path of the source system. Your "resume" file has this: /mnt/Life/TV Shows/HD TV shows/Mad Men3

Can you give me output of these from within the transmission jail
egrep 'incomplete|download-dir' /usr/local/etc/transmission/home/settings.json grep 'transmission_download_dir=' /usr/local/etc/rc.d/transmission mount

And also output of this directly from host system shell
mount | grep mission | egrep 'zfs|nullfs'
 

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
Here is what I got, and thanks again so much for helping me work this problem out:

root@Transmission:~ # egrep 'incomplete|download-dir' /usr/local/etc/transmission/home/settings.json
"download-dir": "/usr/local/etc/transmission/home/Downloads",
"incomplete-dir": "//Downloads",
"incomplete-dir-enabled": false,

root@Transmission:~ # grep 'transmission_download_dir=' /usr/local/etc/rc.d/transmission
: ${transmission_download_dir=/usr/local/etc/transmission/home/Downloads}

root@Transmission:~ # mount
Life/iocage/jails/Transmission/root on / (zfs, local, nfsv4acls)

root@freenas:~ # mount | grep mission | egrep 'zfs|nullfs'
Life/jails/transmission_1 on /mnt/Life/jails/transmission_1 (zfs, local, nfsv4acls)
Life/iocage/jails/Transmission on /mnt/Life/iocage/jails/Transmission (zfs, local, nfsv4acls)
Life/jails_2/transmission_1 on /mnt/Life/jails_2/transmission_1 (zfs, local, nfsv4acls)
Life/iocage/jails/Transmission/root on /mnt/Life/iocage/jails/Transmission/root(zfs, local, nfsv4acls)
/mnt/Life/iocage/releases/11.3-RELEASE/root/bin on /mnt/Life/iocage/jails/Transmission/root/bin (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/boot on /mnt/Life/iocage/jails/Transmission/root/boot (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/lib on /mnt/Life/iocage/jails/Transmission/root/lib (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/libexec on /mnt/Life/iocage/jails/Transmission/root/libexec (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/rescue on /mnt/Life/iocage/jails/Transmission/root/rescue (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/sbin on /mnt/Life/iocage/jails/Transmission/root/sbin (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/usr/bin on /mnt/Life/iocage/jails/Transmission/root/usr/bin (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/usr/include on /mnt/Life/iocage/jails/Transmission/root/usr/include (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/usr/lib on /mnt/Life/iocage/jails/Transmission/root/usr/lib (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/usr/libexec on /mnt/Life/iocage/jails/Transmission/root/usr/libexec (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/usr/sbin on /mnt/Life/iocage/jails/Transmission/root/usr/sbin (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/usr/share on /mnt/Life/iocage/jails/Transmission/root/usr/share (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/usr/libdata on /mnt/Life/iocage/jails/Transmission/root/usr/libdata (nullfs, local, read-only)
/mnt/Life/iocage/releases/11.3-RELEASE/root/usr/lib32 on /mnt/Life/iocage/jails/Transmission/root/usr/lib32 (nullfs, local, read-only)
/mnt/Life/TV Shows on /mnt/Life/iocage/jails/Transmission/root/TV Shows (nullfs, local)
 

HolyK

Ninja Turtle
Moderator
Joined
May 26, 2011
Messages
653
@Kenfolk Okay i think the problem is that when adding the torrents you've specified the full path from host system instead of the path within the jail. The reason why it "works" for you (opening the path) is that you (your user) has access to the SMB share from host system itself. It has nothing to do with the transmission itself as it just opens the path to the data.

Do you have "mapping" in place in TransGUI? If not then it magically works just by coincidence (torrent wrongly contains the full path to data and it works even w/o mapping just because you have smb share on it).

Two more questions before the suggested fix:
- How do you access the SMB shares. Do you have them mounted as network drives? (So in My Computer you have like X: (something)). Or do you use network locations (like //<IP>/<SMB_SHARE>/directory)
- If you open Options in TranGUI ("Wrench" icon) -> tab "Paths" "Tools -> Application options -> Paths" What do you have there?
 
Last edited:

Kenfolk

Explorer
Joined
Sep 4, 2016
Messages
51
I have them mounted as network drives
As for the paths, I have /mnt/Life/TV Shows
 
Top