Quantcast
Channel: Linux Device Hacking - uBoot
Viewing all articles
Browse latest Browse all 923

Pogoplug V4 original MTD partitions (2 replies)

$
0
0
Since a lot of people have been getting the Pogo V4/Mobile lately, just thought I'd repost the download link to one of my Pogo V4s original MTDs here. In case anybody wants to revert to stock, and can't do it because they have already installed newer U-Boot.

Dowload at Dropbox:
pogoplug_v4_mtd_original.tar.bz2
md5
064a298c89ae5a1b207061e11b401930

You only need to use mtd0 to restore u-boot. And that's enough to go back to stock. Other mtds are included in the tarball just in case the whole NAND needs to be restored :)

And if you use these mtd partitions to restore, please remember to reset the cesvcid to your own number :), and also reset ethaddr to your own box, so that you can continue using Pogoplug service. The environment variable looks like this:
cesvcid=V88XBRRLWPC9WYGQxxxxxxxxx

How to restore:
=============

Warning: Don't do this if you have any bad block in these MTD partitions, especially mtd0 (check your dmesg). And also do this at your own risk, it's highly recommended that you have serial console attached to recover from any bad flash.

The original mtd0 was saved using the following nanddump command:

/tmp # ./nanddump -nf usb/mtd0 /dev/mtd0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00200000...

So in order to restore mtd0 back, you can use flash_erase and nandwrite. Below are actual flashing and output. Your output should look exactly like these. If not, don't reboot, and post the question here.

1. make sure the mtparts are correct
# fw_printenv mtdparts
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
2. Erase mtd0:
#flash_erase /dev/mtd0 0 16
Erase Total 16 Units
Performing Flash Erase of length 131072 at offset 0x1e0000 done
3. Write mtd0 backup file back to NAND:
# nandwrite -on /dev/mtd0 mtd0
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
Writing data to block 4 at offset 0x80000
Writing data to block 5 at offset 0xa0000
Writing data to block 6 at offset 0xc0000
Writing data to block 7 at offset 0xe0000
Writing data to block 8 at offset 0x100000
Writing data to block 9 at offset 0x120000
Writing data to block 10 at offset 0x140000
Writing data to block 11 at offset 0x160000
Writing data to block 12 at offset 0x180000
Writing data to block 13 at offset 0x1a0000
Writing data to block 14 at offset 0x1c0000
Writing data to block 15 at offset 0x1e0000

If you need to restore mtd1 to mtd4, then calculate the number of blocks for each mtd (i.e. a block is 128K, 1M is 8 blocks).

Viewing all articles
Browse latest Browse all 923

Latest Images

Trending Articles



Latest Images