I have an old airRouter which seemed bricked. I connected up a console to the jtag port and am able to access the ar7240 prompt.
First thing I notice is that the mtdparts output is missing some lines:
device nor0 <ar7240-nor0>, # parts = 6
#: name size offset mask_flags
0: u-boot 0x00040000 0x00000000 0
1: u-boot-env 0x00010000 0x00040000 0
2: kernel 0x00100000 0x00050000 0
3: rootfs 0x00660000 0x00150000 0
4: cfg 0x00040000 0x007b0000 0
5: EEPROM 0x00010000 0x007f0000 0
Comparing with another airRouter I have that is working, I added the missing lines:
mtdparts del nor0,5
mtdparts del nor0,4
mtdparts del nor0,3
mtdparts add nor0 0x660000@0x150000 rootfs
mtdparts add nor0 0x490000@0x320000 rootfs_data
mtdparts add nor0 0x40000@0x7b0000 cfg
mtdparts add nor0 0x10000@0x7f0000 EEPROM
mtdparts add nor0 0x760000@0x40000 firmware
setenv mtdparts mtdparts=ar7240-nor0:256k(u-boot),64k@256k(u-boot-env),1m(kernel),6528k(rootfs),4672k@3200k(rootfs_data),256k(cfg),64k(EEPROM),7552k@256k(firmware)
then save the environment
saveenv
ar7240> mtdparts
device nor0 <ar7240-nor0>, # parts = 7
#: name size offset mask_flags
0: u-boot 0x00040000 0x00000000 0
1: u-boot-env 0x00010000 0x00040000 0
2: kernel 0x00100000 0x00050000 0
3: rootfs 0x00660000 0x00150000 0
4: rootfs_data 0x00490000 0x00320000 0
5: cfg 0x00040000 0x007b0000 0
6: EEPROM 0x00010000 0x007f0000 0
active partition: nor0,0 - (u-boot) 0x00040000 @ 0x00000000
defaults:
mtdids : nor0=ar7240-nor0
mtdparts: mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),1024k(kernel),6528k(rootfs),256k(cfg),64k(EEPROM)
load openwrt on it which seems to work, However, anything I write to the overlay filesystem goes away when I reboot! Getting back into the ar7240 prompt again, mtdparts shows it's now back to the defaults. It's as if it's not saving.
I have 6 routers which are in this state. Can they be saved?