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:
- Make sure that you reset the router to defaults (from the system menu) both before, and after upgrading your firmware
- Make sure that the modulation that you have selected is MULTI_MODE: you need to select this manually
- Turn off everything that you don't really need (e.g., SNMP, USB, UPNP, IPAccount, Darkstat, etc)
- If you really want to use Darkstat, then reduce its memory footprint by passing it these parameters "--no-dns --hosts-max 90 --ports-max 60"
along with the interface. These parameters dispense with dns
resolution, and reduces data that is held in memory (you can play with
the hosts-max and ports-max parameters to see which values are optimal
for you).
- Make
sure that you don't have more than one active connection - if you are
not using the default "quickstart" connection, then you must delete it
- If you can access certain sites, but not other sites (especially Microsoft sites), reduce your MRU to 1452, or 1400
- Try DrTCP or TCPOptimizer to change your Windows MTU settings to 1400.
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:
- Try a different DSP driver version (see above).
- Sacrifice speed for reliability, by running this code from a telnet/ssh login session: "setenv DSL_FEATURE_CNTL_0 0x03000000 && /sbin/reboot". If it doesn't help, then you can delete the setting: "unsetenv DSL_FEATURE_CNTL_0 && /sbin/reboot"
- You can also try changing the router's modem modulation
(Setup->Modem).
MULTI_MODE is often a safe bet, as this tells the
router to find the best connection possible - but sometimes it can
still try to connect at a speed that is higher than your line can hold
reliably. If you set it manually to something like "ADSL_G.dmt.bis",
then this is likely to reduce the connection speed (sometimes
significantly), but lead to greater stability. When you change the
modulation, make sure you "apply" and then save your changes. The
router will disconnect and try to connect again in the newly selected
mode. This will often take some time to happen (at least a
minute). If, after 3 minutes, it still hasn't connected, then you
may need to restart the router, and/or change the modulation to
something else that is supported by your router.
- You may wish
to try different DNS servers (e.g., those from OpenDNS)
from those of your ISP. Also, ensure that you only have one active
connection.
- If you have set up your own connection, then you must
delete the default "quickstart" connection, otherwise, you WILL have problems.
- If you are doing any peer to peer sessions with torrents, reduce the maximum number of connections.
Trial and error will show you the best level for stability. Start at
around 40, and slowly increase until the connection gets unstable.
Anything over 150 is probably too much.
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.
- So, for example, to schedule the router to reboot itself at 3.00am every day, you can run this command: cronjob-env.sh "/sbin/reboot" "0" "3" "*" "*" "*" "RT_cmd_1".
- To remove that scheduled job, you run "unsetenv RT_cmd_1" and then reboot the router.
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.
- First of all, enable the rshaper module by going to the "RT Configurations" menu and enabling rshaper (or with this command: setenv "rshaper_enable 1" && /sbin/reboot)
- Then throttle his bandwidth to
about 256kb or whatever. Assuming his laptop has the IP address of
192.168.1.5, you can run this: rshaperctl 192.168.1.5 262144
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:
- Turn off everything that you don't really need (e.g., Wireless, SNMP, USB, UPNP, IPAccount, Darkstat, etc).
- If you really want to use Darkstat, then reduce its memory footprint by passing it these parameters "--no-dns --hosts-max 90 --ports-max 60"
along with the interface. These parameters dispense with dns
resolution, and reduces data that is held in memory (you can play with
the hosts-max and ports-max parameters to see which values are optimal
for you).
- Enable memory optimisation in the web interface (in the "RT Configurations" menu). This is most likely unnecessary, as the linux memory manager is pretty good already.
- Set up a "cron" job to clear the system log (i.e., to run clearlog.sh) a few times a week (or every day if necessary) - for example:
- cronjob-env.sh "clearlog.sh" "5" "2" "*" "*" "0,2,4,6" "RT_cmd_4" (means run clearlog.sh at 02.05am every Sunday, Tuesday, Thursday, Saturday)
- cronjob-env.sh "clearlog.sh" "5" "2" "*" "*" "*" "RT_cmd_4" (means run clearlog.sh at 02.05am every day)
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:
- Build yourself a serial console cable (you will need it when (not if) you brick your router)
- Become very familiar with the PCTool (you will need it when you brick your router)
- Download the source code from our forum (read this).
Note that the source distribution is simply the GPLed components. The
sources for the RouterTech custom utilities and for our web interface are not included in the
source distribution
- Build or download and install the necessary development tools and cross-compilers for building the firmware (read this)
- Run the build script for the router model that you want to build a firmware for
- Hope for the best.
- If you trash your router, you are on your own.
- NOTE: PLEASE do not ask any questions about this on the forum (or via PM), and PLEASE do NOT ask about development tools, cross-compilers, etc.
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.