× Introducing the Orbi 970 Series Mesh System with WiFi 7 technology. For more information visit the NETGEAR Press Room.
Orbi WiFi 7 RBE973
Reply

WG302v2 original firmware restore

Driusha
Aspirant

WG302v2 original firmware restore

Hello!.
After experiments with alternative firmwares, I have decided to return the original. I have downloaded version 5.2.3 from a netgear site, then unpacked, there were two binary files (kernel.bin and rootfs.bin) and some the text files. I tried to flash them with RedBoot console (download via tftp, flash vith "fis create" and then specify the boot script), but during loading, the kernel cannot define jffs2 partition (it wrote something like "can`t find magic block"). So I tried to take advantage of the reset button and plug/unplug the power connector, but the device does not try to undertake anything.

As a result I have access to Redboot console. What can I do to restore my AP?

Forgive me for my poor English.
Message 1 of 31
jmizoguchi
Virtuoso

Re: WG302v2 original firmware restore

you should never unpacked it.

upload as is file. it's is rare to see *.tar file but that is the firmware.

looks like brick the unit.

use TFTP and if you can restore it.. if not you have brick it.
Message 2 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

Sorry, but I don`t understand, where I should upload *.tar file?

WG302v1 can restore firmware itself by pressing reset button for 30 seconds (it download firmware via tftp and flash it automatically) (as I have understood). Is there a similar functional for an WG302v2?
Message 3 of 31
jmizoguchi
Virtuoso

Re: WG302v2 original firmware restore

you login the WG302 interface and upload file as is.. all the firmware if *.tar file as I looked.

ANY devices can reset to factory default ONLY if you have correct firmware. since you load different firmware file reset will NOT going to bring. There is no fail proof when you upload wrong firmware so once it loads up only firmware will load is last you thing uploaded.

ONLY way is to use TFTP (google it) to upload the correct firmware
Message 4 of 31
raru
Aspirant

Re: WG302v2 original firmware restore

I tried an alternate firmware once with my WG302v1 and also had some difficulty restoring the Netgear firmware. This was some time ago but if I remember correctly, getting the Netgear firmware to boot again was just a matter of getting the images written to the correct memory addresses and restoring the original boot script referencing those locations.

This is the image layout and boot script from my WG302v2, firmware 5.2.3. Maybe it will help you if you compare it to yours.

RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0x50000000 0x00080000 0x00060000 0x00080000
RedBoot config 0x507C0000 0x507C0000 0x00001000 0x00000000
FIS directory 0x507E0000 0x507E0000 0x00020000 0x00000000
kernel 0x50060000 0x01900000 0x000C0000 0x01900000
rootfs 0x50120000 0x00800000 0x006A0000 0x00800000


RedBoot> fconfig -l
Base AP MAC Address (Last three bits must be 0): 0x00:0x14:0x6C:0xGG:0xGG:0xGG
Run script at boot: true
Boot script:
.. fis load kernel
.. exec -b 0x01900000 -l 0x00100000 -c "console=ttyS0,9600 root=/dev/mtdblock2 rw rootfstype=jffs2"


PS. Your approach is correct to load the kernel and rootfs images individually via redboot. You can only use the tarball directly when upgrading from a previous Netgear firmware via web interface or TFTP.
Message 5 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

raru wrote:

This is the image layout and boot script from my WG302v2, firmware 5.2.3. Maybe it will help you if you compare it to yours.


Thank you, I will try to flash with correct addresses bit later and announce about results.
Message 6 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

Hello again...

I have tried to flash via redboot with next commands:

RedBoot> fis init -f
RedBoot> ip_address -l 172.16.3.228 -h 172.16.3.89
RedBoot> load -r -b %{FREEMEMLO} kernel.bin
RedBoot> fis create -b 0x01900000 -l 0x000C0000 -e 0x01900000 kernel
RedBoot> load -r -b %{FREEMEMLO} rootfs.bin
RedBoot> fis create -b 0x00800000 -l 0x006A0000 -e 0x00800000 rootfs

And get result:

RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0x50000000 0x50000000 0x00060000 0x00000000
RedBoot config 0x507C0000 0x507C0000 0x00001000 0x00000000
FIS directory 0x507E0000 0x507E0000 0x00020000 0x00000000
kernel 0x50060000 0x01900000 0x000C0000 0x01900000
rootfs 0x50120000 0x00800000 0x006A0000 0x00800000


When I try lo load and exec kernel, I get next message:

RedBoot> fis load kernel
RedBoot> exec -b 0x01900000 -l 0x00100000 -c "console=ttyS0,9600 root=/dev/mtdblock2 rw rootfstype=jffs2"
$T050f:0160000c;0d:0000b340;#40

What does it mean?
Message 7 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

Additional information: If I will try to flash whithout address settings, kernel will try load, but there is a problem too:

Uncompressing Linux.................................................. done, booting the kernel.
Linux version 2.4.27-devicescape.3 (pkishore@lc-rdub-02) (gcc version 3.4.1 20040714 (TimeSys 3.4.1-7)) #2 Wed Oct 3 15:02:28 EDT 2007
CPU: XScale-IXP4xx/IXC11xx revision 2
Machine: Netgear WG302v2
alloc_bootmem_low
memtable_init
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,9600 root=/dev/mtdblock2 rw rootfstype=jffs2
Calibrating delay loop... 419.43 BogoMIPS
Memory: 32MB = 32MB total
Memory: 30724KB available (1137K code, 277K data, 240K init)
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
POSIX conformance testing by UNIFIX
PCI: reset bus 1...
PCI: reset bus 2...
PCI Autoconfig: Found Bus 0, Device 1, Function 0
PCI Autoconfig: BAR 0, Mem, size=0x10000, address=0x4bff0000
PCI: bus0: Fast back to back transfers enabled
wg302v2_map_irq: slot = 0, pin = 1
wg302v2_map_irq: slot = 1, pin = 1
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0xff001003 (irq = 13) is a XScale UART
Software Watchdog Timer: 0.05, timer margin: 60 sec
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
cfi_cmdset_0001: Erase suspend on write enabled
Using buffer write method
Creating 5 MTD partitions on "IXP425 Flash":
0x00000000-0x00060000 : "RedBoot"
0x00060000-0x00120000 : "kernel"
0x00120000-0x007c0000 : "rootfs"
0x007c0000-0x007c1000 : "RedBoot config"
mtd: partition "RedBoot config" doesn't end on an erase block -- force read-only
0x007e0000-0x00800000 : "FIS directory"
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
ip_conntrack version 2.1 (256 buckets, 2048 max) - 320 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Ebtables v2.0 registered
NET4: Ethernet Bridge 008 for NET4.0
ap allocate fine
vap allocate fine
802.1Q VLAN Support v1.8 Ben Greear
Other stuff added by David S. Miller
NetWinder Floating Point Emulator V0.97 (double precision)
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0xd05c in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x05e9 in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0xa884 in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000000c: 0x5c92 in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000010: 0xf406 in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000014: 0xf660 in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000018: 0xed44 in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000001c: 0x37c2 in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000020: 0x1fc1 in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000024: 0xb321 in stead
Further such events for this erase block will not be printed
JFFS2: Erase block at 0x00000000 is not formatted. It will be erased


What can I do in that situation?
Message 8 of 31
raru
Aspirant

Re: WG302v2 original firmware restore

Driusha wrote:
Hello again...

I have tried to flash via redboot with next commands:

RedBoot> fis init -f
RedBoot> ip_address -l 172.16.3.228 -h 172.16.3.89
RedBoot> load -r -b %{FREEMEMLO} kernel.bin
RedBoot> fis create -b 0x01900000 -l 0x000C0000 -e 0x01900000 kernel
RedBoot> load -r -b %{FREEMEMLO} rootfs.bin
RedBoot> fis create -b 0x00800000 -l 0x006A0000 -e 0x00800000 rootfs
I think I would have used -f 0xaddr instead of -e with fis create. Although your image directory list looks correct, so maybe the available blocks matched the desired locations and so the effect was the same? Still you might try it.

When I try lo load and exec kernel, I get next message:

RedBoot> fis load kernel
RedBoot> exec -b 0x01900000 -l 0x00100000 -c "console=ttyS0,9600 root=/dev/mtdblock2 rw rootfstype=jffs2"
$T050f:0160000c;0d:0000b340;#40

What does it mean?
I really don't know but maybe setting entry point (-e) instead of flash addr above is the problem?
Message 9 of 31
raru
Aspirant

Re: WG302v2 original firmware restore

Driusha wrote:
Additional information: If I will try to flash whithout address settings, kernel will try load, but there is a problem too:

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0xd05c in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x05e9 in stead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0xa884 in stead
Looks like magic number identifying the fs not found at the expected addresses. I assume the kernel is looking for the rootfs at a specific address, so if you wrote it somewhere else then it won't find it.
Message 10 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

Its me again :).
Thank you for replies, but I still have a problem :(.

I have understood that -b option for "fis create" specify source memory address ("load" puts image into RAM) for flashing. And now my flash process looks so:

RedBoot> fis init -f
RedBoot> load -r -b 0x01900000 kernel.bin
RedBoot> fis create kernel
RedBoot> load -r -b 0x00800000 rootfs.bin
RedBoot> fis create rootfs

After that manipulations my "fis list" looks so:

RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0x50000000 0x50000000 0x00060000 0x00000000
RedBoot config 0x507C0000 0x507C0000 0x00001000 0x00000000
FIS directory 0x507E0000 0x507E0000 0x00020000 0x00000000
kernel 0x50060000 0x01900000 0x000C0000 0x01900000
rootfs 0x50120000 0x00800000 0x004C0000 0x00800000

(I am confused with length of an rootfs partition).

But when I try to load kernel, I see next messages:

RedBoot> fis load kernel
RedBoot> exec -b 0x01900000 -l 0x00100000 -c "console=ttyS0,9600 root=/dev/mtdblock2 rw rootfstype=jffs2"
Uncompressing Linux.................................................. done, booting the kernel.
Linux version 2.4.27-devicescape.3 (pkishore@lc-rdub-02) (gcc version 3.4.1 20040714 (TimeSys 3.4.1-7)) #2 Wed Oct 3 15:02:28 EDT 2007
CPU: XScale-IXP4xx/IXC11xx revision 2
Machine: Netgear WG302v2
alloc_bootmem_low
memtable_init
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,9600 root=/dev/mtdblock2 rw rootfstype=jffs2
Calibrating delay loop... 419.43 BogoMIPS
Memory: 32MB = 32MB total
Memory: 30724KB available (1137K code, 277K data, 240K init)
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
POSIX conformance testing by UNIFIX
PCI: reset bus 1...
PCI: reset bus 2...
PCI Autoconfig: Found Bus 0, Device 1, Function 0
PCI Autoconfig: BAR 0, Mem, size=0x10000, address=0x4bff0000
PCI: bus0: Fast back to back transfers enabled
wg302v2_map_irq: slot = 0, pin = 1
wg302v2_map_irq: slot = 1, pin = 1
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0xff001003 (irq = 13) is a XScale UART
Software Watchdog Timer: 0.05, timer margin: 60 sec
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
cfi_cmdset_0001: Erase suspend on write enabled
Using buffer write method
Creating 5 MTD partitions on "IXP425 Flash":
0x00000000-0x00060000 : "RedBoot"
0x00060000-0x00120000 : "kernel"
0x00120000-0x005e0000 : "rootfs"
0x007c0000-0x007c1000 : "RedBoot config"
mtd: partition "RedBoot config" doesn't end on an erase block -- force read-only
0x007e0000-0x00800000 : "FIS directory"
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
ip_conntrack version 2.1 (256 buckets, 2048 max) - 320 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Ebtables v2.0 registered
NET4: Ethernet Bridge 008 for NET4.0
ap allocate fine
vap allocate fine
802.1Q VLAN Support v1.8 Ben Greear
Other stuff added by David S. Miller
NetWinder Floating Point Emulator V0.97 (double precision)
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0x1f8b instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x8171 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0x0003 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000000c: 0x6f74 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000010: 0x2e6a instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000014: 0x7332 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000018: 0xfc05 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000001c: 0x5dd3 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000020: 0xe204 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000024: 0x161c instead
Further such events for this erase block will not be printed
Old JFFS2 bitmask found at 0x0000465c
You cannot use older JFFS2 filesystems with newer kernels
JFFS2: Erase block at 0x00000000 is not formatted. It will be erased
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020000: 0xffe1 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020004: 0x4b25 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020008: 0x745d instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0002000c: 0x5bdd instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020010: 0x84e2 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020014: 0x16c3 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020018: 0x497d instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0002001c: 0xa00f instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020020: 0x31e0 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020024: 0x7bc9 instead
Further such events for this erase block will not be printed
Old JFFS2 bitmask found at 0x000297c4
You cannot use older JFFS2 filesystems with newer kernels
Old JFFS2 bitmask found at 0x0002b5ec
You cannot use older JFFS2 filesystems with newer kernels
JFFS2: Erase block at 0x00020000 is not formatted. It will be erased
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040000: 0xff91 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040004: 0x7040 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040008: 0x7ef1 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0004000c: 0x9a26 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040010: 0x3c01 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040014: 0x0b56 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040018: 0x48fe instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0004001c: 0x0ac9 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040020: 0xc423 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040024: 0x91a1 instead
Further such events for this erase block will not be printed
JFFS2: Erase block at 0x00040000 is not formatted. It will be erased
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060000: 0xa6ae instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060004: 0xb97d instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060008: 0xb79e instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0006000c: 0x6eb9 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060010: 0x12c4 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060014: 0x7e22 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060018: 0x7987 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0006001c: 0x93df instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060020: 0x34ab instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060024: 0x1d96 instead
Further such events for this erase block will not be printed
JFFS2: Erase block at 0x00060000 is not formatted. It will be erased
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080000: 0xfe93 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080004: 0xecf9 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080008: 0xfd86 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0008000c: 0xfaed instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080010: 0xbfd5 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080014: 0x6fb1 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080018: 0x5f46 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0008001c: 0xeabf instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080020: 0xf5bf instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080024: 0xd1ef instead
Further such events for this erase block will not be printed
Old JFFS2 bitmask found at 0x00083bf4
You cannot use older JFFS2 filesystems with newer kernels


And so on... In a some time this process stops with kernel panic:

Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
Kernel panic: VFS: Unable to mount root fs on 1f:02


May be I should try older versions of firmware?
I start to get tired :).
Message 11 of 31
raru
Aspirant

Re: WG302v2 original firmware restore

Driusha wrote:
Its me again :).
Thank you for replies, but I still have a problem :(.

I have understood that -b option for "fis create" specify source memory address ("load" puts image into RAM) for flashing. And now my flash process looks so:

RedBoot> fis init -f
RedBoot> load -r -b 0x01900000 kernel.bin
RedBoot> fis create kernel
RedBoot> load -r -b 0x00800000 rootfs.bin
RedBoot> fis create rootfs


And now my flash process looks so:

rootfs 0x50120000 0x00800000 0x004C0000 0x00800000

(I am confused with length of an rootfs partition)
The rootfs image is smaller than the available space in flash memory. If you don't specify the length to fis create it uses the exact size of the image, so you should specify the length.

This is what I would try:
RedBoot> fis init -f
RedBoot> load -r -b %{FREEMEMLO} kernel.bin
RedBoot> fis create -l 0x000C0000 -f 0x01900000 kernel
RedBoot> load -r -b %{FREEMEMLO} rootfs.bin
RedBoot> fis create -l 0x006A0000 -f 0x00800000 rootfs

If you still have no luck it couldn't hurt to try loading the images from a different tftp server (just in case) or try loading the previous firmware revision.
Message 12 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

raru wrote:

This is what I would try:
RedBoot> fis init -f
RedBoot> load -r -b %{FREEMEMLO} kernel.bin
RedBoot> fis create -l 0x000C0000 -f 0x01900000 kernel
RedBoot> load -r -b %{FREEMEMLO} rootfs.bin
RedBoot> fis create -l 0x006A0000 -f 0x00800000 rootfs


Answer from "fis create" with -f:

Invalid FLASH address 0x01900000: Invalid FLASH address
valid range is 0x50000000-0x507fffff


Now I would try to get rootfs image from efficient AP (cat /dev/mtdblock2 -> telnet -> rootfs.bin 🙂 ).
Message 13 of 31
raru
Aspirant

Re: WG302v2 original firmware restore

Oops, sorry.
This is what I meant:

RedBoot> fis init -f
RedBoot> load -r -b %{FREEMEMLO} kernel.bin
RedBoot> fis create -l 0x000C0000 -f 0x50060000 kernel
RedBoot> load -r -b %{FREEMEMLO} rootfs.bin
RedBoot> fis create -l 0x006A0000 -f 0x50120000 rootfs
Message 14 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

Weehoo!
My AP works again!
The the probllem was in rootfs.bin file. This file is not FS image, it was gunzipp`ed FS image! While did developers not named this file rootfs.bin.gz?! I am afflicted :).
Right way to flash WG302v2 with original firmware is:

1. Install TFTP server into your system.
2. Download fresh firmware from netgear.com.
3. Untar it.
4. Degzip rootfs.bin -> rootfs.jffs2
5. In RedBoot:

RedBoot> fis init -f
RedBoot> load -r -b %{FREEMEMLO} kernel.bin
RedBoot> fis create -r 0x01900000 -e 0x01900000 -l 0x000C0000 kernel
RedBoot> load -r -b %{FREEMEMLO} rootfs.jffs2
RedBoot> fis create -r 0x00800000 -e 0x00800000 -l 0x006A0000 rootfs
RedBoot> fconfig
fis load kernel
exec -b 0x01900000 -l 0x00100000 -c "console=ttyS0,9600 root=/dev/mtdblock2 rw rootfstype=jffs2"

6. ???
7. PROFIT!
Message 15 of 31
raru
Aspirant

Re: WG302v2 original firmware restore

Good job! I'm glad you figured it out.
It all makes sense now; why it didn't find the fs magic numbers, why the image was smaller, etc 🙂
Message 16 of 31
Munch
Aspirant

Re: WG302v2 original firmware restore

Hi All

I have a WG 302v2 that has failed, nothing will connect to it and i can not get to the web based admin page. Tonight I have been trying to flash the firmware and see if there is any life left in the unit. I have the unit connected to my computer using a serial cable and have been using the RedBoot in Hyper-Terminal. I have downloaded the most recent firmware 5.2.3 and unzipped it.

Two questions really.

Were do I need to put the unzipped files. Can I leave them on the Desktop or do I have to put them in the Hyper Terminal folder.

Secondly, I had the kernel.bin and the rootfs.jffs2 in the Hyper-Terminal folder and into hyperTerminal i typed
 load -r -b %{FREEMEMLO} kernel.bin 


From that I got

Using default protocol (TFTP)
__udp_sendto: Can't find address of server
Can't load 'kernel.bin': some sort of network error
RedBoot>


Am I doing sum-thing wrong or are the files in the wrong location.

Thanks in Advance

Munch
Message 17 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

Hello!
You need TFTP server (ex http://tftpd32.jounin.net/) on your PC. Plug your AP in same subnetwork whith PC and configure your AP network settings via RedBoot.
Message 18 of 31
Munch
Aspirant

Re: WG302v2 original firmware restore

Even though I need to transfer the data using the RS232 I need to use the TFTP derver listed above?
Message 19 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

RS232 is for console. The firmware transfer realized with LAN via TFTP.
Message 20 of 31
Munch
Aspirant

Re: WG302v2 original firmware restore

So you can't upload through the RS232, only edit setting already on the AP?
Message 21 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

Yes, to configure your AP, you should use next commands:

RedBoot> fis init -f
RedBoot> ip_address -l 172.16.3.228 -h 172.16.3.89


Then you can use command load to download firmware stuff from your PC.
Message 22 of 31
Munch
Aspirant

Re: WG302v2 original firmware restore

So where would I need to type that code, in hyperterminal or in the tftp server?
Message 23 of 31
Driusha
Aspirant

Re: WG302v2 original firmware restore

Munch wrote:
So where would I need to type that code, in hyperterminal or in the tftp server?

In hyperterminal. Put your unzipped firmware in tftpd root, don`t forget to unpack root.bin! Then use instructions in post # 15.
Message 24 of 31
Munch
Aspirant

Re: WG302v2 original firmware restore

Ahhh. Thanks. I will get a chance in a hour to do it and get back if it still dosen't work

thanks
Message 25 of 31
Discussion stats
  • 30 replies
  • 37903 views
  • 0 kudos
  • 6 in conversation
Announcements

Orbi WiFi 7