PDA

Bekijk de volledige versie : WAN port dies - kill the beast



Oleg
11-09-2004, 12:01
So,

I've prepared new custom firmware, namely 1.7.5.9-5.1 (http://wl500g.dyndns.org/wl500g-1.7.5.9-5.1.zip), which is identical to 1.7.5.9-5 except the et module. I've merged some debug stuff from the early linksys wap54g sources to it, so it's now should produce some helpfull output.

WARNING: Reboot your router BEFORE doing any firmware upgrade/downgrade. Use wired connection. This is very important. Otherwise you can destroy your router if it's running low memory (especially with ASUS firmwares!!!). There are 2 routers already reported to be dead after performing firmware upgrade. In fact, the most safe method for performing software upgrades is restarting router in Firmware restoration mode and flashing it using Firmware Restoration Tool.

You either need to flash it regulary using link above or use rootfs (http://wl500g.dyndns.org/wl500g-1.7.5.9-5.1-root.tar.bz2) image. Alternatively you can just put et.o (http://wl500g.dyndns.org/et.o) module to your flashfs and use something like this to add it your pre-boot script (I've copied et.o to /usr/local/root):


echo "insmod /usr/local/root/et.o" >> /usr/local/init/pre-boot
chmod +x /usr/local/init/pre-boot


So, once done by one of three ways, reboot & verify that everything is loaded by running (i.e. via telnet/ssh or www backdoor)


et -i eth1 dump


this should produce bunch of output. If it does not, then check everything again.

Finally, try to kill the WAN port by huge transfer, once it's dead please execute (i.e. via telnet/ssh or www backdoor)


dmesg
et -i eth1 dump

Post output from both commands here. I will then try to figure out the problem.

Regards,
Oleg.

P.S. Guys, most are lazy here. So, you prefer to post messages like "it does not work", rather than help to figure out the problem. So, if you want for this problem to be solved, then please be more helpful this time. In fact, I've no interest in fixing it, because it's never happens to me. But I've already spent some time digging with it and I'm still trying to help you.

P.P.S. If you've any questions or suggestions on the matter, post them here.

P.P.P.S. To recover port use command like this:


et -i eth1 promisc 0


Once recovered, collect data using


dmesg
et -i eth1 dump

Oleg
11-09-2004, 17:40
Together with Antiloop we've tried to dig with this thing - still no luck, so I've prepared updated firmware (http://wl500g.dyndns.org/wl500g-1.7.5.9-5.4.trx) with even more output.

wrong file.. updated now

adar
11-09-2004, 22:06
First, I never find my WAN por dies.

et -i eth1 dump >> test1.txt
dmesg >> test2.txt
then
et -i eth1 dump >> test3.txt

(with 1.7.5.9-5.3)

Thanks for Oleg and Antiloop.

Oleg
11-09-2004, 22:15
adar, thank you for your effort.
But we mostly need an output from the users who experience wan port dies problem. :)

adar
11-09-2004, 22:28
Sorry I forget copy the et.o into /usr/local/root.

post it again.

et -i eth1 dump >> output1.txt
dmesg >> output2.txt
then
et -i eth1 dump >> output3.txt

(with 1.7.5.9-5.3)

Thanks again for Oleg, Antiloop.

adar
11-09-2004, 22:33
Oh, finally I know what you mean.

If I find my WAN port dies , I will post it.

Thanks for help.

wtzm
12-09-2004, 12:43
I could reproduce the "wan port dies" - error with 1.7.5.9-5.4
dump1 and dmesg1 were made before eth1 went down,
dump2 and dmesg2 show the state before 'et -i eth1 promisc 0',
dump3 and dmesg3 were made after eth1 was recovered.

By the way: The attachment is not a zip file but a gzipped tar archive...

Oleg
12-09-2004, 13:12
Thanks. Can you please switch to higher message level using


et msglevel 3

and try again?

wtzm
12-09-2004, 15:00
It seems like eth1 will not die with msglevel 3...
With lower msglevel 2 it died after about 300MB of transferred data; I have
transferred already more than 1 GB and it's still up. Maybe this has something to
do with the fact that the transferrates are much lower with a higher messagelevel.

Oleg
12-09-2004, 15:15
Yes, Antiloop observed the same. But finally it's locked up for him...
Seems to be timing issue, probably a race, or chip feature...

registers are fine when it's locked. dma buffers are ready for new frames. But for some reason rx circuit does not work, while phy does... this looks like a chip bug, but timing issue is strange in this case...

Oleg
12-09-2004, 15:27
Also, kill klogd - things will go faster.

wtzm
12-09-2004, 15:41
dma buffers are ready for new frames. But for some reason rx circuit does not work, while phy does...
strange.

Also, kill klogd - things will go faster.
For me the speed is the same with or without klogd (I also thought it would be faster...)

Jeroen Vonk
18-09-2004, 11:15
Hi Oleg,

First of all, thanx a lot for helping everyone out, great work!

I recently bought my WL500g, and unfortunately also suffer from the dead WAN port after heavy WAN transfers. (600 kbyte+) The ADSL modem is an ADT 816 which of course is 100 mbit autosensing. (afaik :) )

I'v included the debug output you've requested.

If there is anything I can do to help you (eg give you remote access to the router) please let me know.


Thanx in advance,
Jeroen

Oleg
18-09-2004, 20:10
Well, thanks. At the moment I've run number of tests with help of Antiloop, trying to figure out the problem. In fact, this seems to be the bcm47xx hardware problem, I will probably add some workaround code later.

Gersh3
02-10-2004, 11:18
Oleg,

Since my provider exchanged my COM21 for a Motorola 5100 I've been suffering the wan port dies problem. But it didn't happen for quite some time so i didn't pay attention to it.
However since some days (especially when using emule) it happens again. Fixing the speed doesn't seem to help; although recovering the port with "et -i eth1 promisc 0" indeed recovers the port.
So I've spent some time trying and used the commands you mentioned. I have included the files. If you have any questions I will try to answer you as quick as possible.

Regards,

Gersh

Oleg
02-10-2004, 12:32
Well, thanks. I've spend several days trying to fix the problem - still no visible clue for it.
In fact fixing port speed should fix your problems, but you need to use either latest 1.8.x.x ASUS firmware for web settings to have an effect, or manually set port speed using bootCmds or post-boot script like this


et -i eth1 speed 100full

Please check the things like this, it's working for everyone here as seems and it should work for you. :) Please let me know with your findings.

Gersh3
02-10-2004, 13:15
Oleg, thanks for replying that fast!

Tried "et -i eth1 speed 100full" a a result the WAN led stopped blinking and the port died inmediately :(

I found out it only works with:
- 10half
- auto
- promisc 0

I'm still running your 1.7.5.9-5.1 firmware

If I can be of any help, please let me know

Oleg
02-10-2004, 15:36
Oleg, thanks for replying that fast!

Tried "et -i eth1 speed 100full" a a result the WAN led stopped blinking and the port died inmediately :(

You need to wait some time for your modem to determine link speed. It may take minutes or so. Wait until WAN led switches on again.

Gersh3
03-10-2004, 06:53
Waited 15 seconds and indeed WAN port is up and running...
Thx