Transmission on AsusWRT routers through Entware-NG

Transmission is a file sharing program.

When you run a torrent, its data will be made available to others by means of upload.

Any content you share is your sole responsibility.

Optware-NG version here

This version works on all supported routers: RT-N16, RT-N66U, RT-AC66U, RT-AC56U, RT-AC68U, RT-AC87U, RT-AC88U, RT-AC3200, RT-AC5300...

1 - Install Entware-NG from here

2 - Install transmission

opkg install transmission-web transmission-daemon-openssl transmission-remote-openssl

3 - Stop transmission

/opt/etc/init.d/S88transmission stop

4 - Backup standard file settings and create a new optimized one:

mv /opt/etc/transmission/settings.json /opt/etc/transmission/settings.json.backup
cat >> /opt/etc/transmission/settings.json << 'EOF'
"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": "",
"bind-address-ipv6": "::",
"blocklist-enabled": true,
"blocklist-url": "",
"cache-size-mb": 2,
"dht-enabled": true,
"download-dir": "/tmp/mnt/sda1/Transmission",
"download-queue-enabled": true,
"download-queue-size": 3,
"encryption": 0,
"idle-seeding-limit": 180,
"idle-seeding-limit-enabled": true,
"incomplete-dir": "/tmp/mnt/sda1/Transmission/Incomplete",
"incomplete-dir-enabled": false,
"lazy-bitfield-enabled": true,
"lpd-enabled": false,
"message-level": 2,
"open-file-limit": 5,
"peer-congestion-algorithm": "",
"peer-id-ttl-hours": 6,
"peer-limit-global": 80,
"peer-limit-per-torrent": 30,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"pidfile": "/var/run/",
"port-forwarding-enabled": true,
"preallocation": 1,
"prefetch-enabled": 1,
"proxy": "",
"proxy-auth-enabled": false,
"proxy-auth-password": "",
"proxy-auth-username": "",
"proxy-enabled": false,
"proxy-port": 80,
"proxy-type": 0,
"queue-stalled-enabled": true,
"queue-stalled-minutes": 300,
"ratio-limit": 7,
"ratio-limit-enabled": true,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "",
"rpc-enabled": true,
"rpc-password": "admin",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "admin",
"rpc-whitelist": "*.*.*.*",
"rpc-whitelist-enabled": false,
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"seed-queue-enabled": false,
"seed-queue-size": 10,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 0,
"upload-slots-per-torrent": 10,
"utp-enabled": false,
"watch-dir": "/opt/etc/transmission/watchdir",
"watch-dir-enabled": true

5 -
Start transmission daemon

/opt/etc/init.d/S88transmission start

6 - Open transmission webpage by going to default router ip address and port 9091, ex. (username: admin and password: admin)
The default download folder is on /mnt/sda1/Transmission (will be created automatically with the first downloaded torrent and can be changed editing settings.json file) if your usb disk has a label, change sda1 with the disk label. Be sure transmission-daemon is not running or changes will be overwritten!!!

/opt/etc/init.d/S88transmission stop

7 - With nano you can edit any settings like enable / change username, password:

nano /opt/etc/transmission/settings.json

8 - Save settings with CTRL-O, press ENTER and exit nano with CTRL-X, now start transmission again

/opt/etc/init.d/S88transmission start

9 - Create init-start script for some memory tweaks as suggested by ryzhov_al

nano /jffs/scripts/init-start

echo 524288 > /proc/sys/net/core/rmem_max
echo 524288 > /proc/sys/net/core/wmem_max
echo 8192 > /proc/sys/vm/min_free_kbytes

Save with CTRL-O, press ENTER and exit nano with CTRL-X

Make scripts executable

chmod a+rx /jffs/scripts/*

• If you want to access transmission from WAN like work, school, smartphone, tablet or some other device we need to open the port 9091 but the firmware doesn't allow port forwarding to the router himself, for that we will use firewall-start script on /jffs partition:

Create firewall rules

nano /jffs/scripts/firewall-start

Paste this lines in terminal


iptables -I INPUT -p tcp --destination-port 9091 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 51413 -j ACCEPT
iptables -I INPUT -p udp --destination-port 51413 -j ACCEPT

Save with CTRL-O / Enter / and exit with CTRL-X

Make scripts executable and apply rules

chmod a+rx /jffs/scripts/*
sh /jffs/scripts/firewall-start

Go to YourWanIp:9091 on preferred internet browser or install Transmission Remote GUI


SWAP FILE (Highly recommended) is created automatically when installing Entware-NG
If transmission crashes sometimes "without reason", most probably router goes out of memory and this can be fixed by creating a swap partition but it's a little bit to complicated for most users and we will create a swap file instead, 512MB is more than enough:

cd /opt
dd if=/dev/zero of=swap bs=1024 count=524288
mkswap swap
chmod 0600 swap
swapon swap

To enable swap file when router booting, add this lines to /jffs/scripts/post-mount script

echo "" >>/jffs/scripts/post-mount
echo "swapon /opt/swap" >>/jffs/scripts/post-mount

To unmount swap add this lines to /jffs/scripts/services-stop script

echo "" >>/jffs/scripts/services-stop
echo "swapoff /opt/swap" >>/jffs/scripts/services-stop

If you have a slow internet connection and you want to be notified when a torrent has finished downloading, place the folowing script witch I called in /jffs/scripts but first don't forget to fill: SMTP, FROM, TO, USER and PASS with your credentials.
WARNING, may become annoying if you are downloading lots of torrents...


FROMNAME="Asus Router"
torrent_name="$TR_TORRENT_NAME"echo "Subject: Download notification!" >/tmp/tmail.txt
echo "From: "$FROMNAME"<$FROM>" >>/tmp/tmail.txt
echo "Date: `date -R`" >>/tmp/tmail.txt
echo "" >>/tmp/tmail.txt
echo Transmissionbt has finished downloading "$TR_TORRENT_NAME" on `date +%d/%m/%Y` at `date +%T` >>/tmp/tmail.txt
echo "" >>/tmp/tmail.txt
echo "Your friendly router." >>/tmp/tmail.txt
echo "" >>/tmp/tmail.txtcat /tmp/tmail.txt | /usr/sbin/sendmail -S"$SMTP" -f"$FROM" $TO -au"$USER" -ap"$PASS"

rm /tmp/tmail.txt

Stop transmission daemon, change this two lines in /opt/etc/transmission-daemon/settings.json and start transmission again

"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/jffs/scripts/",


If you have difficulties with installation process or transmissionbt usage, copy paste from terminal the next commands and post here followed by issue details:

uname -a


  • Pingback: GVK BIO()

  • Pingback: GVK BIO New Deals()

  • Pingback: house for sale()

  • Pingback: Chemistry FTE CRO()

  • Pingback: gvk biosciences news()

  • Kenneth Durana

    Hi TeHashX, I'm stuck with 403 Forbidden, Edited Json files with my Current IP But to no avail. Can you help me on this one? Running Win 10 64bit and Router is a Netgear R7000 with Xvortex Merlin firmware. Thanks a lot!

    • Leave "rpc-whitelist-enabled" as "false" and should work from any ip.

  • Pingback: Your Domain Name()

  • Marcel Iures
    • You probably didn't copy right, all packages are available

      • Marcel Iures

        In will try again, 10x!

        • Marcel Iures

          I notice that: when I use usb 3.0 32 GB stick only errors, when I change on hdd works so well. My router Rt-ac68u.
          Thank You, great job!

  • Terrarum

    Hi, I think these guides are great!
    However, there seems to be some sort of crash happening sometimes when Transmission is preallocating files, resulting in VPN clients 'Error - authentication failed' and occasionally samba not working. I suspect RT-AC68U is running out of RAM memory. If this is the case, is there another way of optimising the memory besides Ryzhov's example set in this guide?

    • TeHashX

      Yes, create a swap file / partition

      • Terrarum

        2GB swap partition is created and working but I hardly ever noticed more than roughly 26000 used:
        Swap: 1999996 22404 1977592

  • דור גלעם

    Can't get transmission to run a script when a torrent is added/finishes downloading, this is what I did so far:

    Inside my JSON:
    "script-torrent-added-enabled": true,
    "script-torrent-added-filename": "/mnt/sda4/Scripts/",
    "script-torrent-done-enabled": true,
    "script-torrent-done-filename": "/mnt/sda4/Scripts/",

    Contents of
    /bin/echo "asdasd" > /mnt/sda4/Scripts/b.txt

    Tried chmod'ing all files inside my Scripts directory several times using chmod 777, chmod +x etc.

    The script is never run and thus the file is never created.

    Also check syslog and transmission log files and both don't show any script being run.

    Any ideas?

    • I'm not sure if "script-torrent-added-filename" is a valid option but "script-torrent-done-enabled" yes.
      You have to modify your script from #!/bin/bash to #!/bin/sh and try to execute first from terminal to see if is ok
      sh /mnt/sda4/Scripts/

      • דור גלעם

        Wow, changing it to #!/bin/sh actually worked!
        Thanks A LOT!

  • TAKA

    How can I use command "transmission-remote"?
    To use script on Transmission, I need to access "transmission-remote".
    When I type the command, -sh: transmission-remote: not found is shown.

    • opkg install transmission-remote-openssl

      • TAKA

        Thanks for your support. Now it works fine :D

  • Marcos

    Hi, I configured Transmission like said, and added the policies in the Firewall but I don't have access from Internet. I really like how works Transmission and would like to solve this problem.


    • TeHashX

      Do you have a fixed or dynamic ip?

      • Marcos

        I have Dynamic IP, but that's not the problen because i use No-IP.
        Aicloud from ASUS works perfectly
        And more things I have access from Internet
        Maybe it's a problem from the Router, because I have opened SSH acces from WAN and couldn't connect

        • TeHashX

          Which router, firmware?

          • Marcos

            380.61 Merlin

          • TeHashX

            Go to and check if ports 51413 & 9091 are open.

          • Marcos

            Tested!! The two ports report the same, telling that there is no service.

            But I could downland without any problem

            And the policies for firewall are added like said here

          • TeHashX

            Try one thing, go to router ui / Firewall / NAT Loopback and choose Merlin then reboot router

          • Marcos

            Done!! But nothing :(

          • TeHashX

            Can I assist you through team viewer?
            Send me tw id and temp password

          • Marcos

            Thanks a lot. Now I'm not in home. I will be in home at 18h hour of Spain.
            At what time could you assist me?

          • TeHashX

            GMT +3 here, just let me know when you are home.

          • Marcos

            I'm Home now. Are you there?

          • Marcos

            Thanks a lot for the Help TeHashX

  • TeHashX

    opkg install transmission-daemon-openssl

    • Yong

      Thanks TeHashX!
      This is just what I needed!

    • Guido

      Thanks! That's works for me! :)

  • Yong


    I'm having some problems installing transmission. Right after step 2, this file does not exist : "/opt/etc/init.d/S88transmission"

    • TeHashX

      ls -l /opt/etc/init.d

  • TeHashX

    Modified settings.json to be created instead of downloading from hqt server at point 4

  • Guido

    Hi! I do not know how but my "cd /opt/etc/transmission/" is empty all files was deleted.

    elrengo@RT-AC3100:/tmp/home/root# cd /opt/etc/transmission/
    elrengo@RT-AC3100:/tmp/mnt/sda2/entware-ng.arm/etc/transmission# ls -l

    I would like to download the new config and do not works:

    elrengo@RT-AC3100:/tmp/mnt/sda2/entware-ng.arm/etc/transmission# wget -c -O /opt/etc/transmission/settings.json
    /opt/etc/transmission/settings.json: Input/output error

    and I do not know if need some extra file. I'm in doubt to remove and re install transmission.

    • TeHashX

      How many usb disks and partition do you have connected to the router?
      I see entware is installed to /mnt/sda2/, if you reboot router the /opt partition is still /sda2?
      Input/output error has to do something with your disk not the script, which is fine, try oppening manually by clicking on

      • Guido

        Thanks! For you reply. I have two USB ports. USB3 port has a one drive with only a ntfs filesystem who is used to shared my photo backup. In usb 2 port I have one drive with two filesystem the first is a SWAP filesystem the other a ext4 filesystem.

        elrengo@RT-AC3100:/tmp/mnt/sda2/entware-ng.arm/etc/transmission# mount
        rootfs on / type rootfs (rw)
        /dev/root on / type squashfs (ro,relatime)
        devtmpfs on /dev type devtmpfs (rw,relatime,size=257528k,nr_inodes=64382,mode=755)
        proc on /proc type proc (rw,relatime)
        tmpfs on /tmp type tmpfs (rw,relatime)
        sysfs on /sys type sysfs (rw,relatime)
        devpts on /dev/pts type devpts (rw,relatime,mode=600)
        /dev/mtdblock4 on /jffs type jffs2 (rw,noatime)
        usbfs on /proc/bus/usb type usbfs (rw,relatime)
        /dev/sda2 on /tmp/mnt/sda2 type ext4 (rw,nodev,relatime,user_xattr,barrier=1,data=ordered)
        /dev/sdb1 on /tmp/mnt/Fotos type tntfs (rw,nodev,relatime,uid=0,gid=0,umask=00,nls=utf8,min_prealloc_size=64k,max_prealloc_size=256M,readahead=1M,user_xattr,case_sensitive,fail_safe,hidden=show,dotfile=show,errors=continue,mft_zone_multiplier=1)

        Allways when I can monitorin the /opt whas in sda2 filesystem. When I run "cd /opt" go to:

        elrengo@RT-AC3100:/# cd /opt/
        elrengo@RT-AC3100:/tmp/mnt/sda2/entware-ng.arm# pwd

        When I check the short url: "" go to this url: "" with 404 error not found: The requested document was not found on this server. Web Server at

        • TeHashX

          It's better to label the disk and will be mounted always by that label
          tune2fs -L "desired_label" /dev/sda2
          Now reinstall entware or optware

          When I check the short url: "" go to this url: "" with 404 error not found: The requested document was not found on this server. Web Server at

          I deleted that file from server, now you should create it manually as described at point 4

          • Guido

            Thanks for you reply! Ok. I backup all my data download with Transmissión and re-install my NG of Entware and then re install transmission.

          • Guido

            Looking for a manual of tune2fs, I can see that commando not format my filesystem. When I nee to reinstall entware, I need to delete it before or reinstall with out touch the actual version installed. If I need to uninstall it, how I can uninstall it. Again thanks in advance!

          • TeHashX

            Run installer again, this will backup existing optware/entware, don't have to format usb, but first give a label with command
            tune2fs -L "desired_label" /dev/sda1
            Run point 4 from here

          • Guido

            I do not know why but after a reboot I lost all my data in the disk and include all movies and series download by transmission. After swapon /dev/sda1, after reboot never mount the disk by auto.
            I try to recover the info using test disk but it no have ext4 undelete feature.I will be reassigned to lost all of them.

          • TeHashX

            If you have a swap partition and not a file, modify /jffs/scripts/post-mount script.
            Did you labeled partitions?

          • Guido

            Thanks. Yes, I have a swap partition / filesystem. sda1 is Linux Swap filesystem, sda2 is Ext4 filesystem. At the end of /jffs/scripts/post-mount script I added swapon /dev/sda1.

          • TeHashX

            But first you have to enable swap
            swapoff /opt/swap
            rm /opt/swap
            mkswap /dev/sda1
            swapon /dev/sda1

          • Guido

            before reboot, I do:
            mkswap /dev/sda1
            swapon /dev/sda1
            after reboot I put at the end /jffs/scripts/post-mount script swapon /dev/sda1.

          • TeHashX

            Ok, and?

          • Guido

            And not mount it automatically. And I do not found the information. Now I can start again the prosess. I'm not in my house to work with it.

          • Guido

            Hi again! I do not know how but when I create a swap, I run: "mkswap /dev/sda2".

            Now I can format again sda2 to ext 4. I install all again from begening. First entware-ng an then some applications that I use, unrar, 7-zip and mc. Then I installed:

            elrengo@RT-AC3100:/tmp/etc# ls
            TZ e2fsck.conf group.custom hotplug2.rules minidlna.conf pam.d profile services upnp
            cert.pem ethers group.openvpn iproute2 motd passwd protocols shadow usb_modeswitch.conf
            dnsmasq.conf ethertypes gshadow key.pem mtab passwd.custom resolv.conf shadow.openvpn vsftpd.conf
            dnssec-trust-anchors fstab hosts l7-protocols openssl.cnf passwd.openvpn samba smb.conf web
            dropbear group hosts.dnsmasq openvpn ppp server.pem static_routes
            elrengo@RT-AC3100:/tmp/etc# ls /opt/etc/init.d/
            rc.func rc.unslung
            elrengo@RT-AC3100:/tmp/etc# opkg install transmission-web
            Package transmission-web (2.92-3) installed in root is up to date.

            I do not found the services, the directorys and other settings of transmission.

          • TeHashX

            Can I assist you through team viewer?

          • Guido


          • TeHashX

            Ok, send me TW id and temporary password, use contact form

          • Guido

            I installed again from beginning creating mkfs.ext4, then intalling again entware, then transsmission web but I have the same issue. :S

          • Guido

            What log I need to view or share with here to resolve the issue?

          • TeHashX

            Install transmission-daemon ssl
            opkg install transmission-daemon-openssl

          • Guido

            I do not read these mensage. I overlook it

      • Guido

        I found this error because I can not access to web gui for transmission with the following error:

        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.

        When I went to search the configs file I do not find it.

        • TeHashX

          I modified point 4

  • Fex


    just discovered this in the log, maybe you have an idea how to fix it.

    Jul 7 11:28:56 kernel: BUG: scheduling while atomic: mtdblock3/252/0x40000002
    Jul 7 11:28:56 kernel: module: ct_notification bf80a000 1684
    Jul 7 11:28:56 kernel: module: bw_forward bf7ea000 93908
    Jul 7 11:28:56 kernel: module: IDP bf75e000 529326
    Jul 7 11:28:56 kernel: module: ohci_hcd bf754000 17918
    Jul 7 11:28:56 kernel: module: ehci_hcd bf747000 31565
    Jul 7 11:28:56 kernel: module: xhci_hcd bf734000 51124
    Jul 7 11:28:56 kernel: module: nf_nat_sip bf72d000 5031
    Jul 7 11:28:56 kernel: module: nf_conntrack_sip bf724000 15713
    Jul 7 11:28:56 kernel: module: nf_nat_h323 bf71d000 4761
    Jul 7 11:28:56 kernel: module: nf_conntrack_h323 bf70f000 33807
    Jul 7 11:28:56 kernel: module: nf_nat_rtsp bf709000 3202
    Jul 7 11:28:56 kernel: module: nf_conntrack_rtsp bf703000 4067
    Jul 7 11:28:56 kernel: module: nf_nat_ftp bf6fd000 1144
    Jul 7 11:28:56 kernel: module: nf_conntrack_ftp bf6f6000 4909
    Jul 7 11:28:56 kernel: module: ip6table_mangle bf6f0000 934
    Jul 7 11:28:56 kernel: module: sr_mod bf6e8000 10842
    Jul 7 11:28:56 kernel: module: cdrom bf6db000 30901
    Jul 7 11:28:56 kernel: module: cdc_mbim bf6d5000 3129
    Jul 7 11:28:56 kernel: module: qmi_wwan bf6ce000 5780
    Jul 7 11:28:56 kernel: module: cdc_wdm bf6c7000 7252
    Jul 7 11:28:56 kernel: module: cdc_ncm bf6bf000 8750
    Jul 7 11:28:56 kernel: module: rndis_host bf6b8000 4936
    Jul 7 11:28:56 kernel: module: cdc_ether bf6b2000 3187
    Jul 7 11:28:56 kernel: module: asix bf6aa000 10832
    Jul 7 11:28:56 kernel: module: usbnet bf6a1000 11161
    Jul 7 11:28:56 kernel: module: mii bf69b000 3367
    Jul 7 11:28:56 kernel: module: usblp bf693000 10321
    Jul 7 11:28:56 kernel: module: thfsplus bf64d000 81793
    Jul 7 11:28:56 kernel: module: tntfs bf5d1000 454497
    Jul 7 11:28:56 kernel: module: tfat bf598000 188546
    Jul 7 11:28:56 kernel: module: ext2 bf584000 52776
    Jul 7 11:28:56 kernel: module: ext4 bf543000 221674
    Jul 7 11:28:56 kernel: module: jbd2 bf530000 48993
    Jul 7 11:28:56 kernel: module: crc16 bf52a000 1007
    Jul 7 11:28:56 kernel: module: ext3 bf508000 106409
    Jul 7 11:28:56 kernel: module: jbd bf4f7000 42367
    Jul 7 11:28:56 kernel: module: mbcache bf4f0000 4599
    Jul 7 11:28:56 kernel: module: usb_storage bf4e1000 34290
    Jul 7 11:28:56 kernel: module: sg bf4d6000 19855
    Jul 7 11:28:56 kernel: module: sd_mod bf4ca000 21983
    Jul 7 11:28:56 kernel: module: scsi_wait_scan bf4c4000 416
    Jul 7 11:28:56 kernel: module: scsi_mod bf49f000 108738
    Jul 7 11:28:56 kernel: module: usbcore bf47c000 101810
    Jul 7 11:28:56 kernel: module: ip6t_LOG bf475000 4494
    Jul 7 11:28:56 kernel: module: ip6table_filter bf46f000 750
    Jul 7 11:28:56 kernel: module: jffs2 bf451000 91274
    Jul 7 11:28:56 kernel: module: zlib_deflate bf447000 19489
    Jul 7 11:28:56 kernel: module: nf_nat_pptp bf441000 1602
    Jul 7 11:28:56 kernel: module: nf_conntrack_pptp bf43b000 3355
    Jul 7 11:28:56 kernel: module: nf_nat_proto_gre bf435000 887
    Jul 7 11:28:56 kernel: module: nf_conntrack_proto_gre bf42f000 3296
    Jul 7 11:28:56 kernel: module: wl bf031000 3938270
    Jul 7 11:28:56 kernel: module: igs bf029000 11887
    Jul 7 11:28:56 kernel: module: emf bf020000 15145
    Jul 7 11:28:56 kernel: module: et bf00a000 61421
    Jul 7 11:28:57 kernel: module: ctf bf000000 20243
    Jul 7 11:28:57 kernel: Modules linked in: ct_notification bw_forward(P) IDP(P) ohci_hcd ehci_hcd xhci_hcd nf_nat_sip nf_conntrack_sip nf_nat_h323 nf_conntrack_h323 nf_nat_rtsp nf_conntrack_rtsp nf_nat_ftp nf_conntrack_ftp ip6table_mangle sr_mod cdrom cdc_mbim qmi_wwan cdc_wdm cdc_ncm rndis_host cdc_ether asix usbnet mii usblp thfsplus tntfs(P) tfat(P) ext2 ext4 jbd2 crc16 ext3 jbd mbcache usb_storage sg sd_mod scsi_wait_scan scsi_mod usbcore ip6t_LOG ip6table_filter jffs2 zlib_deflate nf_nat_pptp nf_co
    Jul 7 11:28:57 kernel: [] (unwind_backtrace+0x0/0xf8) from [] (schedule+0x434/0x75c)
    Jul 7 11:28:57 kernel: [] (schedule+0x434/0x75c) from [] (__cond_resched+0x24/0x34)
    Jul 7 11:28:57 kernel: [] (__cond_resched+0x24/0x34) from [] (_cond_resched+0x34/0x44)
    Jul 7 11:28:57 kernel: [] (_cond_resched+0x34/0x44) from [] (shrink_page_list+0x48/0x728)
    Jul 7 11:28:57 kernel: [] (shrink_page_list+0x48/0x728) from [] (shrink_inactive_list+0x104/0x1dc)
    Jul 7 11:28:57 kernel: [] (shrink_inactive_list+0x104/0x1dc) from [] (shrink_zone+0x3a4/0x418)
    Jul 7 11:28:57 kernel: [] (shrink_zone+0x3a4/0x418) from [] (try_to_free_pages+0x150/0x33c)
    Jul 7 11:28:57 kernel: [] (try_to_free_pages+0x150/0x33c) from [] (__alloc_pages_nodemask+0x31c/0x698)
    Jul 7 11:28:57 kernel: [] (__alloc_pages_nodemask+0x31c/0x698) from [] (__slab_alloc+0x1b4/0x814)
    Jul 7 11:28:57 kernel: [] (__slab_alloc+0x1b4/0x814) from [] (__kmalloc+0xf4/0x104)
    Jul 7 11:28:57 kernel: [] (__kmalloc+0xf4/0x104) from [] (_nflash_mtd_read+0x9c/0x3a0)
    Jul 7 11:28:57 kernel: [] (_nflash_mtd_read+0x9c/0x3a0) from [] (nflash_mtd_read+0x4c/0x64)
    Jul 7 11:28:57 kernel: [] (nflash_mtd_read+0x4c/0x64) from [] (part_read+0x64/0xe8)
    Jul 7 11:28:57 kernel: [] (part_read+0x64/0xe8) from [] (mtdblock_readsect+0x40/0x114)
    Jul 7 11:28:57 kernel: [] (mtdblock_readsect+0x40/0x114) from [] (mtd_blktrans_thread+0x204/0x294)
    Jul 7 11:28:57 kernel: [] (mtd_blktrans_thread+0x204/0x294) from [] (kthread+0x88/0x90)
    Jul 7 11:28:57 kernel: [] (kthread+0x88/0x90) from [] (kernel_thread_exit+0x0/0x8)

    I'm running Merlin Firmware:380.59 AC87U router.


  • Adrian

    Hi TeHashX,

    A little bit confused regarding the swap part.

    During the Entware-NG install, I have selected to have 2048 MB space of swap. Its there.

    total used free shared buffers
    Mem: 255692 111416 144276 0 1188
    -/+ buffers: 110228 145464
    Swap: 2097148 0 2097148

    but on this page, even if I have the swap file, you are saying that we still need a 512 MB file, so I've tried to follow your commands

    cd /opt
    dd if=/dev/zero of=swap bs=1024 count=524288
    mkswap swap
    chmod 0600 swap
    swapon swap

    Issuing dd if=/dev/zero of=swap bs=1024 count=524288 I hit the dd: can't open 'swap': Text file busy.

    I assume this error is because a have the 2048 Mb file in /opt.

    Any feedback?


    • TeHashX

      You already created swap, don't need one more time

      • Adrian

        ok, thanks

        Another question if you can help.

        Entware-NG in a USB memory stick that is permanently plugged into the router.
        Every time, i'm restarting the router, checking with "mount" I can see that the USB stick is /dev/sdc5 or /dev/sdb5 or /dev/sde5 and so on.

        Any idea why I have different values with every mount? Its causing me trouble because at this point is mounted and visible but cannot run NANO, MC or other packages installed...


        • Adrian

          i assume that if now it is /dev/sdc5 it cannot see the /opt file since the post-mount is saying:

          if [ "$1" = "/tmp/mnt/sdb5" ] ; then
          ln -nsf $1/entware-ng.arm /tmp/opt

          its still searching for sdb5

        • TeHashX

          Give usb a label then install optware/entware from scratch

          tune2fs -L "desired_label" /dev/sda1
          Change sda1 with usb disk mount, in your case sdb5

          • Adrian

            sorry to ask but I've just installed Entware from scratch today. Can't I just put the label and then modify the post post-mount script with the new label?
            Maybe there is an workaround ...

          • TeHashX

            The answer is yes :)

          • Adrian

            Thanks it worked.

            Getting back on the swap topic, when I have started some torrents, I can see in the routers log a lot of warnings

            Jul 2 20:56:55 kernel: Write-error on swap-device (8:16:49432)
            Jul 2 20:56:55 kernel: Write-error on swap-device (8:16:49440)
            Jul 2 20:56:55 kernel: Write-error on swap-device (8:16:49448)
            Jul 2 20:56:55 kernel: Write-error on swap-device (8:16:49456)
            Jul 2 20:56:55 kernel: Write-error on swap-device (8:16:49464)
            Jul 2 20:56:55 kernel: Write-error on swap-device (8:16:49472)
            Jul 2 20:56:55 kernel: Write-error on swap-device (8:16:49480)

            any idea?

          • TeHashX

            swapoff /opt/swap
            rm /opt/swap
            Create swap file again with instructions at the end of post

          • Adrian

            Perfect ! no more swap errors. I will create an Wikipedia page for you :))

          • TeHashX

            If you have time...

  • Guido

    Hi! How I can add samba share the path "/mnt/sda2/Transmission" because is a EXT4 Filesystem and file that are compressed I can see. How I stop samba, modify smb.conf and start to add this share to network and not use the ftp.

    • TeHashX
      • Guido

        Hi create the file /jffs/configs/smb.conf.add with:

        comment = Files download by Transmission.
        dos filetimes = yes
        fake directory create times = yes
        valid users = elrengo
        invalid users =
        read list = elrengo
        write list = elrengo

        and works!!

        • TeHashX

          It's not the same result as enabling from router ui?

          • Guido

            I do not enable the NFS share. I share with samba and I can now navigate from explorer.

  • TeHashX

    Guide updated for New Generation Entware :)

  • Guido

    Hi! I have a RT-AC3100. I have 2 hdd mounted.USB 3 have a sony 1TB NTFS hdd, usb 2 have a 500GB 1GB swap partition that is not possible to configure to swapon at boot. but I create a swap file using the step on this man. Whe I installed and go to web that is the error:

    "404: Not Found

    Couldn't find Transmission's web interface files!

    Users: to tell Transmission where to look, set the TRANSMISSION_WEB_HOME environment variable to the folder where the web interface's index.html is located.

    Package Builders: to set a custom default at compile time, #define PACKAGE_DATA_DIR in libtransmission/platform.c or tweak tr_getClutchDir () by hand."

    The command result are:

    elrengo@RT-AC3100:/tmp/mnt/download/entware/etc/transmission# uname -a
    Linux RT-AC3100 #1 SMP PREEMPT Sun Mar 20 16:07:50 EDT 2016 armv7l GNU/Linux
    elrengo@RT-AC3100:/tmp/mnt/download/entware/etc/transmission# mount
    rootfs on / type rootfs (rw)
    /dev/root on / type squashfs (ro,relatime)
    devtmpfs on /dev type devtmpfs (rw,relatime,size=257528k,nr_inodes=64382,mode=755)
    proc on /proc type proc (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,relatime)
    sysfs on /sys type sysfs (rw,relatime)
    devpts on /dev/pts type devpts (rw,relatime,mode=600)
    /dev/mtdblock4 on /jffs type jffs2 (rw,noatime)
    usbfs on /proc/bus/usb type usbfs (rw,relatime)
    /dev/sda2 on /tmp/mnt/download type ext4 (rw,nodev,relatime,user_xattr,barrier=1,data=ordered)
    /dev/sdb1 on /tmp/mnt/Fotos type tntfs (rw,nodev,relatime,uid=0,gid=0,umask=00,nls=utf8,min_prealloc_size=64k,max_prealloc_size=256M,readahead=1M,user_xattr,case_sensitive,fail_safe,hidden=show,dotfile=show,errors=continue,mft_zone_multiplier=1)
    elrengo@RT-AC3100:/tmp/mnt/download/entware/etc/transmission# df
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/root 37120 37120 0 100% /
    devtmpfs 257528 0 257528 0% /dev
    tmpfs 257672 632 257040 0% /tmp
    /dev/mtdblock4 65536 1752 63784 3% /jffs
    /dev/sda2 451922072 570464 427247008 0% /tmp/mnt/download
    /dev/sdb1 976759804 48543112 928216692 5% /tmp/mnt/Fotos
    elrengo@RT-AC3100:/tmp/mnt/download/entware/etc/transmission# free
    total used free shared buffers
    Mem: 515348 122664 392684 0 660
    -/+ buffers: 122004 393344
    Swap: 524284 0 524284

    • TeHashX

      I will try to install transmission through entware later today and I will provide you a solution.

      • TeHashX

        I just installed entware-ng and transmission from scratch on my RT-AC68U and it's all fine.
        You messed something, try to install again.

        • Guido

          Thanks for your quicky reply. I found something with entware installation. After a reboot, when I put cd /opt the path is not de /dev/sda2 with /tmp/mnt/download the device with EXT4 file system go to HDD with NTFS file system How I can do a unistall all to re-install from scratch.
          If I remove both drives, format again with ETX and create swap file and intall from zero works, do not have any issue?
          Thanks in advance!!

          • TeHashX

            Try installing entware-ng from scratch using this guide not the script included in the firmware, if your ext4 disk has the label "download" will be always mounted right and entware should be ok.
            You can use your swap partition instead of swap file
            use fdisk -l to see which one is (ex. /dev/sdb2)
            run mkswap /dev/sdb2
            swapon /dev/sdb2
            To mount at boot add to /jffs/scripts/post-mount script swapon /dev/sdb2

          • Guido

            Hi! I'm very grateful with your help. I realy want to do a new install from scratch of entware and transmission. For that I would like to know if need it some step by special to uninstall it. I was thinking at first time format a JFFS to delete all manual script added. Then umount and unconnect both HDD. Delete all data from both an start from there. That proccess is correct?

            My download hdd was /dev/sda2, /dev/sda1 it is my swap partition. When I delete I have a doubt to continue with EXT4 filesystem or change it for EXT3 filesystem. What is better?

            Talking about SWAP I am thinking to remove the partition and create a new file with the step of new install entware. If you recommend still to use a swap parition I need to add the swapon command in "/jffs/scripts/post-mount" script and swapoff in "/jffs/scripts/services-stop". Both script have a if sentece, I do not know what to do this sentence. I add the command at the end of both scripts or inside the if sentence.

            Thanks in advance again!!


          • TeHashX

            Leave it as ext4
            Delete all jffs scripts if you don't have anything important there.
            It's better a swap partition
            Leave both drives connected and reboot 2-3 times to see if are mounted with the same letter.
            I don't have time right now but I will make a guide about how to mount by label swap partition at boot.

          • Guido

            Thanks! I will try with that you say. I do not have enythin in jffs scripts because it the only that I installed.

          • Guido

            At this time is working! Thanks! I only have a doubt with swap at start and script for firewall start if I need to call it in one of start scripts.

          • Guido

            Hi! I'm again. :) I delete all of both drives and format. Create a Swap partition and activate. downlaod now is mounted as "/dev/sda2 on /tmp/mnt/sda2 type ext4 (rw,nodev,relatime,user_xattr,barrier=1,data=ordered)" the download label I delete by error.

            When I want to add:

            To mount at boot add to /jffs/scripts/post-mount script swapon /dev/sdb2

            I found in the script that:

            "elrengo@RT-AC3100:/jffs/scripts# vi ./post-mount

            if [ "$1" = "/tmp/mnt/sda2" ] ; then
            ln -nsf $1/entware-ng.arm /tmp/opt

            sleep 2
            if [ -f /opt/swap ]
            echo -e "Mounting swap file..."
            swapon /opt/swap
            echo -e "Swap file not found or /opt is not mounted..."

            I'm thinking to add to the last of scrips because the scrip do reference to swap file.

  • Tayshawn

    server is not responding... cannot download transmission-web. any advice?

  • Michal Wheelq

    How do I make it start after reboot? currently it doesnt start :/

    • Your drive is mounted after services are started.
      Add this lines at the end of /jffs/scripts/post-mount

      sleep 30
      /opt/etc/init.d/S88transmission restart

      • Michal Wheelq

        any reason why S88 script is not being picked up automatically by rc.unslung

        • Did you tried command /jffs/scripts/services-start and it's not working?

          • Michal Wheelq

            yes. only adding lines at the end of /jffs/scripts/post-mount

            sleep 30
            /opt/etc/init.d/S88transmission restart

            works. why isn't this picked up automatically

          • Something is changed in latest firmwares and services are started before usb disk is mounted. Anyway if alternative works, you are ok. :)

  • mPolr

    If i install entware on internal microsd (at RT-N66U) can i download torrents to external USB-HDD formatted NTFS?

    • Technically is posibile but practically not quite, why don't you try and share results?

  • Al

    My transmission does not start upon reboot of the router. I also noticed that in this post there is no line for autostart of the app. In the post of optware transmission there was line " transmission yes", but not here.

    Have I missed something?

    • Add "/opt/etc/init.d/S88transmission start" to your startup scripts.

  • Dmytro

    Hi. I have a problem with a swap on RT-N66U Marlin firmware 378.51. Its already installed by all instruction

    cd /optdd if=/dev/zero of=swap bs=1024 count=524288
    mkswap swap
    chmod 0600 swap
    swapon swap
    swapon /opt/swap in /jffs/scripts/post-mount

    and working well

    Swap: 524280 4204 520076

    But after rebooting its lost and view like swap 0 0 0

    Help please :)

    • Dmytro

      :( please

      • Hmmm, add sleep 30 before swapon /opt/swap

        sleep 30
        swapon /opt/swap

        • Dmytro

          thank you brother. Its helped!

  • canaokar

    I am using this on my RT-AC66U. I have a Mac. I am using a Seagate Expansion HDD (1TB) formatted to Ext3. Transmission is running smoothly. The only problem I encounter is that my Mac is not detecting the drive. Whenever I try to connect to the server I am getting Connection Failed. Pls help!

    • user

      hi,you must enable file share service(eg,ftp/samba)then,open finder,command+k,type your router ip。enjoy it。
      sorry for my bad English ;)

  • duong trung

    Hi, I installed Entware and Tranmission and I have a problem! I can connect to tranmission in Lan net work! But when I tried to connect to tranmission remotely with my phone through 3G connection I can't connect to transmission ! How do I do to fix that problem ! Thanks!

    • Read again ACCESS FROM WAN

  • user

    i recommend this web ui to manage transmission,please add in tutorial,thanks!

  • JCG

    Does this guide work for Entware on ARM devices (i.e. AC68P)? Thanks.

  • kevin170293

    Hi, sorry for bad english. A i have an rt-n66u and merlin's last firmware, after i am installing entware and transmission all is going fine for a long time, but when i need to power off router my transmission didn't start again and i need to reinstall entware and transmission... help please

    • You don't need to reinstall all every time :(
      Setup jffs partition, put a file or an empty folder inside and reboot router 2-3 times, now check if that file or folder it's stil there

      • Kevin170293

        Sorry, that was my FAIL. I didn't check that checkbox 'Enable JFFS custom scripts and configs' thanks for helping

  • RyanAir

    transmission daemon doesn't start on mu RT-AC68U and I have no idea why...

    admin@wlanrouter:/tmp/mnt/OPTWARE/entware.arm/etc/transmission# uname -a
    Linux wlanrouter #1 SMP PREEMPT Fri Feb 6 20:54:25 EST 2015 armv7l GNU/Linux

    admin@wlanrouter:/tmp/mnt/OPTWARE/entware.arm/etc/transmission# mount
    rootfs on / type rootfs (rw)
    /dev/root on / type squashfs (ro,relatime)
    devtmpfs on /dev type devtmpfs (rw,relatime,size=127764k,nr_inodes=31941,mode=755)
    proc on /proc type proc (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,relatime)
    sysfs on /sys type sysfs (rw,relatime)
    devpts on /dev/pts type devpts (rw,relatime,mode=600)
    /dev/mtdblock4 on /jffs type jffs2 (rw,noatime)
    usbfs on /proc/bus/usb type usbfs (rw,relatime)
    /dev/sdc1 on /tmp/mnt/Volume type ext4 (rw,nodev,relatime,barrier=1,data=ordered)
    /dev/sdb1 on /tmp/mnt/OPTWARE type ext4 (rw,nodev,relatime,user_xattr,barrier=1,data=ordered)
    nfsd on /proc/fs/nfsd type nfsd (rw,relatime)

    admin@wlanrouter:/tmp/mnt/OPTWARE/entware.arm/etc/transmission# df
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/root 22400 22400 0 100% /
    devtmpfs 127764 0 127764 0% /dev
    tmpfs 127872 4988 122884 4% /tmp
    /dev/mtdblock4 64256 2084 62172 3% /jffs
    /dev/sdc1 961432904 322204380 590390484 35% /tmp/mnt/Volume
    /dev/sdb1 3664755 61337 3407886 2% /tmp/mnt/OPTWARE

    admin@wlanrouter:/tmp/mnt/OPTWARE/entware.arm/etc/transmission# free
    total used free shared buffers
    Mem: 255744 82400 173344 0 1408
    -/+ buffers: 80992 174752
    Swap: 0 0 0

    admin@wlanrouter:/tmp/mnt/OPTWARE/entware.arm/etc/transmission# /opt/etc/init.d/S88transmission start
    Starting transmission-daemon... done.
    admin@wlanrouter:/tmp/mnt/OPTWARE/entware.arm/etc/transmission# /opt/etc/init.d/S88transmission check
    Checking transmission-daemon... dead.

    • 1 - you didn't enabled swap
      2 - where did you set download folder?
      3 - Send me Team Viewer id and temp password by contact form

      • RyanAir

        hey, thank you for the answer, transmission (from the Optware repository) has always properly worked on my RT-AC68U without any swap files or partitions, it has 256 MB RAM...The download folder is set to /tmp/mnt/Volume/transmission/download

      • RyanAir

        Finally it was the missing swap file. Who knows why.. Thank you.

      • RyanAir

        Although a swap file seems to help, I still cannot imagine why. "Free" says, that swap is always unused, even if transmission is running, even if transmission leeching and seeding torrents. So it seems to be a particularity of implementation within Entware on ARM?

        • With free command you get 0 0 0?

          • RyanAir

            not 0 0 0!

            total used free shared buffers
            Mem: 255744 74384 181360 0 1256
            -/+ buffers: 73128 182616
            Swap: 517700 0 517700

            the USED swap memory is 0

          • It's ok, try adding more torrents and will be used for sure.

  • Alexey Tsapko

    Should I make SWAP file if I have already done when installing Wheezy?

  • zikiman


    I have a router asus rt-n66u I installed merlin, entware and transmission. I followed the tutorials and the transmission works but slow. The cpu with 1 file downloading is set to 100%. Any suggestions ??

    thank you very much


    • A swap file will help

      • zikiman

        Now I'm formatting the hard disk usb and start the installation clean. I return to install merlin, entware and transmission, or better consider another alternative. Thank you for your quick response.

        PS factory reset router, combination of buttons?

        • Press reset button for about 30 sec.
          You can try debian version (not posted tutorial yet for mipsel devices) but anyway, transmission will use a lot of cpu, it's normal.

          • zikiman

            then it is normal that the cpu is at 100% all the time? buff. downloads are very slow ... I'll have to rescue my old NAS ... but first try what you told me.

            Thank you

  • Ramasjang


    Tried you guide and it works well, how come you have removed the option for watch dir in your settings file?

    • Didn't notice, solved now, thanks.

  • Andrew

    great! works all fine, tnx alot to TeHashX ))

  • nick

    Had troubles with optware, but with TeHashX help my RT-N16 runs Transmission (installed via entware)

    • Joe

      No longer works I have to switch to opwareNG and install Transmission


To be notified by email when a new tutorial is posted :)

Thanks for Subscribing! I'll keeping you up-to-date with latest tutorials!

Something went wrong, try again...