il fastboot non funziona sul mio Nexus 4


8

Sto cercando di eseguire il root del mio N4 e il fastboot non sembra funzionare. Eseguendolo su Linux, e il binario fastboot sembra funzionare.

"Fastboot devices" produce informazioni sul mio dispositivo, ma "fastboot oem unlock" fa eco "..." e si blocca. Non ricevo al telefono la richiesta di sblocco. Si blocca solo fino a quando non riavvio il bootloader, a quel punto echeggia Fastboot "FAILED (scrittura comando non riuscita (Impossibile inviare dopo l'arresto dell'endpoint di trasporto)"

Anche altri comandi di avvio rapido non sembrano funzionare. 'riavvio rapido' fa eco a 'riavvio ...' ma poi non succede nulla.

Ho provato questo con e senza il debug USB abilitato. Qualche idea?

Sto iniziando a pensare che le porte USB sulla mia macchina potrebbero essere saltate. Questa mattina, la macchina non ha riconosciuto un iPod collegato a Windows sulle porte USB anteriore o posteriore della mia macchina. Sto lavorando al telefono su Linux e / var / adm / messages mostra cose che accadono quando collego il dispositivo. Immagino che i "dispositivi fastboot" non accedano di fatto al dispositivo - guarda solo i tipi di dispositivo rilevati dal sistema operativo quando lo hai collegato, no? Posso leggere dalla porta USB ma non riesco a scriverla?

Bene, sembra che fossero le mie porte USB. Ho trovato un vecchio laptop, l'ho avviato su un CD live di Ubuntu e da lì sono stato in grado di eseguire il root del telefono. Scusa per tutto il dramma. Strano che le mie porte USB siano morte proprio in questo momento, ma a pensarci bene, hanno funzionato lentamente di recente - gPodder aveva impiegato pochi minuti per copiare i podcast sul mio iPod. Immagino sia stato un graduale fallimento.


Prova a eseguire fastboot come root (sudo fastboot devices)
Liam W

No, sudo non aiuta. Per quello che vale, ho fatto una coda -f su / var / log / messages quando ho avviato il bootloader. Uscita di seguito, che termina con il numero di serie, che corrisponde a quali "dispositivi di avvio rapido" vengono stampati.
littlenoodles,

La roba / var / log / messages è troppo lunga per essere inserita qui. Ma fondamentalmente cerca e non riesce a rilevarlo come un dispositivo USB 3-5, quindi cerca come USB 2-2 e ha esito positivo.
littlenoodles,

localhost klogd: usb 2-2: nuovo dispositivo USB a tutta velocità usando ohci_hcd e indirizzo 6 localhost klogd: usb 2-2: trovato nuovo dispositivo USB, idVendor = 18d1, idProduct = 4ee0 localhost klogd: usb 2-2: nuove stringhe di dispositivi USB : Mfr = 1, Product = 2, SerialNumber = 3 localhost klogd: usb 2-2: Prodotto: Android localhost klogd: usb 2-2: Produttore: Google localhost klogd: usb 2-2: SerialNumber: 006ef4fae094444f
littlenoodles

Un'altra cosa (strana?). Ho provato a selezionare il ripristino dal bootloader ed è andato a una schermata di ripristino bloccata con il messaggio "nessun comando trovato". È spaventoso? Da lì sono stato di nuovo in grado di tornare al bootloader con il vol-down, power combo.
littlenoodles,

Risposte:


5

L'indizio sta nel commento sopra, ma ho appena provato 'adb reboot bootloader', e ha funzionato. che mostra che adbsta effettivamente riconoscendo la connessione USB, ma non in modalità di avvio rapido che è dove questa risposta arriva ...

Sembra che la regola udev per l'avvio rapido sia assente!

Fai questo: lsusbcon il cavo collegato mentre il portatile è in modalità di avvio rapido.

L'output tipico dovrebbe essere simile a questo:

Bus 001 Dispositivo 012: ID 18d1: d00d Google Inc.

                     ^^^^ ^^^^

L'identificatore dei numeri 18d1:d00dcorrisponde rispettivamente a idVendor : idProduct .

Prendine nota e controlla le tue regole udev trovate in /etc/udev/rules.d/51-android-rules. (Il chilometraggio varierà leggermente con le diverse distribuzioni Linux! )

Se non si dispone di questo file, si consiglia di crearne uno utilizzando root, potrebbero essere necessarie alcune regole da aggiungere a seconda della modalità del telefono, ovvero delle modalità normali, di ripristino e del caricatore di avvio.

Ecco un mio esempio, che ha valori diversi rispettivamente quando il portatile si trova in una di queste modalità. Prendi questo come modello e modifica i numeri come mostrato che corrispondono rispettivamente a idVendor e idProduct per adattarsi alla tua marca / modello di telefono.

SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1354", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1350", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1351", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d00d", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"

L'ID utente viene aggiunto al androiddevgruppo, che è stato creato in precedenti occasioni , in questo modo non devo assolutamente farlo sudo!

Per creare un gruppo, usando root

  1. groupadd androiddev, questo crea un gruppo, quindi per aggiungere l'id utente del tuo linux a quel gruppo ...
  2. usermod -a -G androiddev your_user_id; sostituire your_user_id con il proprio ID utente utilizzato per l'accesso).

Quindi, quando si è in modalità di avvio rapido, il binario di avvio rapido dovrebbe funzionare (bonus! Senza la necessità di sudonessuno dei due!)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.