[Samsung Galaxy Nexus] Klemse:
yet another I/O error with dd block-access

Hi there!

I have a Xperia Mini (St15i), could somehow fix it after a Bootloop by official Unlocking the Bootloader and flashing a new Kernel (MESA).

Then I did a Nandroid Backup but had to realize, that my data.yaffs2.img contains only a clean (new setted 63kb) mmssms.db at \data\com.android.providers.telephony\databases

-- now I would love to get my sms messages back!! :o

Following this manual here (thx to scandiun & Wartickler for sharing their knowledge!) I'm receiving the same problem as few others here, when using adb shell with the command:

dd if=/dev/block/mtdblock3 of=/storage/sdcard0/mtdblock3.raw

it results in I/O error (this appears for all mtdblockX)

and I have no clue why??

In fact the announced, ordinary used /dev/block/mmcblk0 is only available for me when my SDcard is plugged in, so for my case it's obviously the external SDcard...

The log of ls -lR /dev/block is (where the orange one appears with the SDcard):

/dev/block:
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
brw------- 1 root root 7, 0 Jan 6 07:06 loop0
brw------- 1 root root 7, 1 Jan 6 07:06 loop1
brw------- 1 root root 7, 2 Jan 6 07:06 loop2
brw------- 1 root root 7, 3 Jan 6 07:06 loop3
brw------- 1 root root 7, 4 Jan 6 07:06 loop4
brw------- 1 root root 7, 5 Jan 6 07:06 loop5
brw------- 1 root root 7, 6 Jan 6 07:06 loop6
brw------- 1 root root 7, 7 Jan 6 07:06 loop7
[COLOR="DarkOrange"]brw------- 1 root root 179, 0 Jan 6 08:17 mmcblk0[/COLOR]
[COLOR="DarkOrange"]brw------- 1 root root 179, 1 Jan 6 08:17 mmcblk0p1[/COLOR]
brw------- 1 root root 31, 0 Jan 6 07:06 mtdblock0
brw------- 1 root root 31, 1 Jan 6 07:06 mtdblock1
brw------- 1 root root 31, 2 Jan 6 07:06 mtdblock2
brw------- 1 root root 31, 3 Jan 6 07:06 mtdblock3
[COLOR="DarkOrange"]drwxr-xr-x 3 root root 60 Jan 6 07:08 platform[/COLOR]
brw------- 1 root root 1, 0 Jan 6 07:06 ram0
brw------- 1 root root 1, 1 Jan 6 07:06 ram1
brw------- 1 root root 1, 2 Jan 6 07:06 ram2
brw------- 1 root root 1, 3 Jan 6 07:06 ram3
brw------- 1 root root 1, 4 Jan 6 07:06 ram4
brw------- 1 root root 1, 5 Jan 6 07:06 ram5
brw------- 1 root root 1, 6 Jan 6 07:06 ram6
brw------- 1 root root 1, 7 Jan 6 07:06 ram7
drwx------ 2 root root 40[COLOR="DarkOrange"]/80[/COLOR] Jan 6 07:08 vold
brw------- 1 root root 253, 0 Jan 6 07:06 zram0

[COLOR="DarkOrange"]/dev/block/platform:
drwxr-xr-x 3 root root 100 Jan 6 08:17 msm_sdcc.4

/dev/block/platform/msm_sdcc.4:
drwxr-xr-x 2 root root 60 Jan 6 08:17 by-num
[COLOR="DarkOrange"]lrwxrwxrwx 1 root root 18 Jan 6 08:17 mmcblk0 -> /dev/block/mmcblk0[/COLOR]
[COLOR="DarkOrange"]lrwxrwxrwx 1 root root 20 Jan 6 08:17 mmcblk0p1 -> /dev/block/mmcblk0p1[/COLOR]

/dev/block/platform/msm_sdcc.4/by-num:
lrwxrwxrwx 1 root root 20 Jan 6 08:17 p1 -> /dev/block/mmcblk0p1
[/COLOR]
/dev/block/vold:
[COLOR="DarkOrange"]brw------- 1 root root 179, 0 Jan 6 07:08 179:0
brw------- 1 root root 179, 1 Jan 6 08:17 179:1[/COLOR]

It really seams to be mtdblock3, where my disappeard files still shall be...

due command mount results in:

rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,nosuid,noatime,mode=755)
devpts on /dev/pts type devpts (rw,noatime,mode=600)
proc on /proc type proc (rw,noatime)
sysfs on /sys type sysfs (rw,noatime)
tmpfs on /storage type tmpfs (rw,noatime,mode=050,gid=1028)
tmpfs on /mnt/secure type tmpfs (rw,noatime,mode=700)
tmpfs on /mnt/fuse type tmpfs (rw,noatime,mode=775,gid=1000)
/dev/block/mtdblock2 on /cache type yaffs2 (rw,nodev,noatime,nodiratime)
/dev/block/mtdblock0 on /system type yaffs2 (rw,nodev,noatime,nodiratime)
[B]/dev/block/mtdblock3 on /data type yaffs2 (rw,nodev,noatime,nodiratime)[/B]
/dev/block/vold/179:1 on /storage/sdcard0 type vfat (rw,dirsync,nosuid,nodev,noexec,noatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)

Though from another source I found the command cat proc/mtd which results in:

dev: size erasesize name
mtd0: 19000000 00040000 "system"
mtd1: 00600000 00040000 "appslog"
mtd2: 06580000 00040000 "cache"
mtd3: 1a400000 00040000 "userdata"

All these I can copy per dd if=/dev/mtd/mtdX of=/storage/sdcard0/mtdX.raw without any problems! resulting in files of the size: 400mb, 6mb, 101mb, 420mb

But I'm skeptical that those files can help me getting back my lost SMS?!?

Well, after all a look into cat /proc/partitions gives very positive indicaters for that:

major minor #blocks name
31 0 409600 mtdblock0
31 1 6144 mtdblock1
31 2 103936 mtdblock2
31 3 430080 mtdblock3
[COLOR="DarkOrange"] 179 0 30748672 mmcblk0
179 1 30747648 mmcblk0p1[/COLOR]

...in view of the fact that the

file size fits just perfectly

to the mtd0-3-Files above !!

Well, so I went through the whole manual recovery process with mtd3.raw ("userdata") and in fact got at least some files using the Recuva software:

#aes128-.cbc (1kb)

[000001].zip (366kb)___________________-- all of the zips contain: META-INF; res; AndroidManifest.xml; classes.dex; resources.arsc

[000002].zip (13kb)

[000003].zip (13kb)

[000004].zip (17kb)

[000005].png (5kb)

AreaTree.DOM (25kb)

ar-gradi.ent (1kb)

--> the disappointing part is, I can't find

any

useful stuff here (doesn't look like data/data-content anyhow), not to mention no mmssms.db at all...

Any suggestions, please!? :fingers-crossed:

Love the simple tutorial and smooth process, but how to get my hands on (the real) /dev/block/mtdblock3 ???

http://xdaforums.com/galaxy-nexus/general/guide-internal-memory-data-recovery-yes-t1994705