Ok, this is really weird!
1) viewmem and devmem, both works "for a little while", then nothing.
Is there a memory Watchdog in here?
2) When trying "higher" than mem locations like 0x10000, TV crashes!
Because of time limit, I had to write a script to dump when using devmem, and it shows the same data as viewmem. For the same reason as above, I can't read arbitrary memory locations...
viewmem 0x100 0x100 + hexedit
Code: Select all
00000000 A1 61 16 E0 16 5F 6F E1 1C 73 9F E5 A1 76 17 E0 06 80 A0 E1
00000014 18 B5 8A E1 17 B2 8B E1 56 BF 07 EE 01 80 58 E2 FA FF FF AA
00000028 01 70 57 E2 F7 FF FF AA 02 A0 8A E2 0A 00 53 E1 E4 FF FF CA
0000003C 0E C0 A0 E1 0C F0 A0 E1 00 00 00 00 00 00 00 00 00 00 00 00
devmem dump of 1024 bytes (8-byte hex per line, starting at 0x100)
Code: Select all
0xE16F5F16E01661A1
0xE01776A1E59F731C
0xE18AB518E1A08006
0xEE07BF56E18BB217
0xAAFFFFFAE2588001
0xAAFFFFF7E2577001
0xE153000AE28AA002
0xE1A0C00ECAFFFFE4
0x00000000E1A0F00C
...
<zero>
...
0xE3A06001E59F5028
0xE3A060F0E5856000
0xE59FC018E5856004
0xE58CB000E3A0B0FF
0x00000478EA000004
0x00007FFF000003FF
0x1F20674416000100
0xE59FC028E320F003
0xE2000003E59C0000
0x1AFFFFEBE3500000
0xE59C0000E59FC018
0xE59C1000E59FC00C
0xE1A0F002E0812800
0x1F206744E59FF004
0x000004681F206740
0xE280000AE59F0014
0xE59FC00CEB0006C3
0xE58CB000E3A0B003
0x00001D7CEA000001
0xE59FC0081F206700
0xE58CB000E3A0B004
0x1F005788EA000000
0xE59FB008E59FC008
0xEA000001E58CB000
0x00003C111F00578C
0xE3A0B010E59FC008
0xEA000000E58CB000
0xE59FC0081F005790
0xE58CB000E59FB008
0x1F005794EA000001
0xE59FC0080000403C
0xE58CB000E59FB008
0x1F005798EA000001
I'm not sure this will help you find the right location...
I about to give up on this, because I'm not getting anywhere with this. This is too bad, because this is really needed to solve several other eMMC problems in Samsung devices. For example see
THIS XDA thread. The guy there use a very similar method to patch
mmc.c (et.al.) to make a loadable kernel module that dumps the eMMC memory to a new device. This is way beyond my abilities...
Xorloser's method, is much easier, once the in-memory patching has been done. However, this kind of patching is not very portable as we see here... I think a combination of these methods should be doable, to produce something that is portable and easy to use.