During our incredibly long, 5 days vacation, on the very first day Nora's Galaxy S4 fell and with this final, rather heavy crack, the screen went completely dead. For my surprise, the phone itself was working well, given it woke us up at 4 am, which was slightly unexpected.
Normally I have my laptop paired with ADB, but due to recent laptop changes I forgot this step, so I was left without any connection to the phone, as MTP requires the screen to be unlocked.
Plugging in an external display with an MHL cable didn't work either, so I decided to flash a custom recovery and try to pull via adb - for my surprise, it worked.
Get Heimdall and adb
All commands are executed as root.
You'll need the following on Debian:
apt install heimdall-flash android-tools-adb
Normally, instead of heimdall
, it would be
fastboot
, but not for a Samsung phone.
Flash TWRP recovery in Odin mode
- disconnect USB
- remove battery
- insert battery
- Hold
volume down
+power
until it vibes for 1 time - press
volume up
. - connect the USB cable
See if the device is visible:
heimdall detect
Device detected
If you're good to go, get the TWRP recovery; in my case, the device is an i9505, codenamed 'jfltexx'.
Make sure you're getting the right image for your device model.
cd /tmp
wget https://eu.dl.twrp.me/jfltexx/twrp-3.1.1-0-jfltexx.img
When you have the image, flash it:
heimdall flash --RECOVERY /tmp/twrp-3.1.1-0-jfltexx.img --no-reboot
When you're using --RECOVERY
, there is no need to
download the PIT file and to look for the recovery partition.
- remove USB
- remove the battery
Boot recovery
- hold
volume up
+power
until it vibes - release
power
immediately - keep holding
volume up
for 1-2s more
Verify you have connection: (it takes a few seconds for recovery to boot, be patient)
adb usb
adb devices
List of devices attached
d910339a recovery
Save the data
adb pull -a /sdcard/ /where/you/want/to/save/
This can take a while; also, make sure you have enough space on the device you're saving to.
Wipe the personal data
adb shell
twrp wipe data
twrp wipe cache
twrp wipe dalvik
reboot recovery
The last step reboots the device back to recovery; that is to make sure there is no cached filesystem data.
Once it's back:
adb shell
ls -la /sdcard
drwxrwx--- 3 media_rw media_rw 4096 Jan 1 00:25 .
drwxr-xr-x 24 root root 0 Jan 1 00:28 ..
drwxrwxrwx 2 root root 4096 Jan 1 00:25 TWRP
ls -la /data/
drwxrwx--x 4 system system 4096 Jan 1 00:16 .
drwxr-xr-x 24 root root 0 Jan 1 00:28 ..
-rw------- 1 root root 2 Jan 7 1970 .layout_version
drwxrwx--- 2 root root 4096 Jan 7 1970 lost+found
drwxrwx--- 5 media_rw media_rw 4096 Jan 7 1970 media
If it's all clear, it's safe to put it up for a £0.99 auction on eBay.
(Oh, by the way: this entry was written by Peter Molnar, and originally posted on petermolnar dot net.)