Il mio POCO F3 e’ caduto…. per l’ultima volta.
Pannello completamente nero, schermo morto, touch morto, nessun segno di vita… o meglio solo vibrazioni.
La sostituzione del display compatibile per questo modello costerebbe 50 euro, e comunque il telefono, ormai vecchio, sarebbe finito in un cassetto o nella spazzatura elettronica dopo. Ho speso invece 5 euro per un adattatore USB-A a USB-C (mi serviva solo l’accesso ai dati, non un telefono di nuovo funzionante) e ho recuperato tutto: foto, video, WhatsApp, documenti, usando solo il PC.
Android disegna lo schermo internamente anche se il pannello fisico e’ morto. Basta intercettare quel flusso video prima che arrivi al vetro rotto e proiettarlo su un monitor sano.
Cosa serve prima di iniziare
Questo metodo funziona solo se il debug USB era gia’ stato attivato in passato (per esempio avendo usato Android Studio, o avendo effettuato l’accesso nelle Opzioni sviluppatore prima che si rompesse). Senza quello non c’e’ modo di autorizzare il PC alla cieca. E’ l’unico prerequisito che non si puo’ aggirare.
- adb (Android Debug Bridge) installato sul PC
- scrcpy installato: proietta lo schermo del telefono su una finestra del PC, controllabile con mouse e tastiera
- telefono e PC sulla stessa rete Wi-Fi, per lavorare senza cavo (il touch serve raramente ma il cavo va scollegato e ricollegato spesso)
- pazienza, la fase di autorizzazione USB puo’ richiedere diversi tentativi
Il problema principale: autorizzare alla cieca
Collegare il telefono al PC richiede lo sblocco del pin iniziale. A questo è servito l’adattatore per permettere di collegare una normale tastiera esterna per poter digitare il codice. Se quel PC era gia’ stato autorizzato in passato con “Consenti sempre” al collegamento, una volta inserito il pin, spesso il telefono lo riconosce da solo dopo qualche tentativo, senza bisogno di un vero tap. Lo stato ADB in questa fase oscilla tra authorizing, unauthorized e offline. Quello che ha funzionato e’ stato riavviare il demone ADB ripetutamente, a intervalli brevi (3 secondi), finche’ non si stabilizza su device.
Lo script
#!/bin/bash
# Riconnessione a un telefono con schermo rotto (touch morto, pannello nero).
# 1. Collega il cavo USB al telefono e lascialo attaccato.
# 2. Lancia questo script: aspetta che l'autorizzazione ADB si sblocchi
# (riavvia il server adb ogni 3s per stimolare l'handshake),
# poi attiva ADB via WiFi e apre lo specchio schermo con scrcpy.
# 3. Se il WiFi non si trova entro 3 minuti, fa comunque partire scrcpy via USB.
set -u
SUBNET_PREFIX="192.168.1" # cambia con la tua rete di casa
SCRATCH="${TMPDIR:-/tmp}/poco-f3-recovery"
mkdir -p "$SCRATCH"
echo "== Fase 1: aspetto autorizzazione USB (kick adb ogni 3s) =="
poll_end=$((SECONDS + 900))
last_kick=0
serial=""
got=0
while [ $SECONDS -lt $poll_end ]; do
line=$(adb devices 2>/dev/null | awk 'NR>1 && $2=="device" && $1 !~ /:/{print $1; exit}')
if [ -n "$line" ]; then
serial="$line"
echo "device alle $(date +%H:%M:%S) - serial=$serial - riattivo wifi e tcpip"
adb -s "$serial" shell svc wifi enable >/dev/null 2>&1
sleep 1
if timeout 4 adb -s "$serial" tcpip 5555 2>&1; then
got=1
echo "=== TCPIP ATTIVATO ==="
break
fi
fi
if [ $((SECONDS - last_kick)) -ge 3 ]; then
adb kill-server >/dev/null 2>&1
sleep 1
adb start-server >/dev/null 2>&1
last_kick=$SECONDS
fi
sleep 1
done
if [ $got -ne 1 ]; then
echo "TIMEOUT: il telefono non e' mai passato in stato 'device' via USB."
exit 1
fi
# Nota: il telefono puo' cambiare IP se salta tra le varie reti/bande di casa
# (stesso router, AP o banda diversi). La scansione qui sotto copre tutta la
# sottorete quindi trova il nuovo IP da sola.
echo "== Fase 2: cerco il telefono sulla rete WiFi ($SUBNET_PREFIX.0/24) =="
rm -f "$SCRATCH/open5555.txt"
scan_end=$((SECONDS + 180))
while [ $SECONDS -lt $scan_end ]; do
for i in $(seq 1 254); do
( timeout 0.3 bash -c "echo >/dev/tcp/$SUBNET_PREFIX.$i/5555" 2>/dev/null \
&& echo "$SUBNET_PREFIX.$i" >> "$SCRATCH/open5555.txt" ) &
done
wait
for ip in $(sort -u "$SCRATCH/open5555.txt" 2>/dev/null); do
adb connect "$ip:5555" >/dev/null 2>&1
sleep 1
model=$(timeout 4 adb -s "$ip:5555" shell getprop ro.product.model 2>/dev/null | tr -d '\r')
echo "trovato $ip:5555 -> modello: ${model:-n/d}"
case "$model" in
*"POCO F3"*|*M2012K11*)
echo "=== WIFI OK ($ip) - lancio scrcpy =="
scrcpy -s "$ip:5555" --window-title "Telefono (WiFi)"
exit 0
;;
esac
adb disconnect "$ip:5555" >/dev/null 2>&1
done
rm -f "$SCRATCH/open5555.txt"
sleep 3
done
echo "WiFi non trovato entro 3 minuti - fallback: scrcpy via USB"
scrcpy -s "$serial" --window-title "Telefono (USB)"
Comandi utili una volta dentro
# Diagnosi stato adb devices # Riavviare il demone ADB (a volte sblocca l'handshake bloccato) adb kill-server adb start-server # Attivare ADB via WiFi (solo quando lo stato e' gia' "device" via cavo) adb -s <serial> tcpip 5555 # Collegarsi via WiFi adb connect <ip>:5555 # Aprire lo specchio schermo scrcpy -s <serial-o-ip:5555> # Copiare una cartella dal telefono al PC adb pull /sdcard/DCIM ./backup_dcim # Eseguire un comando senza aprire lo schermo adb shell <comando>
Cosa non ha funzionato
scrcpy –otg (tastiera e mouse simulati via software, protocollo AOA) fallisce con errori tipo “Could not send HID event” o “I/O Error”. Il telefono rifiuta il protocollo a livello di sistema, non e’ un problema di configurazione.
Il DisplayPort Alt Mode via USB-C non e’ supportato dal POCO F3, quindi niente uscita video diretta su TV o monitor tramite adattatore.
Una tastiera USB fisica vera invece, quella dell’adattatore da 5 euro, collegata direttamente al posto del cavo PC, ha funzionato anche a schermo bloccato. Utile per inserire alla cieca il PIN di sblocco, prima ancora che la connessione sia attiva. Occhio pero’: molti telefoni hanno un interruttore OTG che si disattiva da solo dopo 10 minuti di inattivita’, quindi non e’ una soluzione permanente, va riattivato poco prima che serva. Il che potrebbe impedire il riprodurre questa soluzione.
Il resto del lavoro
Con lo schermo proiettato sul PC e controllabile con mouse e tastiera si usa adb pull per scaricare cartelle intere (foto, download, documenti) sul PC. Il telefono si controlla completamente tramite tastiera e mouse del PC direttamente nella finestra scrcpy, una volta inserito il PIN iniziale non serve tastiera fisica per questo, basta la connessione ADB gia’ autorizzata.
La modalita’ Wi-Fi (adb tcpip 5555) non sopravvive a un riavvio del telefono, va riattivata via cavo ogni volta. E alcune app, tipo i generatori di codici OTP, mostrano schermo nero anche nello specchio: e’ FLAG_SECURE, una protezione di sistema che blocca la cattura remota. Giustamente non aggirabile.
Il bilancio
5 euro di adattatore, qualche ora di pazienza con adb che oscilla tra stati di autorizzazione, e ho recuperato tutto: foto, video, chat WhatsApp (il database .crypt15 piu’ recente, non quello di backup vecchio di mesi), documenti. Il telefono poi l’ho ripulito: app disinstallate, account scollegati, ecc… ed infine messo via.
