RouterTech Firmware v2.3
Version: v2.3 (20070604)
Author: RouterTech Development Team (thechief, biro)
Other contributor(s): mstombs (experimental scripts for half-bridge support)
This firmware supports the following routers and their clones provided by different companies and MAY support others too - check the docs or ask us in the forums: SART2/SWAMR/SWART2/GWART2/Solwise/ADDON/Roper FLYNET/ASUS AAM6020VI-T4
WARNING: for those with wireless routers, there are new batches of AR7WRD routers that do not use the TNETW1130 wireless chip. This firmware does NOT support those routers (e.g., the TNETW1350A is not supported). If you have a wireless router, you must first check that your router has the TNETW1130 wireless chip - e.g., by running "cat /proc/interrupts" at a telnet/ssh login prompt - if you do not see TNETW1130 in the output, then you must stop right there, otherwise, your router WILL become a brick. The firmware for the wireless routers supports only wireless routers that use the TNETW1130 chip.
** NEW **
We recommend you check to see if your router is compatible BEFORE YOU UPGRADE by using the Router Upgrade Check utility here - viewtopic.php?t=1062
This firmware has been built for the family of routers based on the TI AR7WRD and AR7RD platforms (specifics shown in the compatibility section of this release and in the documentation provided with the firmware). Reading ALL the documentation below, and ALL the documentation included with this firmware is essential to ensure successful flashing. Support for this firmware can only be obtained in the firmware forum of this site. Bug reports should be filed in the same forum, with a prefix to the the thread title of [BUG]. This will allow the development team to read, discuss and fix the bug before updating the firmware and closing the thread.
While we provide full support for our firmwares and will help out with issues or problems in any way we can we will not be held liable in any way in the unlikely event of damage occuring to your router. You are advised to read all documentation including that related to recovery of routers after a failed flash to ensure the highest chance of a successful upgrade and the smallest chance of problems.
Which version for me?
To determine which version of firmware you need (in addition to checking your router model) you need to find out if you use the adam2 bootloader or psp. You don't need to know what these mean, simply follow the instructions below.
Note: with respect to some routers (e.g., the ADDON GWAR3000) the manufacturers alternate between the psp boot loader and the Adam2 boot loader. So it is absolutely essential that everybody (regardless of the router that they have) verifies their routers' bootloaders before trying anything.
In order to ascertain the bootloader that your router is using, you should telnet or ssh to the router, and run the command:
If the "bootloaderVersion" is 1.2.x (or 1.3.x or 1.4.x), AND the "PROMPT" contains something like "psbl" then your router is using the PSP bootloader, and you should use the firmware with "pspboot" in the filename.
Code: Select all
By the same token, if your "bootloaderVersion" is something like "0.22.x", AND the "PROMPT" contains something like "Adam2", then your router is using the Adam2 bootloader, and you should use the firmware with "adam2" in the filename.
WARNING: if the output of the "cat /proc/ticfg/env" command includes anything like "WLAN_EEPROM0", "WLAN_EEPROM1", etc., then that is a sure sign that your router has an incompatible wireless chip, and you should NOT try putting this firmware on your router. Trying to do so WILL brick your router.
Single or combined image?
Firmwares for the AR7* platform can come in a single image that combines the config, the kernel and the filesystem into one. This is makes it very easy to upgrade the firmwares. Routers using the PSPboot boot loader mostly use combined firmware images.
But the AR7* firmwares can also come in a package that separates the config, the kernel, and the filesystem. This is typically so for ADAM2-based AR7WRD routers. The issue is not so clear however for routers using the ADAM2 bootloader, since some routers require a combined firmware image, while some require separate images (i.e., a separate config file, kernel, and filesystem). Sometimes, the same router from the same manufacturer may require different kinds of firmware images, depending on the firmware version that comes with that router.
The bottom line is that, for ADAM2 routers, you need to ascertain clearly from your router's documentation whether it stipulates the use of separate images or a single (combined) image. If your router's documentation stipulates the use of separate images but the RT release for your router only has a single image, then do NOT use the single image. Rather, you should let us know.
A few more words on versions...
It has come to our attention that due to incorrect labelling on some Safecom routers people without wireless are attempting to load the routertech firmware for wireless routers and encountering problems. This is not a fault with the firmware just that the labelling on the router is incorrect.
Please then note that the SWART2-54125 / GWART2-54125 are the WIRELESS versions and the SART2-4115 / GART2-4115 DON'T have wireless but may be wrongly labelled (By SC ) as SWART2-54125 / GWART2-54125. Note the extra W. Please check to see if your router actually has wireless before believing that you need the routertech firmware for wireless routers.
We have had many questions about version names from ebuyer. It is therefore worth mentioning that the G****** are the Ebuyer GURU branded versions of the S****** from Safecom.
BEFORE you try upgrading to this firmware, you would be well advised to take the following precautions:
1A. For routers using the PSP bootloder run the "cat /proc/ticfg/env" command (as above) to check that the environment variable called "IPA" is set to 192.168.1.1 - and, if not, then set it to 192.168.1.1 (or to whatever you use normally). This is how to do it (from the router's shell command line):
1B. For routers using the Adam2 bootloder run the "cat /proc/sys/dev/adam2/environment" command to check that the environment variable called "my_ipaddress" is set to 192.168.1.1 - and, if not, then set it to 192.168.1.1 (or to whatever you use normally). This is how to do it (from the router's shell command line):
Code: Select all
echo IPA 192.168.1.1 > /proc/ticfg/env
Note that some old firmware for Adam2-based routers do not have the "/proc/sys/dev/adam2/environment" file. In such cases, you must use the "/proc/ticfg/env" file.
Code: Select all
echo my_ipaddress 192.168.1.1 > /proc/sys/dev/adam2/environment
2. Get and install a copy of the PCTool (not to make any changes but just connect) to the router with it, so that you can get a 'feel' for the timing etc. You will need the PCTool to recover the router if the firmware upgrade process goes wrong, and "bricks" your router.
You can get the PCTool here: viewtopic.php?t=335
It is best to have at least two different versions of the pctool.
3. Save a copy of your original environment variables (i.e., the contents of "/proc/ticfg/env" (or "/proc/sys/dev/adam2/environment" for Adam2)). If your router becomes a brick, you may need to restore the original environment variables.
4. Read this thread: viewtopic.php?t=961
And keep a record of all the information referred to there.
5. Read ALL the documentation supplied in the firmware zip package that you have downloaded. The correct starting point is the "index.html" file in the package.
DO NOT SKIP ANY OF THE 5 STEPS JUST OUTLINED ABOVE - OTHERWISE, YOU ARE ON YOUR OWN!
If something goes wrong...
Sometimes upgrades can go wrong and your router becomes a "brick". If this occurs you will need to attempt a rescue. See the details here:
The tag-lines on the firmwares are not definitive with respect to the routers they can be used on by any means. To be sure check your router make, check the docs in each firmware package, check to see whether your router has a PSP or Adam2 bootloader, check that the "ProductID" is either "AR7RD" or "AR7WRD" (when you run the command "cat /proc/ticfg/env" or "cat /proc/sys/dev/adam2/environment" as above), and, if in any doubt ask in our forums BEFORE you try anything - we are here to help!
Available file format
As use of the RouterTech firmware increases so does the number of routers our firmware supports. For this reason this release has specifically separated out downloads for different types of router. This should enable you to see much easier which file is right for you. If you are unsure, our support team is here to help - ask in our firmware forum.
version 2.3 (20070604) (4th June 2007) - changes (compared with the previous (v2.2) firmware)
- 1. Added all private IP ranges to "Allow" list in tinyproxy.conf
2. Added all private IP ranges to "Run Command" and "System Diagnostics"
3. Enabled "Enforce MRU" by default in PPPoE connections
4. New command: "cm_cli_ex" - a version of "cm_cli" that allows redirection of the output
5. "getenv"/"printenv" amended. If you want to use the command to show the value of an environment variable in a way that is compatible with earlier releases, you have to supply "-c" (or "-compat") as the second parameter: e.g., "getenv mtd0 -c"
6. Fix for Windows Vista: set "tcp_window_scaling" to zero (i.e., disabled)
7. New command : "printf"
8. New feature - "rshaper". This allows you to limit the bandwidth by IP addresses/ranges - plus a command to configure it: "rshaperctl"
- e.g., "rshaperctl 192.168.1.6 32768" (will limit the bandwidth of the computer at 192.168.1.6 to 32kbps)
The rshaper module is NOT loaded by default. Run this command to enable it: setenv "rshaper_enable 1" && /sbin/reboot
9. New facility for executing commands on bootup - by "RT_cmd_x" entries in the environment ("x") stands for a number or some other distinguishing letter/number: e.g.,
setenv RT_cmd_1 "rshaperctl 192.168.1.6 32768" (will execute "rshaperctl 192.168.1.6 32768" during bootup)
10. New scripts:
* filesize.sh - report the size of a file
* filecomp.sh - compare the sizes of two files
11. Experimental half-bridge support (see pppHB.sh and firewall.sh). Let us know if it works for you! See here for details and a FAQ.
12. "vi" removed to free up some space
13. New command: ether-wake - to wake up PCs on a LAN
14. New command: poweroff - to power down the router internally (you still need to flick the off switch afterwards)
15. New command: shutdown - to shut down the router's operating system (you still need to flick the off switch afterwards)
16. "nbtscan" removed
17. "ez-ipupdate" removed
18. "cfgconv" removed
19. The number of dsp and atm drivers has been reduced (only choices are between dsp62A, dsp71A, and dsp6B)
- 1. Add support for TCPMSS in kernel and add iptables command, to overcome MTU issues with some websites. Unfortunately this eats some RAM, and so it has not been added to RAM-challenged routers (i.e., those with only 8mb RAM).
2. New scripts:
* makemtd.sh - create a new mtd partition automatically
* deletemtd.sh - delete the mtd5 partition and restore the mtd partition table to the values before the new mtd partition was created
3. Tcl interpreter added. You can either run it interactively (by running "tcl") or you can use it as the command shell for scripts
puts "Hello World"
4. More friendly text editor - "easyedit" (renamed "edit" in the firmware) added
5. scp support added (this involved upgrading to bug-fixed versions of uClibc's ftruncate64.c and truncate64.c). You can now use WinSCP or any other scp client to upload/download files to/from the router
6. cifs support added. This allows you to mount shared network drives on your router. There is a ready-made mountpoint "/cifs" that can be used for mounting
mount -t cifs /<anything> <mountpoint> -o user=MyWindowsLoginName,pass=MyWindowsPassword,unc=//<server_ipaddress>/<share_name>
mount -t cifs /blah /cifs -o user=freddy,pass=ddyfre,unc=//192.168.1.3/scratch_drive
This will give you read/write access (at "/cifs/") to the shared directory: "192.168.1.3/scratch_drive"
WARNING: You MUST unmount any shared drive before any attempt to upgrade a firmware, and before turning off your router.
7. Minix (read/write) filesystem support added. This allows you to create read/write Minix partitions on the router.
There is a ready-made mountpoint "/nvram" that can be used for mounting.
The steps to using the minix filesystem support are:
A. create a new mtd partition - in multiples of 1024 (e.g., "makemtd.sh mtd5 131072")
B. reboot the router
C. convert it to minix (e.g., "mkfs.minix /dev/mtdblock/5")
D. mount it (e.g., "mount -t minix /dev/mtdblock/5 /nvram")
After this, you can write/read from/to "/nvram"
E. If you want this to be mounted automatically during bootup, use the "RT_cmd_x" functionality
e.g. setenv RT_cmd_2 "mount -t minix /dev/mtdblock/5 /nvram"
F. The system will look for "/nvram/startup.sh" upon boot up, and will execute it if it is found
G. Always unmount the partition before rebooting, turning off the router, or flashing a new firmware
(e.g., "umount /dev/nvram") otherwise you WILL lose data.
1. This feature works okay in our tests - but your mileage may vary. Do NOT use this feature unless you are very familiar with unbricking bricked routers.
2. You MUST unmount any minix partition before rebooting or turning off the router, and before any attempt to upgrade a firmware,
otherwise the upgrade will NOT happen!!!!!
8. New commands for minix filesystem support:
mkfs.minix - create a new minix filesystem
fsck.minix - check a minix filesystem
The non-wireless versions (with only 8mb RAM) can sometimes struggle in low memory situations and produce a sluggish web interface. In such cases, memory can be freed up by disabling unneeded features. Prime candidates are upnp, snmp, and IP Accounting, and by running the memory optiomiser periodically (e.g., via a "cron" job). The crontab file is "/var/spool/cron/crontabs/root". A sample can be found in the package for each firmware. Running the memory optimiser periodically is easy to do now - see the AUTOEXEC example for memchk.sh in rt_commands.html.
The links to our firmware require you to be registered and logged into the site to see and use them. This is to make sure we can provide you with support easily if you need it. When logged in they appear below this post.
After upgrading to this firmware, you MUST reset your router to factory defaults. See upgrade.html in the firmware distribution ZIP file for further information.
As usual sourcecode for this latest release is available under the GPL on lara for budding developers. Grab your copy here