При попытке считать любой раздел командой
dd if=/dev/block/mtdblock0 of=imagefile
/dev/block/mtdblock0: read error: I/O error
0+0 records in
0+0 records out
0 bytes transferred in 0.002 secs (0 bytes/sec)
<3>[07-26 23:42:15.164166] [41: mtdblockd]msm_nand_read_oob: unsupported ops->len, 512
<3>[07-26 23:42:15.164166] [41: mtdblockd]end_request: I/O error, dev mtdblock0, sector 0
<3>[07-26 23:42:15.164166] [41: mtdblockd]Buffer I/O error on device mtdblock0, logical block 0
<3>[07-26 23:42:15.164166] [41: mtdblockd]msm_nand_read_oob: unsupported ops->len, 512
<3>[07-26 23:42:15.164166] [41: mtdblockd]end_request: I/O error, dev mtdblock0, sector 8
<3>[07-26 23:42:15.164166] [41: mtdblockd]Buffer I/O error on device mtdblock0, logical block 1
<3>[07-26 23:42:15.164166] [41: mtdblockd]msm_nand_read_oob: unsupported ops->len, 512
<3>[07-26 23:42:15.164166] [41: mtdblockd]end_request: I/O error, dev mtdblock0, sector 0
<3>[07-26 23:42:15.164166] [41: mtdblockd]Buffer I/O error on device mtdblock0, logical block 0
Я предположил, что его можно читать только целыми eraseblock'ами, посмотрел их размер в /proc/mtd:
mtd0: 00500000 00020000 "recovery"
Что не так?