Joined: 06 Jun 2006 Posts: 7492 Location: Dresden, Germany
Posted: Mon Oct 11, 2021 6:50 Post subject:
portsup wrote:
On further investigation it's transmissiond that is overwriting all of settings.json and not ddwrt. You need 'killall transmissiond' BEFORE editing it. When transmissiond closes it overwrites settings.json. Now ddwrt is also wiping the parts of settings.json it has options in the gui for. It does this not sure when. This wouldn't be a problem for me except it also uses an option in the gui for 'Transmission Download Directory' to change 2 settings in settings.json, one being 'download-dir' the appropriate setting the other being 'incomplete-dir'. This is not good if you want to use a different drive for 'incomplete-dir'. I need to use a different drive because I use an archive drive for the 'download-dir' and if you let the torrents construct on that it makes a lot of writes and a lot of writes severely fragments archive drives and makes them perform horribly.
thats correct. if you kill transmission, transmission will write the json settings file. but thats not all. killing is wrong. you need to use "service stop transmission"
this will kill transmission, wich stores the json file but also parses the json file and stores the data in dd-wrt's nvram. on reboot the json file gets recreated, so the correct config is used _________________ "So you tried to use the computer and it started smoking? Sounds like a Mac to me.." - Louis Rossmann https://www.youtube.com/watch?v=eL_5YDRWqGE&t=60s
"service stop transmission" returns an error "service transmission stop" works. Transmission still overwrites settings.json like with "killall" and it overwrites with the settings it has in NVRAM.
My main issue is the nvram setting "transmission_download" is being used to generate 2 things in settings.json "download-dir" and "incomplete-dir" which means you can't use a different drive for each, which is needed to protect archive drives from excess writes which is bad for them. My suggest is to delete lines 255,256,257 in https://svn.dd-wrt.com/browser/src/router/services/services/transmission.c . Alternatively a gui/nvram setting and code could be added to ignore all the transmission nvram settings and just use the existing settings.json