RouterTech Firmware (v2.92) Frequently Asked Questions (FAQ)

Please read this FAQ thoroughly BEFORE asking any question about firmwares on the forum.

Q. I have a problem with my router. Can you help me?
A. Read this thread on our forum, and follow ALL the instructions in it. Then we might be able to help you.


Q. Who/What is RouterTech?
A. The independent technical support site for all things networking.


Q. Why produce your own firmware?
A. Because we want to, and because we can :-) - actually, it is because we saw some significant deficiencies in some of the existing manufacturers' firmwares, and we wanted to contribute something to the community.


Q. I would like to know the history of your firmware. What especially is new or different about it?
A. Comprehensive history is available in the history.html file. You should also read the feature list (this can be found in the features.hml file).


Q. Will your firmware work on my router?
A. Run the Router Upgrade Checker (RUC), and it will give you the asnwer.


Q. I have bricked my router, and wish to recover it. What should I do?
A. Read the de-bricking threads,  follow the instructions, and hope for the best. Most bricks can be recovered , especially if the bootloader hasn't been trashed. The possibility/ease (or otherwise) of recovery depends on whether you followed all the instructions in the upgrade.html file to the letter, before upgrading your firmware. If you did, the router will normally be recoverable using the backups that you saved. If you didn't, then you are on your own.


Q. How do I perform a firmware upgrade manually, using ftp?
A. You should only try this when all else has failed (i.e., you have a "bricked" router, and all other recommended methods of de-bricking it have failed miserably). You can perform an ftp upgrade with a command-line ftp client (not a GUI client). You have to connect to the router's bootloader ftp server. This requires the same process as you use to connect via the pctool (which is just a fancy interface to the ftp service). Connect to the bootloader's ftp server by running "ftp 192.168.1.1" with the few seconds window after turning on the router. The username and password are both "adam2". If you manage to connect successfully, then run the following commands:
bi
quote MEDIA FLSH
put firmware.img "fw mtd4"
quote REBOOT

If all goes well, "firmware.img" will be on the router, and will be running after the router has rebooted. Of course it can all go horribly wrong. So, DO NOT try any of this unless you have JTAG, or are prepared to throw your router in the bin.


Q. How can I see what your firmware looks like before I decide whether I want it?
A. You can see an old demo of the firmware's web interface here: http://www.routertech.org/demo/2-7/. You should also read the feature list (this can be found in the features.hml file).


Q. What is the RUC or Router Upgrade Checker?
A. It is a wonderful and essential utility that anyone who wishes to upgrade their firmware MUST run, before trying anything. The RUC can save your bacon, and you would be extremely ill-advised to try to upgrade your firmware without first running it and backing up in a secure place all the files that it generates. If you upgrade your firmware without first running the RUC and something goes wrong with the upgrade, then you are entirely on your own.


Q. What is the WEB or Wireless Environment Builder?
A. It is a wonderful utility (for wireless routers using the TNETW1350A wifi chip only) that anyone who wishes to upgrade their 1350A firmware would be extremely well advised to get familiar with. It helps to rebuilt the WLAN_EEPROMx environment settings for the TNETW1350A wireless routers if their environment gets trashed. Anyone who has run the RUC on such routers will NOT need to rebuild the environment with this utility, since it would be easy to restore the environment as saved by the RUC.


Q. What is the MTD Calculator?
A. It is a utility that takes a firmware image, and then calculates the best values for your router's mtd partition if you want to flash that firmware image onto your router. For routers with Adam2 bootloaders, it also tells you the values for single-image upgrades and separate-image upgrades.


Q. What is the Firmware Tool?
A. This is a tool which can [a] generate default environment variables for Adam2 and PSPBoot routers, [b] generate WLAN_EEPROM variables for 1350A wireless routers, and [c] extract the kernel and filesystem images from a single firmware image. It is a Windows program, but it also runs perfectly with WINE under Linux.


Q. What is the RRT or Router Repair Tool?
A. This is a tool which can be used to upgrading firmwares, cleaning up fragmented router environments, and repairing bricked routers.


Q. How should I flash your firmware onto my router?
A. Read ALL the documentation (i.e., the upgrade.html file, and the readme.html file) - before trying anything


Q. What features are supported by the RouterTech firmware?
A. The feature list can be found in the features.hml file.


Q. What extra commands are supported by the RouterTech firmware?
A. The command set can be found in the rt_commands.hml file.


Q. How do I login to the router's web interface?
A. Fire up your browser, point it to "192.168.1.1" and supply your username and password (the default username and password are "Admin").


Q. How do I login to the router's command line interface?
A. You can do it in two ways:
telnet 192.168.1.1
login name: "root"
password: whatever you use to login to the web interface (the default is "Admin" )

or (for wireless routers only)
ssh root@192.168.1.1
password: whatever you use to login to the web interface (the default is "Admin" )




Q. How do I reset my router to factory defaults?
A. Most routers have a reset button at the back. To use this, you turn off the router, press the reset button, while still holding it down, turn on the router, and keep holding down the reset button for about 30 seconds. Sometimes the reset button does not work. In that case, you need to connect to the router's web interface, go to Tools->System Commands, and click on "Restore defaults". If, for some reason, the reset button does not work, and you cannot access the web interface, then you can login to the router via telnet/ssh and run "reset-config.sh". This command should only be used as a last resort.


Q. My ISP's DNS servers suck. I want to use other DNS servers. How can I achieve this?
A. First, login to the router's web interfance, go to your current connection's settings (under the "Setup" menu), and uncheck "Use Peer DNS" and click on "Apply". Then click on Setup->DNS configuration, and put IP addresses of the new DNS servers, click on "Apply", and then save your configuration settings (System->Save All). Also, have a look at the extra_dns and extra_resolvers features (read features.html)


Q. I am having various connectivity issues. What can I do?
A. There are any number of reasons why you may have connectivity issues. You can try these:

Q. The firmware works perfectly but my router's LED lights are all wrong. What can I do?
A. This is because the default (generic) /etc/led.conf file is not the right one for your router. You can simply select the desired led conf file from the "RT Configurations" menu.
You also can use the "led_conf" environment variable manually, to select one of the other ones and see if any of them works for you (run the command "ls -all /etc/led*" to see the ones (other than led.conf itself) that are available).
e.g.,
setenv led_conf led.sar600 && /sbin/reboot

If none of them is correct, then please send us a copy of your original led.conf (and indicate the name and model of your router), and we will add it to the next firmware release. You should have saved the contents of your original /etc/led.conf (as stated in upgrade.html) before upgrading your firmware.


Q. I understand that I can try different modem drivers for my router. How can I do this?
A.  This feature is only available to those with wireless routers (and non-wireless routers with 4mb flash and 16mb RAM). Simply select the preferred dsp driver from from the "RT Configurations" menu. If you want to do all this manually, then you should use the dsp_ver (choices may vary (depending on the firmware) between dsp71A, dsp71B, dsp72A, dsp72B, dsp73A, dsp73B, dsp75A, and dsp75B - look in the router's "/drivers" directory to see the available choices).
Note that dsp71B, dsp72B, dsp73B and dsp75B are for AnnexB connections only.
e.g.,
setenv dsp_ver dsp71A
or

setenv dsp_ver dsp73B
etc., etc.

And then reboot the router. Note that when you change DSP versions, the next reboot of the router may take a while to establish a connection (if at all). If the choice you made doesn't work for you, then you can simply return to the default by removing the dsp_ver variable from the environment.
e.g.,
unsetenv dsp_ver


Q. My connection is unstable. What can I do?
A. The most likely scenario is that the modem is connecting at a speed higher than the line can hold reliably. There are various things that you can try:

Q. I have no interest in USB and do not want the USB driver to be loaded on my router. How do I prevent the USB driver from being loaded?
A.  Run this command: usb_disable.sh - and then reboot the router, or enable USB support in the "RT Configurations" menu.


Q. I have renewed my interest in USB and now want the USB driver to be loaded on my router. How do I ensure the USB driver is always loaded?
A.  Run this command: usb_enable.sh - and then reboot the router, or disable USB support in the "RT Configurations" menu.


Q. I would like to schedule some commands to run at specified times. How can I do this?
A. Scheduling is done via the firmware's "cron" feature. You use this to set up a "cron job" (the crontab file is "/root_cron"). You can add entries to that file manually (in "crontab" format) to do your scheduling, or you can use the built-in commands "cronjob.sh" or "cronjob-env.sh". The latter makes the scheduled jobs persist between reboots of the router. Note that you need to have enabled "cron" in the firmware's RT Configurations menu for this to work. Any external command that is to be run via cron should be given its full path name in the cron jobs.

Q. I have a dodgy phone line and want to monitor my internet connection to ensure that if it drops, the router is rebooted. How do I do this?
A. Use the "checksync.sh" feature (remember to reboot the router afterwards).
e.g.,
setenv checksync.sh "1"
This will set up the router to monitor the router sync status every hour

setenv checksync.sh "1 30"
This will set up the router to monitor the router sync status every 30 minutes of every hour
OR
Go to the "RT Configurations" menu and enable sync checking.


Q. I have some specific needs and want some things to happen on the router everytime it is booted. How do I do this?
A. Use the "autoexec.sh" feature (remember to reboot the router afterwards):
e.g.,
setenv autoexec.sh "wget http://fpp.com/bar.sh -P /var && chmod a+x /var/bar.sh && /var/bar.sh"
This will set up the router to fetch a script (bar.sh) from a website, set its executable flag, and then run it, everytime the router boots up.
OR
Use the "RT_cmd_n" feature (remember to reboot the router afterwards):
e.g.,
setenv RT_cmd_1 "mount -t minix /dev/mtdblock/5 /nvram"
This will set up the router to mount an mtd5 that you have created and converted to a minix filesystem at the mountpoint /nvram
OR
Use the "RT_init_n" feature (remember to reboot the router afterwards):
e.g.,
setenv RT_init_1 "mount -t minix /dev/mtdblock/5 /nvram"
This will set up the router to mount an mtd5 that you have created and converted to a minix filesystem at the mountpoint /nvram
OR
If you are a Windows user, then you can write script to be stored on your PC and then use a Windows telnet scripter to run the script each time you restart the router.
The "RT_init_n" commands are executed very early in the boot process. The "RT_cmd_n" commands are executed after most things have been loaded (towards the end of initialisation) and the "autoexec.sh" commands are executed at the tail end - normally after a WAN connection has been achieved, or the firmware has timed out from waiting for a WAN connection.


Q. One of my children always hogs the router from his laptop with heavy downloads. How can I ensure that everyone else can also surf the net while he is downloading his stuff?
A. Throttle the bandwidth of his laptop with the rshaper function.

Q. I would like to run the memory optimiser at regular intervals. How do I do this?
A.  Use the "memchk.sh" feature (remember to reboot the router afterwards):
e.g.,
setenv memchk.sh "1"
This will set up the router to run the memory optimiser every hour

setenv memchk.sh "1 15"
This will set up the router to run the memory optimiser every 15 minutes of every hour
OR
Go to the "RT Configurations" menu and enable memory optimisation.


Q. How can I optimise memory on my router?
A. You can try these:

Q. My upgrade to the RouterTech firmware was successful. However, I can't go to " Run Command" and I can't enter "RT Configurations" or "System Diagnostics". Every time, I get an "Internal communication error. Exiting" message (or sometimes, just a blank screen). What is the problem?
A. You cannot access those features if you are accessing your router from outside your LAN. This is a security feature, and it is not going to change, and so it is no use asking us to remove it.
If you are accessing the router from inside your LAN and you still get these problems, then there is something wrong with your LAN's configuration. The first thing to check is your router's IP address. If you wish to ask a question about this in the forum, then you should login to the router via telnet or ssh, and supply the outputs of these commands:
 
Q. I have read that the RouterTech firmware supports a minix filesystem. How do I create a minix filesystem?
A. The wireless (and 4mb flash non-wireless) firmwares support a minix filesystem. The easiest way to create a minix filesystem (assuming there is sufficient space left on your flash chip) is to login to the router via telnet or ssh, and then run makemtd.sh (with the auto_minix parameter) - e.g., to create a new 256kb mtd5 partition and convert it to a minix filesystem, you can run this command:
makemtd.sh mtd5 256 auto_minix
*** WARNING - you MUST always unmount the minix filesystem (e.g., "umount /nvram") before [a] rebooting the router, [b] turning off the router, or [c] flashing a new firmware. If you don't, you WILL lose data on the minix filesystem - and any attempt to flash a new firmware without first unmounting the minix filesystem WILL fail. YOU HAVE BEEN WARNED!


Q. I have heard a lot about serial console cables. How can I obtain one?
A. For ready-made serial console cables, look at this thread on our forum. If you want to build one for yourself, then follow this thread in our forum.


Q. I have heard about fragmented flash memory (or environment) in routers. What is this, and how do I deal with it?
A. Flashing firmwares, saving configuration settings, and doing stuff with environment variables all involve writing to the router's flash chip. Over time, the flash memory (particularly the area holding the configuration information and the router's environment variables - i.e., the first 10kb of the router's mtd3 partition) can become fragmented. If this happens, you can have all sorts of problems. The most common ones include not being able to upgrade your firmware successfully via the web interface, not being able to save your configuration settings successfully, and routers bricking themselves spontaneously. This is a major issue on routers with the Adam2 bootloader, which is seriously broken. In our experience, it is particularly problematic with DLink Adam2-based routers - but all Adam2-based routers suffer from this problem, because the bootloader cannot defragment its environment properly, except manually from the Adam2 bootloader command prompt itself. The PSP bootloader, on the other hand, does the job pretty well by itself.

The recommended solution always involves being able to connect to the bootloader in one way or the other. If you have a serial console cable, then all you need to do is to interrupt the router's boot process within the first 3 seconds or so, which will leave you at the bootloader's command prompt. From there, you can run the "defragenv" (PSP bootloader) or "fixenv" (Adam2 bootloader) command. This will sort out the fragmentation issues. You can then restart the router.

If you don't have a serial console cable, then things are a bit more tricky. Tools such as the RRT (see below) or ciclamab may be able to assist you. But this depends on their being able to connect to your bootloader successfully. From firmware v2.91 onwards, you can defragment from a telnet/ssh login session, by running "setenv DEFRAG DEFRAG" (note the capitals). This command must be run from a telnet/ssh login session - NEVER from the "Run Command" feature of the web interface. This solution should only be used as a last resort (i.e., if you cannot do it in the recommended way). You can run /usr/local/bin/check_env for a rough-and-ready check for fragmentation. It will print "0" if your environment appears to not be fragmented, and "1" if it appears to be fragmented. Or, you can run /usr/local/bin/auto_defragenv.sh - this will let you know the fragmentation level, and if it has reached a certain threshold, it will defragment the environment automatically. You can change the preset thresholds by setting the environment variable "DEFRAG_THRESHOLD" to the desired number.


Q. My router has the Adam2 bootloader. I have tried to upgrade to the latest RouterTech firmware via the web interface. Everything seems to go alright, but I still end up with my old firmware! What should I do?
A. The most likely cause of such a problem is that your router's environment is fragmented. You need to defragment the environment, and then try again. See here for details.
If you are using a firmware that doesn't support defragmentation and you have no serial console cable, then your options are limited to
[a] using a tool that operates at bootloader level (e.g., the PCtool, or the Router Repair Tool, or Ciclamab, or the tiupgrade program) to upgrade your firmware (you need to be very careful when using these tools, and you need to know what you are doing). Wih respect to tiupgrade, DarkWolf usually releases preconfigured tiupgrade packages for various RouterTech firmwares.
OR
[b] if you're feeling brave, and have no other option, then you can try using the Adam2 Defrag Tool to defragment your router's environment, and then try upgrading via the web interface.


Q. My router has the TNETW1350A wireless chip. I have flashed your "1350A" firmware on it, but the wireless is not working. What can I do?
A. The "1350A" wireless firmwares require WLAN_EEPROM variables to be in the environment. The correct values for some of these variables are specific to each router, and depend on the wireless card's MAC address and "TNETW ID". If the WLAN_EEPROM variables (or some of them) are missing, corrupt, or contain wrong values, then your wireless will NOT work. The solution is to get them all correct. If you ran the RUC before upgrading your firmware as instructed in the firmware documentation, then all you need to do is to restore the backed up environment. If you did not run the RUC, then you are in for a very difficult time. The Wireless Environment Builder and the The Firmware Tool may be able to assist you in this process.


Q. How do I build the firmware from sources for myself?
A If you are really desperate to do this, then by all means go ahead - but there is absolutely no support in the RouterTech forum for building firmwares from source, so PLEASE do NOT come and ask questions about it on the forum. It is not for the faint-hearted. It really requires a fair amount of familiarity with Linux and with gcc and other GNU development tools, and you need a Linux box, working cross-compiler toolchains, and lots of patience (and hair - you might need to tear out some hair). If you still want to press ahead, then you need to take a number of steps:

Q. Why doesn't the RouterTech firmware support OpenVPN, this, that, or the other (put any other feature you would like to see, but is not supported)?
A. In some cases (e.g., OpenVPN), it is because the program would be too big fit into the flash memory of the router. In other cases, it is because it has proved impossible to build the programs, or a decision has been taken to not support them, or we do not know how to implement them. Although we may be able to build the necessary tools (e.g., see our software repository), we do not always know how to configure them to work correctly. This is especially the case with VPN, which can be implemented in any number of ways, each of which requires all sorts of confusing configurations.

Since we have a REPOSITORY of tools built for the AR7 platform, so you can alway try your luck with those. But please do NOT ask any questions about those tools on the RouterTech forum. We will simply ignore such questions, or refer you to this FAQ. If you wish to know how any of those tools should and could work, please go to the internet forums devoted to that specific tool.


Q. If I want to suggest/recommend a new feature for your firmware, how should I do it?
A. Make your suggestion very politely in our forum, and we will consider it.


Q. But I really think that your firmware ought to have such and such a feature, yet you don't want to do it. Why won't you do it?
A. Please feel free to write the code to implement the feature yourself, and then submit the code to us when you have tested it enough to see that it works correctly. Or, download the firmware source, and amend it to your heart's content, so that it does exactly what you would have it to do.


Q. I don't think that your firmware should have such and such a feature. Why won't you remove it?
A. Everything in the firmware is there for a reason. We remove features only when and if the RouterTech team comes to the conclusion that they need to be removed (and sometimes only after a poll in the forum). If you don't like a feature, then just ignore it. Or, download the firmware source, and amend it to your heart's content, so that it does exactly what you would have it to do.


Q. What interesting tools do you guys have for Class II ADSL routers?
A. See the following:

Q. I think your firmware sucks and would like to complain. Where should I direct my complaints?
A. Direct your complaints to /dev/null.


Q. I think your firmware is wonderful and would like to show my appreciation. How can I do this?
A. [i] Help spread the word; [ii] help answer questions on the forum (if you know the answers); [iii] Donate an AR7WRD/AR7RD router for us to use in our tests [iv] visit our shop and buy a RouterTech mug, t-shirt, cap, coaster, umbrella, etc., etc.



(c)2006-2010, RouterTech.Org.