OpenWrt Forum Archive

Topic: WRT54G V 2.0 flashes via tftp but doesnt boot anyway

The content of this topic has been archived on 23 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Brick or not a Brick - please help !!!
Hi,
I flashed an OpenWRT in my WRT54G V2.0 and tried to flash anoter firmware over tftp but ter must be an failure so the PowerLED does not stop flashing after a restart.
To find out what happens I connected an Serial Interface to the console and looked after the Boot Process.
...
"Boot Program checksum is invalid"
...
Reading :: Failed ::Timeout occured
...
CFE>
I ensured to set the boot_wait=on

OK

So I tried to upload an Linksys Firmware V2.02 US (Size <3MB) via tftp
my Client told my that all the Bytes were sent propperly and the serial Console said CODE pattern is correct and started programming to fname=flash1.trx
Programming...done. 2929632 bytes written
after that the router did not come up and showed the
Error Message:
Loading: 376832 bytes read
Failed.
Could not load flash0.os:: Error


So my Questions:
How can I fix my Router?
or if it´not that easy answered...

How can I Flash an flash0.os, how do i obtain an working flash0.os?
Where do I find a Description about the Devices and their contents?

Who has experiences in fixing the complete Flash Devices

Will I be Happy after soldering  an JTAG aund using it?
and How?

Thanx in Advance - It´s hard to get an V2.0 these days.

If you've got a serial interface, you're well on your way to a fully working WRT54 - can't wait till some sensible manufacturer makes them like this off the shelf.

Re: Your problems flashing, see post http://openwrt.org/forum/viewtopic.php?id=1523

Things that might make the difference:
1 - setting rexmt to 1
2 - using binary mode/not text

I've found the CFE ethernet driver for the V2.2's as flakey as the kernel driver, if the CPU isn't slightly overclocked.
This causes random TFTP aborts, and transfer errors which isn't always visible without turning on the TFTP verbose, and trace options.

If you have a serial console, do an nvram set clkfreq=216 in the CFE, and see if your TFTP's work better.

Hi
Thanks for your replies!
so first i Tried the tftp script:
after setting boot wait I Powered on the Device...
and uploaded the file (identical size below as the .bin file)

CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Fri Feb 27 15:23:38 CST 2004 (root@honor)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena.
Initializing Devices.
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.50.21.0
CPU type 0x29007: 200MHz
Total memory: 0x2000000 bytes (32MB)

Total memory used by CFE:  0x80334DC0 - 0x8043A310 (1070416)
Initialized Data:          0x80334DC0 - 0x80336F40 (8576)
BSS Area:                  0x80336F40 - 0x80338310 (5072)
Local Heap:                0x80338310 - 0x80438310 (1048576)
Stack Area:                0x80438310 - 0x8043A310 (8192)
Text (code) segment:       0x80300000 - 0x8030F220 (61984)
Boot area (physical):      0x0043B000 - 0x0047B000
Relocation Factor:         I:00000000 - D:00000000

Boot version: v2.3
The boot is CFE

mac_init(): Find mac [00:****] in location 1
Nothing...
Device eth0:  hwaddr 00****, ipaddr 192.168.1.1, mask 255.255.255.0
        gateway not set, nameserver not set
Boot program checksum is invalid
Reading :: CODE Pattern is CORRECT!
upgrade_ver[v2.0.8] upgrade_ver[20008] 4712_ver[15000]
Done. 2929664 bytes read
fname=flash1.trx
CODE Pattern is correct!
Programming...done. 2929632 bytes written
Loader:raw Filesys:raw Dev:flash0.os File: Options:(null)
Loading: .. 376832 bytes read
Failed.
Could not load flash0.os:: Error
CFE>

but still no Luck...

How can I flash the flash0.os, has anyone a working image?

(Last edited by PietR on 18 May 2005, 19:03)

Hi, here is the next trial with the Overclocking - still no Luck!

nvram get clkfreq
200
*** command status = 0
CFE> nvram set clkfreq=216
*** command status = 0
CFE> nvram commit
*** command status = 0
CFE> nvram set boot_wait=onn
*** command status = 0
CFE> nvram commit
*** command status = 0
CFE> nvram show
os_ram_addr=80001000
il0macaddr=00:90:******
boardrev=0x10
et0macaddr=00:0F:*******
watchdog=5000
boot_wait=on
et0mdcport=0
pmon_ver=CFE 3.51.21.0
gpio2=adm_eecs
gpio3=adm_eesk
vlan0ports=1 2 3 4 5*
gpio5=adm_eedi
gpio6=adm_rc
os_flash_addr=bfc40000
sromrev=2
boardtype=0x0101
lan_netmask=255.255.255.0
wl0id=0x4320
ag0=255
wl0gpio2=0
wl0gpio3=0
boardflags2=0
pa0itssit=62
cctl=0
pa0maxpwr=0x48
clkfreq=216
lan_ipaddr=192.168.1.1
aa0=3
vlan1hwname=et0
sdram_config=0x0032
vlan1ports=0 5
scratch=a0180000
ccode=0
boardflags=0x0188
sdram_refresh=0x0000
sdram_ncdl=0x21
et0phyaddr=30
pa0b0=0x170c
pa0b1=0xfa24
pa0b2=0xfe70
sdram_init=0x0000
vlan0hwname=et0
dl_ram_addr=a0001000
boot_ver=v2.3
boardnum=42
size: 730 bytes (32038 left)
*** command status = 0
CFE>
###Power OFF###
CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Fri Feb 27 15:23:38 CST 2004 (root@honor)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena.
Initializing Devices.
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.50.21.0
CPU type 0x29007: 252MHz
Total memory: 0x2000000 bytes (32MB)

Total memory used by CFE:  0x80334DC0 - 0x8043A310 (1070416)
Initialized Data:          0x80334DC0 - 0x80336F40 (8576)
BSS Area:                  0x80336F40 - 0x80338310 (5072)
Local Heap:                0x80338310 - 0x80438310 (1048576)
Stack Area:                0x80438310 - 0x8043A310 (8192)
Text (code) segment:       0x80300000 - 0x8030F220 (61984)
Boot area (physical):      0x0043B000 - 0x0047B000
Relocation Factor:         I:00000000 - D:00000000

Boot version: v2.3
The boot is CFE

mac_init(): Find mac [00:****] in location 1
Nothing...
Device eth0:  hwaddr 00-**** ipaddr 192.168.1.1, mask 255.255.255.0
        gateway not set, nameserver not set
Boot program checksum is invalid
Reading :: CODE Pattern is CORRECT!
upgrade_ver[v2.0.8] upgrade_ver[20008] 4712_ver[15000]
Done. 2929664 bytes read
fname=flash1.trx
CODE Pattern is correct!
Programming...done. 2929632 bytes written
Loader:raw Filesys:raw Dev:flash0.os File: Options:(null)
Loading: .. 376832 bytes read
Failed.
Could not load flash0.os:: Error
CFE> nvram set clkfreq=200
*** command status = 0
CFE> nvram commit
*** command status = 0
CFE> reboot

(Last edited by PietR on 18 May 2005, 19:02)

Hi,
i found it out!!
To get a tftp I shorted Pin 15 and 16 of the flash with a Multimeter and Must have made a permanent connection with it.
After I warmed it with a soldering Iron I could flash it as promised. Now I can go for new Adventueres - Thanks!
p.

PietR wrote:

Hi,
i found it out!!
To get a tftp I shorted Pin 15 and 16 of the flash with a Multimeter and Must have made a permanent connection with it.
After I warmed it with a soldering Iron I could flash it as promised. Now I can go for new Adventueres - Thanks!
p.

You, sir...

...ARE MY FREAKING HERO!!!!!

After this debacle, I was sure that I had just managed to flush the money used to purchase my Trendnet router down the toilet and had despaired of ever managing to fix the router.

However, after I read your post, I figured, what have I got to lose?

I took a tack, and used it to scrape between the spaces of the pins I had been shorting earlier with a small "jewlers" screwdriver, just to make sure that there was no material in between that would be causing a short.  Then I brought out the soldering iron and ever-so-gently tried to warm up the solder just in case there was a break in the connection or a cold solder joint or something.

I plugged it in, hooked the JTAG cable up, and BOY, was I ever surprised and relieved to see that it was ACTUALLY READING AND WRITING DATA!!!!  IT'S ALIVE!!  And now that I have the JTAG soldered on, I can go about fixing my earlier mistake that started this whole mess.

Thank you!!

-- Nathan

The discussion might have continued from here.