fastboot no funciona en mi Nexus 4

8

Estoy tratando de rootear mi N4, y fastboot no parece funcionar. Ejecutándolo en Linux, y el binario fastboot parece ejecutarse.

'Fastboot devices' produce información en mi dispositivo, pero 'fastboot oem unlock' solo hace eco '...' y se cuelga. No recibo el aviso por teléfono sobre el desbloqueo. Simplemente se queda allí hasta que reinicie el gestor de arranque, momento en el que fastboot repite "FALLIDO (error de escritura del comando (No se puede enviar después del cierre del punto final de transporte)"

Otros comandos fastboot tampoco parecen funcionar. 'reinicio fastboot' hace eco de 'reiniciar ...' pero luego no sucede nada.

He intentado esto con y sin depuración usb habilitada. ¿Algunas ideas?

Estoy empezando a pensar que los puertos USB de mi máquina pueden estar dañados. Esta mañana, la máquina no reconoció un iPod conectado bajo Windows en los puertos USB frontales o posteriores de mi máquina. Estoy trabajando en el teléfono con Linux, y / var / adm / messages muestra cosas que suceden cuando enchufo el dispositivo. Supongo que los 'dispositivos de arranque rápido' no acceden de manera aguda al dispositivo, solo observa los tipos de dispositivos detectados por el sistema operativo cuando lo enchufaste, ¿no? ¿Es posible que pueda leer desde el puerto usb pero no puedo escribir en él?

Bueno, parece que fueron mis puertos USB. Encontré una computadora portátil vieja, la arranqué en un CD en vivo de Ubuntu y pude rootear el teléfono desde allí. Perdón por todo el drama. Es extraño que mis puertos USB murieran justo en este momento, pero ahora que lo pienso, han estado funcionando lentamente recientemente: gPodder había tardado minutos en copiar los podcasts a mi iPod. Supongo que fue un fracaso gradual.

fideos
fuente
Intente ejecutar fastboot como root (dispositivos sudo fastboot)
Liam W
No, sudo no ayuda. Por lo que vale, hice una cola -f en / var / log / messages cuando comencé el gestor de arranque. Salida a continuación, que termina con el número de serie, que coincide con lo que se imprime 'dispositivos de arranque rápido'.
littlenoodles
El material / var / log / messages es demasiado largo para ingresarlo aquí. Pero básicamente intenta y no lo detecta como un dispositivo usb 3-5, luego lo intenta como usb 2-2 y tiene éxito.
littlenoodles
localhost klogd: usb 2-2: nuevo dispositivo USB de velocidad completa usando ohci_hcd y dirección 6 localhost klogd: usb 2-2: Nuevo dispositivo USB encontrado, idVendor = 18d1, idProduct = 4ee0 localhost klogd: usb 2-2: Nuevas cadenas de dispositivo USB : Mfr = 1, Producto = 2, Número de serie = 3 localhost klogd: usb 2-2: Producto: Android localhost klogd: usb 2-2: Fabricante: Google localhost klogd: usb 2-2: Número de serie: 006ef4fae094444f
littlenoodles
Una cosa más (¿extraña?) Traté de seleccionar la recuperación del gestor de arranque, y fue a una pantalla de recuperación congelada con el mensaje "no se encontró ningún comando". ¿Eso da miedo? Desde allí pude volver al gestor de arranque nuevamente con el combo de reducción de potencia.
littlenoodles

Respuestas:

5

La pista está en el comentario anterior. Pero acabo de probar 'adb reboot bootloader' y funcionó. lo que demuestra que adbrealmente está reconociendo la conexión USB, pero no en el modo de inicio rápido, que es donde entra esta respuesta ...

¡Parece que la regla de udev para el arranque rápido está ausente!

Haga esto: lsusbcon el cable enchufado mientras el teléfono está en modo de arranque rápido.

La salida típica debería ser similar a esta:

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

                     ^^^^ ^^^^

El identificador de números 18d1:d00dcorresponde a idVendor : idProduct respectivamente.

Anótelo y verifique las reglas de udev que se encuentran en /etc/udev/rules.d/51-android-rules. (¡El kilometraje variará ligeramente con diferentes distribuciones de Linux! )

Si no tiene este archivo, se recomienda crear uno usando root, puede que haya algunas reglas que deban agregarse dependiendo del modo del teléfono, es decir, los modos normales, de recuperación y de cargador de arranque.

Aquí hay un ejemplo mío, que tiene valores diferentes respectivamente cuando el teléfono está en uno de estos modos. Tome esto como una plantilla y cambie los números como se muestra que coinciden con idVendor e idProduct respectivamente para adaptarse a su marca / modelo de teléfono.

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"

El ID de usuario se agrega al androiddevgrupo, que se creó en una ocasión anterior , ¡de esa manera no tengo que hacerlo sudo!

Para crear un grupo, usando root

  1. groupadd androiddev, esto crea un grupo y luego agrega la identificación de usuario de Linux a ese grupo ...
  2. usermod -a -G androiddev your_user_id; reemplace your_user_id con su propia identificación de usuario utilizada para iniciar sesión).

Luego, cuando esté en modo de arranque rápido, el binario fastboot debería funcionar (¡bonificación! ¡Sin necesidad de sudoninguno!)

t0mm13b
fuente