Posted: Thu May 08, 2014 9:25 Post subject: [Solved] fis init fails for fonera
Following http://www.dd-wrt.com/wiki/index.php/LaFonera_Software_Flashing
I am trying to install DD-WRT on an old fonera 2100 through serial cable.
Unfortunately, the operation fails from one of the most basic commands: fis init.
It simply hangs on the erase operation.
Searching the forum and googling things around I found a number of people facing various complications, but not a single post regarding fis init hanging.
I am afraid this is a hardware failure, but before I throw it away, I wanted to ask if anyone ever faced similar problems in the past.
Here is what the log looks like:
Code:
+**Warning** FLASH configuration checksum error or invalid key
Use 'fconfig -i' to [re]initialize database
PHY ID is 0022:5521
... waiting for BOOTP information
Ethernet eth0: MAC address 00:18:84:2a:94:44
Can't get BOOTP info for device!
RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version v1.3.0 - built 16:57:58, Aug 7 2006
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Board: ap51
RAM: 0x80000000-0x81000000, [0x80040450-0x80fe1000] available
FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa87e0000-0xa87f0000:
It just sits there, doing nothing, even after over an hour waiting (I then have to reboot the device).
fis init -f fails half way through, manually executing fis erase -f 0xa87e0000 -l 0x10000 behaves exactly the same as fis init. After multiple 30-30-30 I am still stuck at the same step, and attempting to skip fis init did not help as other operations attempt to execute erase commands as well.
Code:
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
0xA8000000 0xA8000000 0x00030000 0x00000000
0xA87E0000 0xA87E0000 0x0000F000 0x00000000
0xA87EF000 0xA87EF000 0x00001000 0x00000000
RedBoot> fconfig -i
Initialize non-volatile configuration - continue (y/n)? y
Run script at boot: false
Use BOOTP for network configuration: true
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000:
this will do a full format
be aware that this command can take a while...
Thanks for the reply.
It has been stuck on the 106th dot for about 15 minutes now:
Code:
RedBoot> fis init -f
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa8030000-0xa87e0000: ..........................................................................................................
After a restart, fis list shows absolutely nothing now, though.
Isn't it supposed to return to the console after it is done? I still feel like something is not completed properly.
Anyhow, any operation from there on (fis init, fconfig -i, etc...) begins with an attempt to erase 0xa87e0000-0xa87f0000 which systematically leaves me with a stuck terminal (understand apparently fails)
I will try to run
Code:
load -r -b 0x80041000 linux.bin
without calling fis init directly before and leave things running for a while (in case it is just a problem of no screen feedback), but I am afraid it won't even get to the flashing part...
RedBoot> load -r -b 0x80041000 linux.bin
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x806d1fff, assumed entry at 0x80041000
RedBoot> fis create linux
... Erase from 0xa8030000-0xa86c1000: ..........................................................................................................
... Program from 0x80041000-0x806d2000 at 0xa8030000:
I'll let it run for about an hour, but considering I've done that before creating this thread, and got nowhere, I am afraid I'm back to where I started.
FYI here is what I found out:
The display gets stuck upon erase operations (for some reason) but the operation is actually running (as in the background)
So it is just a matter of the terminal appearing disconnected.
The second thing is: if you kill putty and try to connect back after the operation completed, you get the prompt back (no reboot as long as you leave the fonera connected to the power cable)
So it feels a bit like blind navigation here, but basically, with a little patience, every step is feasible (especially since you can always check the state of your fonera with commands such as fconfig -l or fis list)
So in the end, it took way longer than it should have (having no real time feedback on the completion of each operation) but since the job got done, I could eventually get DD-WRT installed and running.
Thank you all for taking the time to read this post.
I will mark it as solved (though I have to admit I still don't know why the erase operations become unresponsive)