Help - Search - Members - Calendar
Full Version: why can't they make networking gear like they used to...
bargainshare.com > Community > Computer & Tech Help
dboy
I've got the popular WRT54G, 2.0 with sveasoft installed. It randomly drops the internet connection - my computers can still talk to each other, but can't get out. It takes a pull of the plug on the router to get things going again. I suppose it could be the fault of my cable modem too, not sure...

Anyway, it's very occasional, but annoying, as the router is on a high shelf that my pregnant wife can't reach (and no good way to get it in a better position at the moment due to lots of other crap around there that I'm working on). So, if it goes down while I'm at work, she can't fix it. And since we've got Packet8, the phones are down too. It's annoying enough that I've considered just putting in an outlet for it with a wall switch so she can reset it easily bang.gif

On the other hand, my parents have an old Netgear 5 port wired router. I forget the model, but I bought it in 2001 and paid $80 AR and that was a steal. It's the old dark blue metal box style. It has run without a single problem or need to be reset for over 3 years straight now. And that's in a dusty basement, with no care at all.

So why can't they make gear like that any more... argh. I guess that's what we get for expecting free AR routers and the absolute latest and greatest gear, even before standards are out (as in the current mimo/pre-n craze)
IamAddicted
For some reason here lately I have had the same issues with the same router..I have it on channel 1 now and use the swevsoft flash but still the same problems..I will be connected then disconnected then over again..and having packet 8 as well even makes for more issues. Up until about a month ago I never had problems..but now bang.gif
Arkayz
I have the exact same problem with mine, stock. Two locations actually, one at home and one at work. Every couple days, sometimes longer, it will just drop the internet connection. I do the same to get it going, unplug from back, and replug back in. At first I thought maybe it was the modem, but once the one at work started doing the same thing that kinda seemed unlikely as it is two different modems. I've been thinking about complaining to linksys.
dewolfxy
QUOTE(dboy @ 8-2-05, 10:04pm)
Anyway, it's very occasional, but annoying, as the router is on a high shelf that my pregnant wife can't reach (and no good way to get it in a better position at the moment due to lots of other crap around there that I'm working on). So, if it goes down while I'm at work, she can't fix it. And since we've got Packet8, the phones are down too. It's annoying enough that I've considered just putting in an outlet for it with a wall switch so she can reset it easily  bang.gif
*


What about a surge protector, running an extension cord from the router to it so she can flip it on/off? That's a temporary solution that might work.

I have the same router, but no problems. What about the timeout settings, are you sure you've got those set to zero so it keep the connection active? Or on the sveasoft firmware, I think it's something about a "30" - every 30 seconds it sends a small signal just to keep the router active.
TheDiggler
A couple of options:

1) For those who have 3rd party firmware (such as Sveasoft Alchemy), provided you still have LAN access to the router, you can TELNET into it to reboot it. This way you don't have to touch the physical router.

To telnet into the router, open up a command prompt and type:
telnet 192.168.1.1 (or whatever your router's IP address is)
For username, use "root"
For password, use your router's web-interface password

Once logged in, issue the command "reboot"

Note: The stock linksys Firmware does NOT include a TELNET SERVER w/ the router. It is only supported under (some) 3rd party firmwares, such as Sveasoft Alchemy.


2) I wrote a "keep alive" cron job shell script for this router in a WDS environment which automatically reboots the router upon detecting a downed WDS connection. In my case, the WRT54G (which is not the PRIMARY router in the WDS) needs to successfully ping the WDS "gateway" router. If that ping fails, it sleeps a few seconds and tries again. If the 2nd ping fails, it reboots the router. If either the first or 2nd ping succeed, it repeats the process every minute. wink.gif

The aformentioned script would need to be modiifed to ping a "real / external" IP address; however, the problem w/ that is whatever site it's pinging could go down.

I'm not at home at the moment, so I don't have access to my script. I'll try getting a hold of it later tonight and post installation instructions as well.

Diggler
dewolfxy
Another simple option, using TheDiggler's script method, is to have it reboot every night at 3AM or something. That wouldn't rely on anything like pinging an outside server. However, it would interrupt transfers if you leave computers on overnight. Might work if your random drops of connection are happening only every few days.

Also, think about heat - does your router get overly hot?
DrZoidberg
mine does it too but i cant tell if its the modem or the router or ISP. Mine are caused by using bittorrent though.
TheDiggler
QUOTE(TheDiggler @ 8-3-05, 1:38pm)
2) I wrote a "keep alive" cron job shell script for this router in a WDS environment which automatically reboots the router upon detecting a downed WDS connection.  In my case, the WRT54G (which is not the PRIMARY router in the WDS) needs to successfully ping the WDS "gateway" router.  If that ping fails, it sleeps a few seconds and tries again.  If the 2nd ping fails, it reboots the router.  If either the first or 2nd ping succeed, it repeats the process every minute. wink.gif

The aformentioned script would need to be modiifed to ping a "real / external" IP address; however, the problem w/ that is whatever site it's pinging could go down.
*

I've been working on the script and have added the ability to traverse through a list of external domains. Am currently debugging it. Hopefully I'll have something ready for release later today / tonight.

Diggler
Arkayz
QUOTE(DrZoidberg @ 8-3-05, 12:22pm)
mine does it too but i cant tell if its the modem or the router or ISP. Mine are caused by using bittorrent though.
*



I use that a lot too hypocrite.gif
TheDiggler
Version 0.11 BETA of my public SVEASOFT Alchemy "KeepAlive" script is now available for download. You may grab it here:
http://www.realmud.com/diggler/scripts/wrt....11beta.sda.exe

The aformentioned file is a PASSPHRASE ENCYPTED self decrypting PGP archive. To decrypt the archive and extract the 3 files inside, execute the program and enter the following CASE SENSITIVE passphrase:

CODE
Visit www.BargainShare.com for great deals and scripts like this!


The 3 files inside are:
CODE
Installation Instructions.txt
wrt54g_keepAliveBuilder_commented.sh
wrt54g_keepAliveBuilder_uncommented.sh


It may turn out that once you install this script, your WRT54G may no longer lose internet connectivity (as it will be pinging some external site every minute). noclue.gif

If it does lose connectivity, this script will auto-reboot your router.

Diggler

P.S. This script has only been tested under SveaSoft Alchemy Firmware! I don't know if it'll work w/ any other 3rd party firmware. It will not work w/ the STOCK LINKSYS FIRMWARE!

*EDIT* Fixed a couple of typos in the comments and removed an unnecessary 'eval' statement while checking for packet loss. Link above has been updated to reflect version 0.11 BETA instead of 0.1 BETA.
TheDiggler
I made some more enhancements to the "KeepAlive" script (changes which haven't yet been released). Assuming the script's been running ok today on my router, I'll post the update later tonight (or more likely sometime this weekend).

Has anybody bothered to use any version of this script yet? (i.e. If there's no interest, I'll cease posting updates).

Diggler
dewolfxy
I may try it, but haven't yet. But doesn't sveasoft already have something like this (although perhaps less thorough)? Mine (also running Alchemy 1.0) has a "Keep Alive: Redial Period" set to 30 seconds.

QUOTE
Keep Alive Option
This option keeps you connected to the Internet indefinitely, even when your connection sits idle. To use this option, click the radio button next to Keep Alive. The default Redial Period is 30 seconds (in other words, the Router will check the Internet connection every 30 seconds).


Any idea what that does? I sort of thought it was like what your script does - it pings some host or something simple every 30 seconds, to keep the DSL connection alive.
TheDiggler
QUOTE(dewolfxy @ 8-5-05, 9:32pm)
I may try it, but haven't yet. But doesn't sveasoft already have something like this (although perhaps less thorough)? Mine (also running Alchemy 1.0) has a "Keep Alive: Redial Period" set to 30 seconds.
Any idea what that does? I sort of thought it was like what your script does - it pings some host or something simple every 30 seconds, to keep the DSL connection alive.
*

Hmm, I've never seen the KeepAlive option in Alchemy. What menu tab / sub-tab is it under?

I'll ask a friend of mine (who paid the SVEASOFT ransom, err, membership fee) to find out what that feature actually does.

Diggler

*EDIT1* I found where the KeepAlive option resides. It's on the main page, but it only shows up for PPPoE, PPTP, L2TP, and HeartBeat modes (i.e. basically for DSL configurations and whatever the heck L2TP & HeartBeat modes are used for). For those of us on Cable Modems, the KeepAlive setting doesn't show up under AUTOMATIC DHCP or STATIC IP modes.

*EDIT2* In light of EDIT1 above, it's my guess that the SVEASOFT KeepAlive option merely keeps the DSL connection "logged in" (or perhaps automatically re-logs it back in). Perhaps it pings the "gateway" it's connected to as well. noclue.gif

*EDIT3* My friend believes that the Alchemy KeepAlive option ICMP's (i.e. pings) one public NTP server but is not 100% sure.

My script pings whatever DOMAIN(S) you want (by default I've included 15 currently pingable domains).
dewolfxy
Good info. I do use DSL, so that's why I see that option. DSL connections, since they do accept logins, have to worry about the login timing out in a way that cable modems do not, I guess. Anyway, I don't have a problem with losing my connection, it seems to stay live without any problems.

Nonetheless, your script sounds interesting and i'll probably try it out just to see how it works for me - it's useful since I do use DynDNS to get to my home computer, and if it ever went down that would be a pain.
TheDiggler
Perhaps the real issue w/ DSL is that when the connection "logs out," upon logging back in, you may be DHCP assigned a new IP Address. By keeping the connection "alive," it improves your chances of maintaining the same IP.

With Cable Modems, you receive a DHCP assignment based on the cable modem's MAC Address, and the (auto-renewing) lease time is usually at least 24 hours. Thus, even if the cable modem connection drops for a few hours, upon reconnecting, you'll likely get DHCP re-assigned the same IP address.

Switching back to Alchemy's "Keep Alive" functionality... another thing I need to find out is, what does the Alchemy firmware do upon failing to ICMP (i.e. ping) its remote host? Does it ever reboot the router?

For the issue dboy reported, the router must be rebooted to get connectivity working again. Thus, my KeepAlive script fits that bill.

Diggler
dboy
Thanks Dig - I haven't had a chance, but I definitely plan to try your script next week. I'll let you know how it goes!
TheDiggler
I was hoping to post the next version of my script this past weekend; however, an unanticipated SVEASOFT behavior was discovered during a DNS outtage which I had to account for.

Version 0.12 BETA of my public SVEASOFT Alchemy "KeepAlive" script is now available for download. You may grab it here:
http://www.realmud.com/diggler/scripts/wrt....12beta.sda.exe

The aformentioned file is a PASSPHRASE ENCYPTED self decrypting PGP archive. To decrypt the archive and extract the 3 files inside, execute the program and enter the following CASE SENSITIVE passphrase:

CODE
Visit www.BargainShare.com for great deals and scripts like this!


The 3 files inside are:
CODE
Installation Instructions.txt
wrt54g_keepAliveBuilder_commented.sh
wrt54g_keepAliveBuilder_uncommented.sh


Here's what's new in this version:
CODE
# Change Log:
# -----------
# Version 0.12 BETA: Added MAX_PING_HOST_COUNT variable to configure the
#                    maximum # of hosts to ping per keepAlive instance.
#
#                    Added cache file 'keepAlive.inc' (along with variable
#                    MAX_CACHE_DAYS) to cache the resolved list of REMOTE
#                    HOSTS and their associated IP ADDRESSES.  Once the cache
#                    file reaches an age of MAX_CACHE_DAYS, at script startup
#                    it gets re-created.  The cache file also gets deleted
#                    upon router re-boot.
#
#                    In the event a particular keepAlive instance runs
#                    longer than the MAX_PERIOD of a keepAlive instance,
#                    the instance's sleep time will be adjusted to the
#                    remaining seconds left in the the next logical period.
#
#                    Added function 'funcLog' to provide a common interface
#                    for logging all INTENDED messages with a common DATE/TIME
#                    format.  Such messages appear in the .log, .run, and .err
#                    files. Unintended/Unexpected syntax errors, logic errors,
#                    etc. will continue to appear in the .err file w/o any
#                    (guaranteed) DATE/TIME stamp.
#
#                    Ammended DNS OUTTAGE DETECTION PROCESS to reboot router
#                    rather than exit script.  This is due to some built-in
#                    SVEASOFT process making system changes (such as blowing
#                    away the crontab file) during such an outtage.  Without
#                    a valid crontab file, keepAlive doesn't get re-started.
#                    
#                    Added DNS_DOWN_SLEEP variable to configure a delay in
#                    seconds to sleep before rebooting due to a DNS outtage.
#                    This is to prevent constant instantaneous rebooting while
#                    a DNS outtage is in progress.


All prior versions of the script would reboot the router upon two consecutive remote hosts being unpingable. I decided to change the current version to a "three strikes and your out" rule by default. The new config variable MAX_PING_HOST_COUNT controls this rule (its default value is 3). You can set it to whatever value you want.

Diggler
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.