Hello! I'm new here, and very happy to have found this community. I have s 2018 Touch HD2, and the internal SD card is slowly dying - I've had several issues with opening books, with the device returning back to the main screen after clicking on a given book. Luckily for the moment I have managed to remedy it by running a check for errors on the micro SD card on my laptop running Linux (Incidentally, I couldn't manage to fix it on a windows machine) but definitely the days of the card are slowly numbered and I need replace it.
Now there is a wonderful thread about replacing SD cards on a 626, which sadly does not work on the Touch HD2, the fact that both Touch HD and Touch HD2 share a model number (631) does not help either (Thanks Pocketbook). So I want to share all that I've managed to find out, and I need some help choosing a path to move forward.
First, the specs of my device:
Code:
Software version: U631.5.20.1527
device serial: NX280100109600W000X8
card serial: 0x6d019585
.freezestatus contents (hex): E9 A5 5D 50
What I've tried:
replace reading serial invocation with a file call as described in luators blog:
https://luator.de/linux/2019/11/23/p...ce-memory.html
replace .freezestatus contents using the perl script as described here:
https://www.mobileread.com/forums/sh...&postcount=195
sadly neither (and not both combined) worked for me for the Touch HD2, although I can confirm that my .freezestatus code is the same as the one generated by the perl script.
It seems that the internal structure is different, it has four partitions instead of 10 like in previous versions:
Code:
Command (m for help): p
Disk /dev/mmcblk0: 7.4 GiB, 7948206080 bytes, 15523840 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 71680 198655 126976 62M 83 Linux
/dev/mmcblk0p2 198656 1017855 819200 400M 83 Linux
/dev/mmcblk0p3 1017856 1222655 204800 100M 83 Linux
/dev/mmcblk0p4 1222656 15523839 14301184 6.8G c W95 FAT32 (LBA)
p2
p3
Then I tracked how does the monitor.app reads the serial code using ghidra
monitor.app
↓
function ioc_getdserialnumber()
↓
function iocf_request(...)
↓
file libioc.so
↓
blob
this is how monitor.app retrieves the device serial number
I tried using AI to explain what I'm seeing, but no dice. I think this is a dead-end
European pocketbook branches suggested me just buying a new device with a discount, while pocketbook.ru was indeed more helpful, offering such a service, sadly they require having a russian bank account, and even if they didn't it would be a problem conducting business with them for political reasons. but the interesting thing they mention is that they would need a screen cable photo?? (translated)
And here is now, on Monday I'm going to contact one more repair shop, this time from Ukraine, they have a youtube channel, hopefully I can gather more information, but I don't know the best way to proceed for now.
1. Should I continue digging in monitor.app, looking for ways to stub the original values? Could that work?
2. Should I try getting root on the device using this method, it seems to be confirmed to work for Touch HD2 ? I use linux at work, but I'm not fluent in the deep end of it. Maybe some avenues would open up if I had root access?
3. Are there any other avenues I could try?