I was given a phone that had been dropped and the screen was completely broken. Obviously the phone had four years' worth of photos and videos that had not been backed up. The easiest solution would have been to just pay 189 euros for a screen swap but to me that was out of question. The phone in question was Oneplus Nord 2 5G. It was on but locked. I don't know whether the fingerprint scanner worked given it is located underneath the screen and the screen was pitch black. Once I had successfully downloaded all photos and videos off of the broken phone I tested the other three Android phones we have and had varying results. I should say I was pretty lucky. Out of the four phones tested I would have been able to open three using this methodology. One of the phones didn't work at all with the hub.
As usual, this method should also work on Windows and Mac, but I doubt you can easily monitor log files.
You can skip this part if your fingerprint scanner works or you have a facial recognition. Just make sure the phone is unlocked.
The first part of process is to open the screen lock. Connect the keyboard and mouse to the hub. If you have a monitor, connect that to the hub too. Now connect the phone to the hub. The phone should wake up, perhaps it will play chime or you can see backlights turn on. If the phone doesn't wake up on its own, you need to push the power button. My keyboard has backlights and I noted they also turn on when the phone is connected. Anyway, what is important is that your phone is awake. Now you need to unlock the phone. Use your mouse to swipe up to activate the screen where you typed your PIN. Then use your keyboard to type your PIN. Some phones seem to unlock immediately when the correct PIN is given while others require the user hit the Enter key. Probably best to hit Enter just in case. Now the phone should be unlocked. There is really no way to confirm that.
We seem to only have one phone in the family that supports video out via USB-C so I'm not sure if this works this way universally. Anyway, once the phone has been unlocked, connect the hub to the external monitor. You should again hear a chime but nothing else happens. You now need to be able confirm you want to in fact connect to the external monitor. On my own phone the dialogue appears on the bottom right hand corner of the phone, and the confirmation button is roughly 1 cm from the bottom of the screen. You can try to hit the confirmation button with your finger (i.e. push random locations on the lower right hand corner of the phone screen). If that doesn't work, unplug and re-plug the screen, and try pushing the Enter key. If that doesn't work, maybe a Tab-Enter works. If you're lucky, you'll soon see the phone's desktop on your monitor. If you're this lucky, you can install an app that allows files to be synced somewhere (Autosync is pretty good), enable USB debugging via Developer options to allow ADB connections, set up a SSH server or something similar that allows easy remote access to the phone.
Assuming the external monitor trick didn't work, your only "easy" option is to unplug the phone from the hub and connect the phone to a computer and try to activate the file transfer mode. Before you start, you need to open a terminal and tail -f /var/log/syslog and open Nautilus (I don't know how other file browsers work). Now connect the phone to the laptop and you'll probably see something similar in your syslog window and nothing happens in Nautilus.
Dec 25 20:04:27 computername kernel: [ 1156.219859] usb 1-4: new high-speed USB device number 122 using xhci_hcd Dec 25 20:04:27 computername kernel: [ 1156.347167] usb 1-4: New USB device found, idVendor=22d9, idProduct=2046, bcdDevice= 2.23 Dec 25 20:04:27 computername kernel: [ 1156.347195] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Dec 25 20:04:27 computername kernel: [ 1156.347209] usb 1-4: Product: DN2103 Dec 25 20:04:27 computername kernel: [ 1156.347219] usb 1-4: Manufacturer: OnePlus Dec 25 20:04:27 computername kernel: [ 1156.347231] usb 1-4: SerialNumber: IJH69HAUBE7X7XFI Dec 25 20:04:27 computername kernel: [ 1156.353757] usb 1-4: Quirk or no altset; falling back to MIDI 1.0 Dec 25 20:04:27 computername mtp-probe: checking bus 1, device 122: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4" Dec 25 20:04:27 computername mtp-probe: bus: 1, device: 122 was not an MTP device Dec 25 20:04:27 computername mtp-probe: checking bus 1, device 122: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4" Dec 25 20:04:27 computername mtp-probe: bus: 1, device: 122 was not an MTP device
If you can't see any new mounted locations on Nautilus, it means your phone defaulted to the charge mode and the file transfer mode needs to be activated separately. However, you may want to double check this by running "gio" in a separate terminal session. Run "gio mount -li | grep activation_root" without double quotes. You may see something but likely nothing that in any way references to your phone / phone model. If you do, then your phone is ready but you just don't have the software (and I have no idea what is missing).
It seems different Android versions work differently. My Pixel 8 requires me to swipe down and then click on a notification and from there to choose file transfer mode. I'm gonna say that would be pretty difficult to do blindly. Luckily, the Oneplus shows options on its screen when you plug the cable to the phone and it is just a matter of being able to push to correct location on the screen. I'm probably not lying if I say, I tried over 50 times before I hit the correct location. Obviously you need to unplug and re-plug the cable between every attempt. Keep an eye on your syslog and Nautilus windows. If you should see the same message as above but without the mtp-probe errors and a new mounted location appears in your Nautilus window, you've nailed it. Since there are several options that allow file transfers, I suggest running "gio mount -li | grep activation_root" again. It can say e.g.
activation_root="gphoto2://OnePlus_DN2103_IJH69HAUBE7X7XFI/
or it can say
activation_root=mtp://Google_Pixel_8_Pro_XXXXXXXXXXX/

Succesfully mounted phone in MTP mode.
Now you're almost done. There are now several ways you can download the files. You can use Nautilus, just navigate to the photos folder and copypaste files somewhere (just makes sure you have enough space), if you're in gphoto2 mode, you can use "gphoto2" (see its options), or mount the folder somewhere using jmtpfs. I suggest using rsync to copy as you may experience snags and rsync is really good at detecting if something wasn't transferred properly.
I tested four phones. Three of them have working screens and were therefore quite easy to test.
| Model | Outcome |
|---|---|
| Pixel 8 pro | Would've been able to rescue using external monitor and then with adb/Autosync/SSH server, but not using the USB cable transfer method as you need to be able to toggle the correct mode from the notifications bar. |
| Oneplus Nord 2 5G | As described above. |
| Samsung A16 5G | As described above. |
| Oneplus Nord CE 2 Lite 5G | Didn't work with the hub at all. |