NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.

Forum Discussion

rootuser's avatar
rootuser
Aspirant
Apr 19, 2016
Solved

Transmission mistake in start.sh and settings.json question

Hi all,

 

Not sure if I made this mistake and now it's propegating or it is actually a mistake in the Transmission source for Readynas (which I don't where to look for it).

 

In the start.sh file, in the path to downloads, downloads is spelled "donwloads".  Changing it one way or the other doesn't seem to make any difference, just an oddity.

 

At first I thought this was my mistake, but after reloading transmission several times and doing an OS Re-install, the problem keeps coming back.  I certainly could have done something to make this a problem but I don't know what.

 

 

That being said the problem I am having is "intended" I belive but I don't know how to overcome it:  I cannot make any changes that stick to the /data/Transmission/config/settings.json file.  I want to set certain parameters and some other tweaks, but every time I start and or stop the Transmission client to pick up changes, the settings.json file is overwritten with a new one from some place else.  I have tried it with the daemon running and not running.  It re-writes this config file on both start and stop.  I have no idea where this "someplace else" is so I am not sure where to edit settings.  Settings in the limited GUI seem to stick and work just fine but they are NOT written to the settings.json file directly until shutdown.

 

Does anyone have any clues here so I can use some of the parameters Transmissions offers but are not available in the GUI?

  • Have tracked it down and here is the issue:

     

    The config file re-writes itself if there is an entry in a format it doesn't like, even though the command line may accept the format.

     

    Some entires in the config files accept wildcards (*), some accept comma deliniated entries such as the rpc whitelist address, some do not.  So an IP on the whitelist to allow 192.168.*.* works fine, entering it in the same format for another entry may or may not work.  The documentation is sparse on this but it can be found pouring through source.

     

    Furthermore, the command line daemon entires accept for example: 10.0.0.0/8 and actually function with such entires for certain parameters but the config file does not.

     

    Best bet if you want to get fancy, start the entire thing from command line with the exact arguements you want and to heck with the config file OR figure out the exact syntax accepted by the config file.  The random ports and others can actually be more than one entry via command line but cannot via the config file.  The config file WILL rewrite itself over a bad entry (kinda cool, kinda not) so it keeps n00bs like me from doing dumb things and the process just failing to start and throwing an error in the front-end interface.

     

    Problem solved.

6 Replies

Replies have been turned off for this discussion
  • BrianL2's avatar
    BrianL2
    NETGEAR Employee Retired

    Hi rootuser,

     

    Thank you for sharing to the community.

     

    Let's hear from other members if they have encountered the same problem and seek assistance from super_poussin.

     

    Welcome to the community!

     

     

    Kind regards,

     

    BrianL
    NETGEAR Community Team

    • rootuser's avatar
      rootuser
      Aspirant

      Thanks!  

       

      There is another settings.json kept under the user profile you started the daemon under (for example)  ~/.config/transmission-daemon/settings.json but changing this file has the same problem! Doh!

       

      Apparently this is a well known problem with Transmission.  The devs seemed to think it was a good idea to re-write the settings.json file in /data/Transmission/config and those changes are not picked up in any version of Transmission regarless of the port (OSX, *Nix, whatever).  The problem is none of the documentation shows where to make the setting changes so it actually works.

       

      In particular there are settings for the port ranges.  This is of the utmost importance to me and I want to control the upper and lower port range which is impossible to do in the GUI at this point.

  • Stop transmission before making a change in settings.json then you change should stay

     

    • rootuser's avatar
      rootuser
      Aspirant

      Thank you for the reply super_poussin but unfortunately that is not the case (Although some documentation tells you it should be).

       

      The file in /data/Transmission/config/ re-writes on start (even when the daemon is not running) AND on close.  Not sure why that is.  So even if the daemon is not running, the changes do not stay.  I can literally watch the file re-write itself from tmp.  Its totally crazy.  The settings must be stored some place but where I have no idea!!!

       

      Thus my problem :)

       

      Do you know of an alternate location where the config file might be stored and actually accept changes?

    • rootuser's avatar
      rootuser
      Aspirant

      To add some more information:

       

      Running transmission-daemon from the command line does NOT re-write the config files.  The act of "Flipping the switch" in the GUI does.  On or Off it doesn't matter, flipping that switch causes the config files to overwrite.

      • rootuser's avatar
        rootuser
        Aspirant

        Have tracked it down and here is the issue:

         

        The config file re-writes itself if there is an entry in a format it doesn't like, even though the command line may accept the format.

         

        Some entires in the config files accept wildcards (*), some accept comma deliniated entries such as the rpc whitelist address, some do not.  So an IP on the whitelist to allow 192.168.*.* works fine, entering it in the same format for another entry may or may not work.  The documentation is sparse on this but it can be found pouring through source.

         

        Furthermore, the command line daemon entires accept for example: 10.0.0.0/8 and actually function with such entires for certain parameters but the config file does not.

         

        Best bet if you want to get fancy, start the entire thing from command line with the exact arguements you want and to heck with the config file OR figure out the exact syntax accepted by the config file.  The random ports and others can actually be more than one entry via command line but cannot via the config file.  The config file WILL rewrite itself over a bad entry (kinda cool, kinda not) so it keeps n00bs like me from doing dumb things and the process just failing to start and throwing an error in the front-end interface.

         

        Problem solved.

NETGEAR Academy

Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology! 

Join Us!

ProSupport for Business

Comprehensive support plans for maximum network uptime and business peace of mind.

 

Learn More