Tomato ND USB Mod with kernel 2.6 (Tomato-RT)

Discussion in 'Tomato Firmware' started by teddy_bear, Jan 8, 2010.

  1. n3IVI0

    n3IVI0 Addicted to LI Member

    Anybody have any luck installing Twonky on this thing? I can get it installed, and run it, and it daemonizes, but I can't access the gui to configure anything...

    Keep getting this in the log:

    dbx_item_init() failed
    File: ../../../server/sqlite/adapter.c
    Function: dbx_modules_init
    Line: 231
  2. maurer

    maurer Network Guru Member

    I've set up samba in the tomato gui in unauthenticated mode but cannot acces the share on win7 through lan, only though wifi...
    Are any of you haveing a solution to this ?
  3. Credo

    Credo Addicted to LI Member

    Want to create a Russian branch of the discussion?
    think many people will test and make suggestions.
  4. oldkuang

    oldkuang Addicted to LI Member

    I have Tomato RT-N16 running for couple of days, it seems no problem. But suddenly, clients can not see stable WiFi after I changed channel width to 20 MHz. Both the Tivo box and my eeepc with built adapter could occasionally see the ssid but could not make connection. I set back to 40 MHz, still could not make connection. It seems OK after I rebooted the router. Can someone give me some hints? Thank you in advance.
  5. soldier

    soldier LI Guru Member

    C'mon people, don't keep it for yourself, START WRITING SOME TUTORIALS PLEASE.
  6. kamatschka

    kamatschka Network Guru Member

    for what?
  7. cariyawa

    cariyawa Addicted to LI Member

    Mhh.. Good Question.. Say if you do something(which may not be obvious) interesting with your RT-N16 with Tomato(Eg: may be an special opware install, etc) .... Let other people know it... If they like it, they will follow it and thank you:biggrin:
  8. voipj

    voipj Addicted to LI Member

    Optware, torrent client, media server :confused:
  9. mschulze

    mschulze Addicted to LI Member

    I had a similar type of situation a few days ago: The router was running for more than a week w/o any problems. I did not change the config and in the moment when it happened I did not download anything. But suddenly the wireless connection dropped both on my Ubuntu-Laptop and my wife's Macbook. Both could not reconnect anymore. After rebooting the router, both computers could not see the SSID anymore. Connecting with Ethernet was still working. After trying a different config and rebooting several more times, the issue was suddenly and magically resolved and the router was running perfectly with the original config as before. I have no idea what triggered this behavior, and so far it happened only once.

    If this happens again, what data should I submit to help diagnosing the problem?
  10. soldier

    soldier LI Guru Member

    I'm having the same issue but with opposite channel width settings. For me everything works on 20 Mhz but with 40Mhz set I have similar problems like you have with 20 Mhz. I think that different wireless adapters-chip cause that. I have Atheros. Which one do you have?
  11. soldier

    soldier LI Guru Member

    Exactly :biggrin:
  12. KyleChen

    KyleChen Addicted to LI Member

    well i installed the lighttpd+php+mysql+xmail on the router and running a ddns and a forum. basically if dont need to change the path of storage,just ipkg install them then they will work except mysql and xmail are bit longer story which need to read official docs for setup.but those are all standard works nothing will go wrong.. only special change was the lighttpd, it uses /var/tmp for uploading files, which means in default it only can handle abt 100mb php upload files (free memory size) and will eat all the memory before crush, so have to tune the path to the usb driver . spend me whole night to track this memory consume problem.

    same time a transmission for bittorrent and a mldonkey for ed2k was running. the transmission is good and smooth but the mldonkey is not 100% because all the compiles are not support kad and it crush when memory got short.

    there are plenty of guides abt those thing online but i am thinking to write a all-in-one guide for all of them, if anyone interested.
  13. soldier

    soldier LI Guru Member

    I would appreciate a guide for torrent client-transmission. I have a lot to read about optware and stuff.
  14. Catalin

    Catalin Addicted to LI Member

    First of all, thank you TB for your great work.

    I've read all the 181 pages of the orginal Tomato ND Usb thread. Linux being a new thing for me, I am not sure about one thing: what is the purpose of the swap partition on an USB pen drive? For the moment I'm using a 2GB flash drive (NTFS) connected to one of the USB ports in my RT-N16. Mainly I use it to save the bandwidth monitor info and to share some small files for the network. I noticed that when transferring files to and from the pen drive, the router's free memory displayed the GUI drops to 1-2%. However, I had no problems at all with cashes or anything.

    My question is if formatting the pen drive to ext2 and making an additional swap partition will have a positive effect...

  15. gingernut

    gingernut LI Guru Member

    +1 on a tutorial to install Transmission and other Optware on our Asus.

    Ray123 was finishing one I believe?
  16. vitaming

    vitaming Addicted to LI Member

    Hi, I just switched from DD-WRT to Tomato on my RT-N16.

    For the Transmission, there is a post on DD-WRT Wiki you can follow to set up. I got my Transmission running pretty well. In fact, it also installed the basic optware.
  17. madduru

    madduru Addicted to LI Member

    intermittent client disconnects (can someone with a stable client post their router settings?)

    Hello everyone,

    I have also experienced my laptop wireless clients getting disconnected and did not connect back to the router until I rebooted the laptops (one is Dell and the other is an IBM Thinkpad). This was not the case with WL520gU (it never let me down!). Ethernet clients (two of my desktops are connected through ethernet) seem to work fine.
    Are we missing something here? What are the settings that the folks with a stable wireless clients have? It would be great if someone can post their router settings.

  18. cariyawa

    cariyawa Addicted to LI Member

    optware install(thttpd and PHP)

    I just installed thttpd and PHP optwares in my RT-N16. It is kind of straight forward. If anybody need a help for that, I MAY be able to explain what I did.
  19. Lost_Animal

    Lost_Animal Addicted to LI Member

    It was very simple to install and start Transmission on Tomato....:biggrin:
    I'm ready to write a guide for setup and i will post it when done - tomorrow... :wink:

    Its autostarted via init script and autostoped via Shutdown Script.
    The same way we can also setup all of optware we want.

    So stay TUNNED......:biggrin::boxing2:
  20. KyleChen

    KyleChen Addicted to LI Member

    一,"ipkg install transmission", nothing to say abt it.

    二,than, run it once, as "/opt/bin/transmission-daemon -g /opt/data/torrents/config/transmission-daemon"
    after few seconds, shut it down, use "killall transmission-daemon"

    This will produce a example of configuration files in path "/opt/data/torrents/config/transmission-daemon"...........of course you can use any path you like just modify the commands i wrote above.

    三,go to the config path(as above), find the settings.json and start to modify it. change the file download path, speed, rpc account and ports etc ,it's pretty user friendly i think.
    run it as "/opt/bin/transmission-daemon -g /opt/data/torrents/config/transmission-daemon"
    control it as "" , &&&& is the rpc port you just set.

    if you want to give it a timing script, here we go:
    start all torrents: "/opt/bin/transmission-remote localhost:&&&& --auth=username:passwd -tall -s"
    stop all torrents: "/opt/bin/transmission-remote localhost:&&&& --auth=username:passwd -tall -S"

    you have to change the username, passwd, and the &&&&port in to your own ones

    if you planning to run various of services on the RT-n16, for your own sake, put this 2 lines in to your firewall rules of tomato and i bet you will love it.
    iptables -I INPUT -p tcp --dport 1:65535 -j ACCEPT
    iptables -I INPUT -p udp --dport 1:65535 -j ACCEPT


    Sorry Lost_Animal~~~i wrote down the thing just before i saw you reply, i dont mean nothing.
  21. Lost_Animal

    Lost_Animal Addicted to LI Member

    No Problem m8... :biggrin:

    BTW if you open all those ports then all hackers - crackers - f*ckers will make a famous party on your lan..... :hehe:
  22. KyleChen

    KyleChen Addicted to LI Member

    lol, the rt-n16 for me is not a "router" anymore, it becomes my center computer :)

    i dont think you'd like to put your pc/laptop behind a firewall all-the-time, and you have to manually open some ports everytime you run some program, right?

    so i open all ports to the router let it runs like a PC, set it up carefully i dont think security will be a big issue..

    and, dont make me wrong, i like parties :)
  23. gingernut

    gingernut LI Guru Member

    Tried that one but ever time I reboot the router all the directories get wiped along with transmission.
  24. Lost_Animal

    Lost_Animal Addicted to LI Member

    As promissed......
    How to Install Transmission GUIDE on ASUS RT-N16 is Here...

  25. pandora

    pandora Addicted to LI Member

    I got my ASUS RT-N16 last night, and followed the instructions to install the basic DD-WRT on it, then to flash to your version of Tomato.

    The DD-WRT link didn't work for me as it was for the binary file, and my browser (Opera) loaded instead of saving it as a binary file. Going to the DD-WRT home page, it was easier to list my router and get the basic starter version of DD-WRT created for it.

    Your Tomato seems stable, and has some great improvements. I really appreciate support for both Linux, FAT and NTFS. The layer 7 access restriction support seems to be improved. I'm now able to block my kids World of Warcraft and Xbox Live without blocking all other internet access. This is helpful.

    I like the security features of samba, in particular the optional requirement for authentication. It would be helpful if more than one user name were allowed and if each user could have different restrictions. I believe the open source NAS 200 has great web support for this Samba capability. It also allows users to optionally default as guest (or not). To the best of my understanding the NAS 200 is not only open source but has several distributions. You may be able to easily port over the Linksys NAS 200 Samba implementation, which would really enhance your Tomato IMO.

    My biggest concern is that once the screen is closed on my browser, I'm able to log back on without any password. IIRC the older implementations of Tomato required a new log on once the connection was closed. This would be good to restore. Currently I must either close my browser or enter an invalid (or blank) password to prevent access.

    You have done a magnificent job of improving Tomato, and despite my above listed concerns, I'm very impressed as without doubt all others are who have the opportunity to try your Tomato version.

  26. bagu

    bagu Network Guru Member

    Changing Transmit Power seem to don't work...I can't find where it was discuss before...
    An other thing, i used adsltv to watch tv on my pc...Bu t since i use asus RT-N16 with this firmware, i couldn't anymore. It seem that vlc can't receive anything (It use 31336-31341 ports and maybe RTSP)
    Can someone help me ?

  27. Lost_Animal

    Lost_Animal Addicted to LI Member

    All you have to do is Press LOGOUT in the bottom left, and then .... leave blank Password when login window appears again....
  28. Catalin

    Catalin Addicted to LI Member

    I get this log messages randomly... What do they mean?

    daemon.err smbd[1374]: read_socket_data: recv failure for 4. Error = No route to host
    daemon.err smbd[1146]: read_socket_data: recv failure for 4. Error = Connection timed out
    daemon.err smbd[1142]: write_socket: Error writing 85 bytes to socket 6: ERRNO = Broken pipe
    As I said yesterday, I got only a pen drive attached to the router, where it saves the bandwidth monitor info...

    Secondly, just a reminder about my previous question... Should I make sa swap partition on the usb flash drive, or it is not needed, because of the amount of RAM memory in the router?
  29. TexasFlood

    TexasFlood Network Guru Member

    I don't recall this behavior being any different on older versions of Tomato. Maybe it was but would have to be long ago since it hasn't changed on my routers as far back as I can remember, many versions. I find it convenient to not constantly be prompted for the password. Closing the browser or logging out clears the stored credentials and isn't very difficult.
  30. bagu

    bagu Network Guru Member

    After many tests : RTSP seem to don't work And reboot with gui seem to don't work...May be a temp bug for the last
  31. cariyawa

    cariyawa Addicted to LI Member

    Heat issue?

    Do you people really think that we need to put heat sinks for processor, radio chip, etc in RT-N16? I hate to open this sucker..but if there no option, I will.
  32. Catalin

    Catalin Addicted to LI Member

    Well, I don't know if it is really a must, but just in case, I upgraded mine to this:
    Since I have a spare heatsink, I'll stick it on the metalic cover for the radio bits...

    All in all, it can't be bad to be a low temperature inside the case, it's a known fact that heat and electronic parts are not going well together...
  33. kamatschka

    kamatschka Network Guru Member

    isnt the hot glue melting when the router is working ant the heatsink gets warmer?! SO the heatsink can move and therefore also short something?!
  34. Lost_Animal

    Lost_Animal Addicted to LI Member

    U R Reading my Mind....:biggrin:

    I 2nd that.

    Hot Glue on warm surfaces is dangerus. It become semi-liquid and unstable to hold heatsink on its place.

    I know its kinda tricky to not harm your Warranty but think again those risks you take. :wink:
  35. bagu

    bagu Network Guru Member

    An other bug, log stop working suddenly...i don't know why

    Jan 31 00:00:01 adfi root: -- MARK --
    Jan 31 00:19:41 adfi dnsmasq[2719]: exiting on receipt of SIGTERM
    Jan 31 00:19:41 adfi dnsmasq[3200]: started, version 2.51 cachesize 150
    Jan 31 00:19:41 adfi dnsmasq[3200]: compile time options: no-IPv6 GNU-getopt no-RTC no-DBus no-I18N DHCP no-scripts TFTP
    Jan 31 00:19:41 adfi dnsmasq-dhcp[3200]: DHCP, IP range --, lease time 1d
    Jan 31 00:19:41 adfi dnsmasq[3200]: reading /etc/resolv.dnsmasq
    Jan 31 00:19:41 adfi dnsmasq[3200]: using nameserver
    Jan 31 00:19:41 adfi dnsmasq[3200]: using nameserver
    Jan 31 00:19:41 adfi dnsmasq[3200]: read /etc/hosts - 2 addresses
    Jan 31 00:19:41 adfi dnsmasq[3200]: read /etc/hosts.dnsmasq - 6 addresses
    Jan 31 00:19:41 adfi daemon.warn dnsmasq[3200]: not giving name portabledell.workgroup to the DHCP lease of because the name exists in /etc/hosts.dnsmasq with address
    Jan 31 00:19:41 adfi daemon.warn dnsmasq[3200]: not giving name portabledell to the DHCP lease of because the name exists in /etc/hosts.dnsmasq with address
    Jan 31 00:20:38 adfi user.notice kernel: klogd: exiting
    Jan 31 00:20:38 adfi syslogd exiting

    It's not the first time...
  36. TexasFlood

    TexasFlood Network Guru Member

    Is that hot glue? I saw the translucent material there but didn't really pay attention to it. I think hot glue comes in low (~260°F/127°C) and high (~380°F/193°C) temp versions. With all those heat sinks & fan (overkill? :smile:), it might not get all that hot in there. Still, interesting point.
  37. call_151

    call_151 Addicted to LI Member


    @TurtleFang: I am trying to get Openvpn working, however, tun.ko was not included in Teddy_bear's initial distribution.

    Did you compile this? Would be quite interested if you can provide either a copy or instructions on this.


  38. TurtleFang

    TurtleFang Addicted to LI Member

    The kernel module was there, just not loaded.

    With the image I used to confirm operation manually (without the webgui) I ran the following commands to get the tun interface up and the module loaded:

    mkdir /dev/net <--- it wasn't there, but TB has committed a fix to add the device by sym link already
    mknod /dev/net/tun c 10 200
    modprobe tun

    I found this help via a google search. Here is a link to the thread I referenced and got those commands from (its a bit down in the quoted messages):

    Now my understanding is that the webgui actions went enabling the feature will do this for you.

    Hope this helps,
  39. HanzF

    HanzF Addicted to LI Member

    I was able to pick up an open-box RT-N16 from Newegg for $64 a few days ago (arrived in brand new condition with all accessories!) and when it arrived it had the original factory firmware on it. I first flashed in DD-WRT which worked well enough but decided to give Tomato a try.

    I've been running it for a few days and happy to report it has been rock solid, many thanks TB, what a fantastic job!

    The gigabit switch works great; with a 12GB test file I was getting 103 MB/s (824 Mbps) sustained between two Windows 7 machines!

    Also would like to report I have no perceived issue with heat. No glitches or upsets with performance so far. I don't plan any mods until the warranty period expires.

    I do have a question though. I have 2 Samsung printers, one (ML-2850) is a network printer that plugs directly into the router through LAN port. The other is older (ML-1450) and plugs into the USB port on the router.

    The router IP is assigned

    The ML-2850 has a static IP assigned to it, and is set for port 9100.

    I can see the ML-1450 fine in the Tomato firmware and when I access it from Firefox using, a page prints from it with Tomato info.

    If I try to set it up in Windows using with RAW and port 9100, a page prints out of the ML-2850 and not the ML-1450.

    Is the 9100 port causing a conflict?

    I don't know how to solve the conflict, I've tried other port numbers but can't seem to print. I've done a ton of searching but can't seem to find the info I need. Any ideas are certainly appreciated, and thanks!
  40. teddy_bear

    teddy_bear Network Guru Member

    bagu, you seem to be reporting more issues than anyone else :wink:... Let's go through them one-by-one.

    1. IPTV and/or RTSP conntrack not working.
    Do you have multicast enabled on Firewall page in the GUI?
    Did it work for you in vanilla Tomato on your WRT54GS? I have no IPTV here, but it seems to be a general consensus on this forum that IPTV in Tomato is not very well supported, and may require extra tweaking to work (search this forum for details).
    It's possible that the problem you have is relates to RTSP conntrack module - I just used a rather old OpenWRT patch for kernel 2.6.22, and have not tested it myself. How exactly did you test it, and why do you think RTSP is not working? I applied some additional patches to the RTSP module for the next build, but not sure if they will solve your issue.

    2. Reboot from GUI not working.
    What do you mean exactly? What happens when you try to reboot from GUI? It always works for me...

    3. Changing Tx power not working.
    Search this forum (and even this thread!) for a bunch of discussions of this subject. The main point is that changing Tx power won't work at all unless you set Country to US, and even then the effect will not be drastic (but at least noticeable, if you change it from - say - 10 to 250 mW).

    4. Log stops working.
    In the last log you posted it looks like dnsmasq is restarted, and then the log daemon is getting killed. If you don't have any scheduled events (on the Scheduler page) that could cause the restarts, it looks like you're running out of memory. When this happens, the kernel will start killing processes. Some critical processes, like dnsmasq, are restarted by Tomato automatically, while others, like log daemon, are not. Do you run any memory-hungry applications like torrents or some other Optware? Could it be caused by your adsltv? In any case, if and when it happens next time, it would be helpful if you can post the output of the following commands:
    ps -w
    cat /proc/meminfo
    Of course, the sooner after this happens you can notice it and run the commands, the more useful the output will be.
  41. teddy_bear

    teddy_bear Network Guru Member

    It should not since the IPs are different...
    But the built-in printer server is also running on port 9100, and I don't know how exactly the network printer ML-2850 works. Can you change the port on it? Try it if you can. If not, you can try different port in the firmware.
    Kill the running p910nd process, and restart it with another port:
    killall p910nd
    p910nd -f /dev/usb/lp0 1
    That last "1" means port 9101. Then you'll need to configure your Windows client to use 9101 as well. If that works, you can add these commands to the "Init" script.
  42. HanzF

    HanzF Addicted to LI Member

    Thanks for the lightning response TB! Will give it a go and report back.
  43. bagu

    bagu Network Guru Member

    Multicast is disable.
    It work with tomato 1.25 + wrt54gs
    I test many rtsp flux come from linksys, Tv from my fai, and many others, and vlc (adsltv is based on vlc) say me that it can't reached rtsp flux (don't know how to say flux in english...maybe the same word ?) even if i forward port, or trigger it...
    I think i will try with dd-wrt just for test...

    Well, it seem that this issue come with the point number 4.
    When Logs work, reboot button work too.
    In fact, when point 4 happen many thing in gui don't work, and after a couple of minutes, gui stop working...(but still have access to internet, port forward still work...etc...etc...)

    Already search and hard to find, i haven't edit my post, but i finaly found it ^^

    No scheduled event. No upnp, no ftp server, no optware, no torrent, adsltv off because not working ^^...Memory was 84% free...
    Next time it happen, i will do your commands. (already happen 2 times)
  44. teddy_bear

    teddy_bear Network Guru Member

    Ok guys, just wanted to give you all a quick update about what's going on...

    I don't have much time to work on the firmware these days, and have not published a new build yet... Nevertheless, I've made a lot of changes after the first public beta. However, they are not functional changes - so far I was working mostly on bug fixes, making the firmware more stable, and to support additional models. I think I will not publish another build for a while - I need to have it running for at least a week without rebooting to consider it ready even though it's still a beta.

    But in the meantime, if you know how to build Tomato from sources, you can download the latest code from the git repository, tomato-RT branch, and rebuild it yourself. Once you have sources from RT-branch on your machine, you can execute "make" command in src-rt directory. Run "make help" (or look through the Makefile) for supported targets, and ask here for details if needed. Make sure you're building it with the correct CPU support - MIPSR2 for RT-N16, R-N12 and WNR3500L, and regular MIPSR1 for other routers - it can be specified in the command line, i.e. "make MIPS32=r2 e". If MIPS32 is not defined, it assumes "r1".

    Here's what has changed in the current code compare to the published build:
    • Added support for additional models. Asus RT-N12 is fully supported (and tested) - thanks to TurtleFang's generous donation. I also tested that kernel 2.6 no-USB build is working fine on Asus WL-520gu (although it doesn't make any sense since there's no space on 4MB flash to include USB support), and I'm pretty sure it will work on WL-500GPv2 as well since they share almost the same hardware. I also added the code I believe is enough for this to run on Netgear WNR3500L - but I don't have this router, and have no way of testing it. It also theoretically should work now on all other routers supported by vanilla Tomato, as long as they can run ND version - but again - somebody else who has these models needs to test it before we can say this particular model is supported.
    • Merged with the latest vpn3.6 version of Tomato VPN mod by SgtPepperKSU.
    • Fixed bug in Access Restrictions and QoS rules that use MAC addresses.
    • Backported lots and lots of fixes and improvements from newer kernel versions - this should generally improve the stability, increase performance, and may eliminate some of the weird problems. USB driver updates should also improve compatibility with different devices (but don't expect it to support everything - I suppose it will never happen ;) ).
    • Fixed wireless connectivity in Wireless Ethernet Bridge and Wireless Client modes.
    • Allowed WPA2 security for all wireless modes, including WDS, Wirelss Bridge and Wirelss client. The only combination that doesn't seem to work is mixed WPA/WPA2 security in WDS mode - and it looks like a wireless driver bug. So when using WDS, specify either WPA or WPA2.
    • Copying large files using Samba to FAT partitions should work now without Samba timing out.
    • Added support for USB volumes larger than 2TB.
    • Hopefully fixed RTSP conntrack module (although not tested).
    • Software updates: NTFS-3g 2010-1-16, Dnsmasq 2.52.
    • Added additional route to the WAN gateway in case it's over the bridge.
    • Cosmetics.
    If you're not afraid of bricking your router (i.e. if you know how to unbrick it), I encourage you to do the build and test the firmware yourself :) - especially if you can test it on other models - this would be a big help.

    Unfortunately nothing has been done to actually address the most common issue reported here - wireless disconnects during the high-speed (N-mode) transfers of large files (but the general stability improvements can affect this as well). I have not been able to reproduce this problem with my N16 or N12. I'm getting speeds around 8 MB/s between N16 and N12, and about 11 MB/s between N16 and N-capable notebook with Atheros wireless card. I experience no disconnects during these transfers, no matter how hard I try. The router does get very hot - but no disconnects...

    However, since many others experience these issues, and they seem to be common between different firmwares - Asus, DD-WRT and Tomato - I suppose there could be a Broadcom wireless driver problem (which unfortunately is distributed without sources), and we can only hope that the next update from Broadcom will solve it. There could be compatibility issues with different wireless clients. And - it's also possible that some of the N16's are a little different from others. One example is these disconnects, the other would be overclocking. Somebody on dd-wrt forum reported his N16 didn't have a heatsink at all. Mine has a heatsink, but unlike TexasFlood, I can't overclock mine to 533MHz - when I set it to 532 in nvram, it starts up fine at 532, but then it's rebooting itself every few minutes until I set it back to 480...
    Of course, I'll keep looking to see if anything could be done outside of the wl driver itself to improve the situation - but it's hard without being able to reproduce the problem.
  45. HanzF

    HanzF Addicted to LI Member

    That worked perfectly, thanks much!!!

    Edit: Just want to clarify that using the script in Tomato is what worked. Configured my Windows machines to use 9101 and all is well. Thanks again TB!
  46. Catalin

    Catalin Addicted to LI Member

    That's not hot glue, is some kind of hard plastic which is applied with a gun... It melts at +100 degrees Celsius, so I wouldn't worry about that... I don't care about warranty either... Of course, the most ellegant way of fixing the heatsinks was to use termal adhesive paste, but I didn't buy such thing, so... For the moment the heatsink are fixed with termo conductive tape, and secured with that transparent plastic on the sides...


    TB, Broadcom just released a driver update, according to the guys on Oleg's forum...
  47. teddy_bear

    teddy_bear Network Guru Member

    Nope... What they talked about turned out to be version - the same as came from RT-N12 GPL, and is used in this firmware.
  48. guig

    guig Addicted to LI Member

    Hi Teddy Bear!

    At firts site there is an info:
    - Support for wireless-N mode (single band only).
    I would like to ask if RT-N16 could work with dual band mode? (2,6 & 5 Ghz)?
  49. Lost_Animal

    Lost_Animal Addicted to LI Member

    Its NOT possible to work at 5 GHz because a Transmitter is missing.. :biggrin:
  50. guig

    guig Addicted to LI Member

    So due the lack of hardware there will no be support 5ghz in the future, isn't? Maybe modification of PCB could solve this problem? What do you think?
  51. maurer

    maurer Network Guru Member

    how's your torrenting

    i have transmission installed.
    It's the second time my rt-n16 is crashing due to heavy downloading.
    first time it was last week and it was downloading a ~20GB torrent - it crashed after 20 min - download speed topped at 2.85 MB
    Today I put to download "only" a 4 GB torrent and it crashed again after 20 minutes.
    I was controlling it via SSH tunnel - web interface.
    I'll try to see if anything appears in the log later when I'll reach home.
    I suspect it's also related to the overheating processor.
  52. call_151

    call_151 Addicted to LI Member

    Thanks for the quick response.

    When i did modprobe tun
    Then I tried using find
    So, the module is not there. Did you build yours from git or it was from the pre-compiled version?

    Would you mind uploading your copy of tun.ko?
  53. hlpimfalling

    hlpimfalling Network Guru Member

    4965agn will not connect to the 802.11n. 802.11g works fine.
  54. hlpimfalling

    hlpimfalling Network Guru Member

    No, if you want dual band you will want to wait until a device is released with the same chipset but with dual-band.
  55. Catalin

    Catalin Addicted to LI Member

    Same here... Intel 4965AGN hasn't got 40MHz bandwidth capability on 2.4GHz, so the maximum speed is 150Mbps when connected to RT-N16 using the original Asus firmware... However, with Tomato, nomatter what settings I put, it reaches only G speed, 54Mbps...
  56. hlpimfalling

    hlpimfalling Network Guru Member

    Yep, and when you set it as N only it will not connect but it can see the broadcast of the ssid.
  57. Catalin

    Catalin Addicted to LI Member

    I can connect also when it is set as 802.11N only, but also at 54Mbps... Windows 7 reports the SSID as being 802.11N, but still 54Mbps... I do not have any other N device to test... I'm pretty sure the settings are right on both the router and laptop... Anyway, with Asus firmware it works on 150Mbps / 144Mbps... So it must be a Tomato firmware bug...
  58. TurtleFang

    TurtleFang Addicted to LI Member

    Well, it should be there in /lib/modules/

    If you build the target correctly, it will be there. If this is missing, I'm curious as to what else may be missing which will also stop you even when you get the kernel module.

    So instead of giving you a band-aid for you head, let's find out why you're banging it into a wall. :)

    What are you doing to compile the target? Which branch, which directory and what exact make command are you calling on the command line?

  59. teddy_bear

    teddy_bear Network Guru Member

    So even if you set the channel width to 20MHz, it still only connects on G speed? Have you tried different channels? What other settings have you tried to change?

    What network mode (Auto, N-only etc), channel and channel with was it set to when it connected on 150MBps with Asus firmware? What other wireless settings have you changed from the default on Asus firmware?
  60. Catalin

    Catalin Addicted to LI Member

    I tried everything... 20MHz / 40MHz Auto / Mixed Mode / N only WMM enable / disable / Afterburner / CTS Enable / Tried channels 1,3,6,8,9,11 - no other networks around ...
    On Asus firmware I can't play with so many settings, but I tried preatty much the same configuration...
  61. hlpimfalling

    hlpimfalling Network Guru Member

    I had mine set to channel 8, 11, and 1. I have tried it with 20mhz, and 40mhz, and of course 40 does not work at all. I have tried N-only (which did not work for me at all), g only (which works quite well), and auto. Other then that I have not changed anything else.
  62. gingernut

    gingernut LI Guru Member

    My wifes laptop has an Intel 4965AGN card and it has no problem connecting at 150Mbps when 40MHz is activated, obviously to achive that sync speed it has to be quite close.

    As stated it will only connect at a max rate if 150Mbps because Intel reserved channel bonding for the 5GHz band on this adapter.

    Edit: Have a play with the adapters advanced settings.
  63. hlpimfalling

    hlpimfalling Network Guru Member

    What settings did you change in the advanced settings, I messed with it a bit but I didn't see anything useful. Other issue is I use Linux on a normal basis.
  64. Catalin

    Catalin Addicted to LI Member

    Would you pleas put some printscreens with the settings for the router and adapter?

    Thanks so much.
  65. bagu

    bagu Network Guru Member

    Ok Teddy_bear, i was able to reproduce the problem and have a small addition for rtsp.

    The problem appear when i activate triggering.
    As soon as i validate my rule, logs and other things crash...

    Here is the command result you ask me :
    root@adfi:/tmp/home/root# ps -w
        1 root      1088 S    /sbin/init noinitrd
        2 root         0 SW<  [kthreadd]
        3 root         0 SWN  [ksoftirqd/0]
        4 root         0 SW<  [events/0]
        5 root         0 SW<  [khelper]
       16 root         0 SW<  [kblockd/0]
       42 root         0 SW   [pdflush]
       43 root         0 SW   [pdflush]
       44 root         0 SW<  [kswapd0]
       45 root         0 SW<  [aio/0]
       89 root         0 SW<  [mtdblockd]
      285 root       584 S    hotplug2 --persistent --no-coldplug
      323 root      1076 S    buttons
      449 root      1008 S    dropbear -p 22 -a
     1813 root      1524 S    syslogd -R
     1815 root      1524 S    klogd
     1877 root       836 S    eapd
     1880 root      1020 S    nas
     1887 root      1164 S    httpd
     1890 root      1172 S    httpd -s
     1892 root      1544 S    crond -l 9
     1918 nobody     752 S    dnsmasq
     2072 root      1540 S    udhcpc -i vlan2 -s dhcpc-event -H adfi
     2307 root         0 DW   [iptables-restor]
     2318 root      1060 R    dropbear -p 22 -a
     2319 root      1540 S    -sh
     2323 root      1528 R    ps -w
    root@adfi:/tmp/home/root# cat /proc/meminfo
    MemTotal:       127168 kB
    MemFree:        108824 kB
    Buffers:          2700 kB
    Cached:           7964 kB
    SwapCached:          0 kB
    Active:           4952 kB
    Inactive:         6860 kB
    SwapTotal:           0 kB
    SwapFree:            0 kB
    Dirty:               0 kB
    Writeback:           0 kB
    AnonPages:        1152 kB
    Mapped:           1288 kB
    Slab:             3728 kB
    SReclaimable:      568 kB
    SUnreclaim:       3160 kB
    PageTables:        200 kB
    NFS_Unstable:        0 kB
    Bounce:              0 kB
    CommitLimit:     63584 kB
    Committed_AS:     3380 kB
    VmallocTotal:   786388 kB
    VmallocUsed:      2312 kB
    VmallocChunk:   781900 kB
    root@adfi:/tmp/home/root# top
    Mem: 18356K used, 108812K free, 0K shrd, 2700K buff, 7968K cached
    CPU:   0% usr   9% sys   0% nic  90% idle   0% io   0% irq   0% sirq
    Load average: 0.78 0.29 0.09 2/27 2325
     2325  2319 root     R     1528   1%   9% top
     1892     1 root     S     1544   1%   0% crond -l 9
     2319  2318 root     S     1540   1%   0% -sh
     2072     1 root     S     1540   1%   0% udhcpc -i vlan2 -s dhcpc-event -H adfi
     1813     1 root     S     1524   1%   0% syslogd -R
     1815     1 root     S     1524   1%   0% klogd
     1890     1 root     S     1172   1%   0% httpd -s
     1887     1 root     S     1164   1%   0% httpd
        1     0 root     S     1088   1%   0% /sbin/init noinitrd
      323     1 root     S     1076   1%   0% buttons
     2318   449 root     S     1060   1%   0% dropbear -p 22 -a
     1880     1 root     S     1020   1%   0% nas
      449     1 root     S     1008   1%   0% dropbear -p 22 -a
     1877     1 root     S      836   1%   0% eapd
     1918     1 nobody   S      752   1%   0% dnsmasq
      285     1 root     S      584   0%   0% hotplug2 --persistent --no-coldplug
       89     2 root     SW<      0   0%   0% [mtdblockd]
        3     2 root     SWN      0   0%   0% [ksoftirqd/0]
     2307     1 root     DW       0   0%   0% [iptables-restor]
        5     2 root     SW<      0   0%   0% [khelper]
    Mem: 18384K used, 108784K free, 0K shrd, 2700K buff, 7968K cached
    CPU:   0% usr   0% sys   0% nic  97% idle   0% io   0% irq   2% sirq
    Load average: 0.80 0.30 0.09 1/27 2325
     2325  2319 root     R     1532   1%   0% top
     2318   449 root     S     1060   1%   0% dropbear -p 22 -a
     1892     1 root     S     1544   1%   0% crond -l 9
     2319  2318 root     S     1540   1%   0% -sh
     2072     1 root     S     1540   1%   0% udhcpc -i vlan2 -s dhcpc-event -H adfi
     1813     1 root     S     1524   1%   0% syslogd -R
     1815     1 root     S     1524   1%   0% klogd
     1890     1 root     S     1172   1%   0% httpd -s
     1887     1 root     S     1164   1%   0% httpd
        1     0 root     S     1088   1%   0% /sbin/init noinitrd
      323     1 root     S     1076   1%   0% buttons
     1880     1 root     S     1020   1%   0% nas
      449     1 root     S     1008   1%   0% dropbear -p 22 -a
     1877     1 root     S      836   1%   0% eapd
     1918     1 nobody   S      752   1%   0% dnsmasq
      285     1 root     S      584   0%   0% hotplug2 --persistent --no-coldplug
       89     2 root     SW<      0   0%   0% [mtdblockd]
        3     2 root     SWN      0   0%   0% [ksoftirqd/0]
     2307     1 root     DW       0   0%   0% [iptables-restor]
        5     2 root     SW<      0   0%   0% [khelper]
    For rtsp, when i uncheck rtsp helper AND forward (not trigger, it crash ^^) ports, adsltv (vlc) can work fine...
    But with wrt54gs + tomato 1.25 the only thing i have to do is to check rtsp helper and upnp.

    Hope it can help.
  66. oldkuang

    oldkuang Addicted to LI Member

    I need some hints. I have my tomato rt-n16 running about 2 weeks. Some wifi connection problem twice during the change settings, but it came back after reboot. Yesterday I tried to install optware, seems unsuccessful. I have a 4 gb mini usb disk connected. 2 partitions, one 3 G as ext3, 1 G as swap. Turn off automount, and mount it as /dev/sda1 /opt, swapon /dev/sda2, both working. Run prep_optware according "the right way", ending with error msg saying failed when checking the os is not "DD-WRT". The /opt tree seemed created with almost empty folders. I know someone has successfully installed and run optware. Would you please share your experience and step by step installation? Do I have to modify the scripts before install? How can I tell if the optware is installed and run well? Thank you very much.
  67. teddy_bear

    teddy_bear Network Guru Member

    Ok, great - it seems that we tracked down the cause. Could you please post the exact triggering rule you're trying to activate, and the output of the following commands after you activate triggering:
    cat /etc/iptables
    cat /etc/iptables.error
    iptables -L -n
    Also - did you try to activate triggering rule with RTSP conntrack unchecked, and if so - did it still cause crash?
  68. teddy_bear

    teddy_bear Network Guru Member

    Check out the transmission thread for some Optware hints.
  69. Catalin

    Catalin Addicted to LI Member

    Solved the "problem" with 4965AGN... Back to default settings for Basic and Advanced menu... If I enable or auto the Afterburner or CTS protection, speed drops to 54Mbps. If I leave the default settings, speed comes to the normal 144Mbps. (doesn't matter how I set the wireless mode - auto / N only)
  70. teddy_bear

    teddy_bear Network Guru Member

    Good, so there's no problem :).
    Yep, I too noticed that Afterburner when activated can cause clients to use G-speed only...
  71. hlpimfalling

    hlpimfalling Network Guru Member

    Interesting.... I never changed anything in the advanced section. Is there something that is set by default? I'll have to investigate when I get home tonight.
  72. bagu

    bagu Network Guru Member

    No problem exept i need to wait this night or tomorrow to do that.
    As soon as i can, i do it...

    The rule is :
    On Protocol Trigger Ports Forwarded Ports Description
    check both 554 31336-31341 Test

    both check and uncheck made the crash happen
  73. cariyawa

    cariyawa Addicted to LI Member

    Have you enabled the WMM in Advanced->Wireless.. If not, you will not get the N-speed.. I think we had that discussion in this thread somewhere..:biggrin:
  74. Catalin

    Catalin Addicted to LI Member

    Yes, I've read that before... Thanks :wink:
  75. hlpimfalling

    hlpimfalling Network Guru Member

    Could someone pm me the git command to checkout the current revision. And also should I be compiling the source code in the src-rt directory?
  76. teddy_bear

    teddy_bear Network Guru Member

    The link to the brief overview of the git commands is on the 1st post of the USB mod thread.

    But if you get the sources as a tarball ( - that would be the latest snapshot), you don't really need to mess with git. After extracting, you'll need to run "make" with appropriate target in the "tomato/release/src-rt" directory. Use "r2m" target if you're compiling non-VPN build for N16. If you need a VPN build, use "e" target, and specify MIPS Release 2 CPU:
    make MIPS32=r2 e
    Run "make help" to see the list of other available targets.
  77. TurtleFang

    TurtleFang Addicted to LI Member

    All you need is in the link on the 1st page of the Teddy_Bear's orig USB mod thread:
    Search for "see this post for a brief overview of git commands"

    Or here is a direct link:

    But yes, if you want a kernel 2.6 image (which you will need for the RT-N16) then you need to cd into "release/src-rt" directory.

    Also, make sure that the two "bin" directories in "tools/brcm/[...etc]" are in your path. Command to build the image Teddy_Bear released in his beta is:
    make V1=1234 V2="Blah" r2m

    [beyond that you'll need a fully setup development environment, which is needed for any of these homebrew 3rd party firmware images. but this is all you'd need specific to the newer RT-N16 images.]

    Hope this helps,
  78. hlpimfalling

    hlpimfalling Network Guru Member

    Thank you sir! Also it compiled fine.
  79. TurtleFang

    TurtleFang Addicted to LI Member

    Hey Teddy_Bear,

    What about the "BCM57=y" define which you have in the makefile for "r2m" target? Is it needed for all RT-N16 builds? If it's not defined, what changes (I'm assuming a broadcom driver).

  80. maurer

    maurer Network Guru Member

    Could you upload it somewhere for the rest of us lazy members :biggrin: ?
  81. hlpimfalling

    hlpimfalling Network Guru Member

    No :), I will not be responsible for your routers demise.
  82. teddy_bear

    teddy_bear Network Guru Member

    "BCM57=y" is not needed for N16 - it's to include a BCM5700 Ethernet driver. For now it's included into r2m target only because it was in the Asus firmware... I think it can be removed now - but I'm still not sure what routers use this chip.

    Guys, when I decide that the current sources are ready for a public build, I'll post it here. For now, if you would like to exchange the custom compiled firmware images, please do it by PM/email outside of this thread.
  83. xtacydima

    xtacydima LI Guru Member

    Hi everyone, sure am glad I found this thread. I just got this router 2 weeks ago after reading all the hype on it and saw initially the great value it had with DD-WRT. Curiosity got me and I google'd for tomato's possibility on it and sure enough, wham, its available... I got ecstatic

    First and foremost, its been said so many times but never enough, HUGE THX to TB for his hard work and contribution to all of this.

    So anyway, I have been a long time DD-WRT user but had used Tomato on my old Linksys 54GL series and I remember how much faster, more efficient, and more stable it felt. Mostly I recall that Tomato has the best QoS available on the market, but I had to leave 802.11g for the great demand 802.11n had, and unfortunately for some time said goodbye to Tomato before fully learning its capabilities.

    I am not a complete LINUX noob but I am not too proficient either, so I hope any questions I have are not way out of place. Also, I am more familiar now with the dd-wrt environment but want to get back with Tomato on my new ASUS toy.

    I also wanted to contribute to whatever I can help test and report back here for others and the freelance dev(s) working on this.

    So here goes:
    I flashed my Asus RT16 to tomato, was easy from dd-wrt already on it. (Feels much faster btw).
    I had added VGA cooling heatsinks on RAM and other Chip controller, as well as a side blower fan I pulled from an old tossed server at work and stole power from the 4pin serial port using an old CD-ROM audio cable and soldered it to the fan pin-out (perfect 5v line tested with multimeter). I tested it and even under heavy load and non-stop running for days, the heatsinks were all cool or mildly warm at most. Also I added some nice 17dbi antennae I got for fun.
    (I'll post pics when I get home)

    So here goes...

    I want to add a webcam but from what I read this is very limited right now, and buggy, I have the new MS Lifecam (720p HD) - I would love to get this going, is it at all possible?

    I also noticed Transmission Guide for torrents which is a really awesome add-on but my fear is there is no way to use Block Listing for known reporting trackers in torrents to be blocked?

    Is there any way to have IP/MAC bandwidth control, I know I used to have it before on my 54GL?

    Also, can anyone refer me to how to properly set up QoS using Tomato, I am not used to the interface, and any guide would be most appreciated. (ie: I would like to give my web browsing/Internet priority above my ftp and torrents of movies and music which I might have going in the background)... anyone have any example they can post of their setup would be nice too... but sorry this is a little off topic.

    BTW, I have latest beta of Tomato installed firmware. I don't do too much with the router, my needs are what I consider trivial.

    I just needs SSH via putty ability so I can have a secure tunnel when logging in from work.

    Also, any future plans to have support (its in stock Asus firmware) for opening layer7 protocol ID's to make it easier to control QoS for example?
  84. call_151

    call_151 Addicted to LI Member

    Have downloaded source file and added the brcm paths. Could you help with the make errors?

  85. mstombs

    mstombs Network Guru Member

    Thanks teddy_bear, easiest distro yet to build, no mods to any files, or need to run as root to build on my Ubuntu X64. Some scary warning messages from LZMA, but I ignored and used the compiled image anyway:-
    I popped back to Asus Russian beta firmware to check their wireless version no - it was a couple of revs behind tomato, so had to come back via dd-wrt mini, using dd-wrt option to reset to defaults.

    I had the same problem as before on my router wan_port not working until I changed the port speed in the gui (which shouldn't actually do anything). I tried rebooting from web gui, and command line, and soft rebooting modem, but none fixed it. The reset after changing the wan port nvram var did work again. I didn't power cycle or use any reset buttons - lazy didn't get out of chair! Maybe I just have to change something and nvram commit?

    When booting properly, I can confirm that this works for me
    no more firewall rules needed THANKS.

    I had a quick try to build a K26 for a WRT54G-TM, but no-go, got as far as mtd.c but errored - guess I need to roll back toolchain for r1?
  86. mstombs

    mstombs Network Guru Member

    Are you using "bash" as shell?

    Mine reports

    ~/tomato_k26/tomato/release/src-rt$ sh --version
    GNU bash, version 4.0.33(1)-release (x86_64-pc-linux-gnu)
    Copyright (C) 2009 Free Software Foundation, Inc.
  87. teddy_bear

    teddy_bear Network Guru Member

    Maybe the cold boot / power cycle is what's needed? Have you tried to set the port speed back to auto, and see if it still works?
    No, the toolchain is the same. You don't even need to "distclean" between builds - the R2 is only applied to compile the kernel. I have no idea why it errored out for you - what command line params did you use for "make", and what was the error?
  88. call_151

    call_151 Addicted to LI Member

    Yep, am using bash.

  89. teddy_bear

    teddy_bear Network Guru Member

    After you get the error, is there .config file in the "release/src-rt/linux/linux-2.6" directory? What if you just cd to that directory and run "make oldconfig" there?
  90. mstombs

    mstombs Network Guru Member

    Note I have NOT cold-booted or power-cycled, it is the soft-reset that changing the WAN port speed that fixes it for me - yes I have set the speed back to auto and it still works - I am pretty sure that nvram variable is not used though!

    OK, my bad it is make in the src directory that must be 2.4 kernel that doesn't build with the new toolchain. I think I have now built a WRT compatible 2.6 kernel to try - not tonight though! -

    make V1=mst V2="2std" s
    ...some time later...
    Creating TRX: image/tomato-ND-mst2std-.trx
    TRX Image:
     Total Size .... : 3706880 (3620.0 KB) (3.5 MB)
       Images ...... : 3704028 (0x003884dc)
       Padding ..... : 2824
     Avail for jffs. : 4 EBs + 31524
     CRC-32 ........ : BB75C56F
     128K Blocks ... : 29 (0x0000001D)
      64K Blocks ... : 57 (0x00000039)
       0: 0x0000001C  lzma-loader/loader.gz
       1: 0x00000A8C  /home/user/tomato_k26/tomato/release/src-rt/linux/linux-2.6/arch/mips/brcm-boar
       2: 0x000DC7C8  router/mipsel-uclibc/target.image
    1.27.0000 2std ND  ready
  91. call_151

    call_151 Addicted to LI Member

    Running ls on the directory:
    Running make oldconfig
    For those that have successfully compiled, did you have to make any other configuration / setting changes?

  92. xtacydima

    xtacydima LI Guru Member

    pics of my internal setup

    in case anyone is curious on a nice cooling method, even though we already saw a few good ones.

    Attached Files:

  93. teddy_bear

    teddy_bear Network Guru Member

    Looks like you downloaded tomato-ND-USBmod branch sources instead of tomato-RT. All kernel 2.6 sources are missing...
  94. hutschnur83

    hutschnur83 Addicted to LI Member

    Hey, i am very new to this forum want to inform some users that ive successfuly flashed teddy_bear 's release on my wnr3500L first i thouhgt i bricked him, cause i could'nt access through Lan but now i saw that i can access over wlan and then i saw i had a fault range.So for now i can say all basic functions are there an can be used wireless N WPA/WPA2 dhcp LAN all are OK for now @ home i will test more.

    Thx Teddy_Bear 4 this release now i'm Happy tomato user

    (sorry 4 bad english)
    Greets from Germany
  95. stotes

    stotes Addicted to LI Member

    I apologize in advance for these total noob questions.

    I have the RT16 USB firmware flashed and am loving it so far. However I have two questions.
    1. Port Forwarding to ports direct to the routers IP. I am running Transmission daemon and I am attempting to portforward back to the routers ip which does not seem to work. If I port forward to a computer on the lan it seems to work but the routers ip will not forward.
      If it makes any difference i am running the RT16 with PPOE from a bridged modem.
    2. 'getopts' does not seem to be in the kernel or perhaps I am just too daft to find it. I have attempted to find a method of installing it but I think my intelligence lacks too much. Does anyone else not have getopts available to them?

      any help would be awesome

      and great work teddy_bear you ROCK!
  96. deboyz1014

    deboyz1014 Addicted to LI Member

    For extra cooling, I just use one of those usb 80mm fan placed right on top of the router. If you are worried about using power from the router, then get one of those usb expansion with its own power.
  97. teddy_bear

    teddy_bear Network Guru Member

    Port forwarding - as with any other firmware - is primarily designed to forward ports to computers behind the firewall. Depending on specific applications, it may or may not work properly when forwarding to the router itself. You may need to specify firewall rules manually in the Firewall script.
    Activate, for example, a remote access to the router's HTTP GUI (on "Admin Access" page), and take a look at what iptables rules are getting created ("iptables -L -n"). Most probably you'll need to add similar rules for other ports you want to forward to the router.
    It's not a part of the kernel, it's a separate application. You can install one from Optware.
  98. teddy_bear

    teddy_bear Network Guru Member

    Great news, thanks for trying it :)!

    Did you compile it yourself from the current sources, or did you flash the original beta2 binary?
  99. hutschnur83

    hutschnur83 Addicted to LI Member

    first i want compile it myself, but i read the specs and see that most are the same and than upload your beta2 and "shut my eyes" and pray, now i've testet some features some little bugs i recognized when i change transmit power i need to do this 2x because the wlan interface don't came up at the first time.
    Good:mad: 37-40% Signal Quality i became ~ 6-7MB throughput thats 10% more then i get with dd-wrt in this scenario.

    Thx so mutch 4 this great FW ;-) hope there will come soon a stable release
  100. xtacydima

    xtacydima LI Guru Member

    Check my prev post, I am stealing 5v power off the serial pins, which most people mistake for a third USB pin-out. I have been running stable with no issues, and I found this convenient because to steal from the main power tap you need to solder onto it. By doing it this way, in my case I used an old 4-pin CD-ROM audio cable you maintain the warranty, no soldering required.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice