¡Falló la inicialización del Protocolo de error de Heimdall! en Ubuntu

Quiero instalar CyanogenMod en mi Samsung Galaxy S5. Descargué la versión e hice los pasos exactos de la wiki. Pero cuando trato de flashear con Heimdall me sale este error:

Ubuntu-Laptop:~/Downloads/cm-12.1-20151007-SNAPSHOT-YOG4PAO333-klte$ sudo heimdall flash --RECOVERY boot.img --no-reboot
Heimdall v1.4.1

Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Initialising protocol...
ERROR: Protocol initialisation failed!

Releasing device interface...

No encontré nada con Google. Por favor ayuda.

Gracias.

Respuestas (5)

Yo también tuve un problema similar. Agregué la regla udev como se sugiere en GitHub (enlace arriba), pero el teléfono aún no se descargaba. Luego encontré otra solución simple en GitHub:

  1. Desconecte el cable USB.
  2. Configure el flash en Heimdall Frontend o línea de comando.
  3. Inicie el teléfono en modo de descarga.
  4. DESPUÉS de que esté en modo de descarga, conecte el USB y flashee inmediatamente.

Funcionó a las mil maravillas.

Encontré una "solución" extraña mientras probaba esta: inicie el teléfono en "Modo de descarga" + presione "Continuar" + deje el USB desconectado + inicie el comando heimdall. Obviamente falla. Conecte el USB + reinicie el comando heimdall: ¡funciona! No me preguntes por qué ;-)
¡¡¡Eso funciono!!! ¡¿Pero por qué?!
Otra cosa que funcionó fue usar adb reboot downloaden lugar de usar los botones, como se describe aquí

Estaba experimentando el mismo problema y encontré una solución que funcionó para mí en un comentario sobre el número 228 de Heimdall .

El problema para mí fue que udev estaba reservando el teléfono como módem cuando lo conecté. Si ejecuta dmesg y ve una línea que dice "Este dispositivo no puede hacer llamadas por sí solo. No es un módem", entonces esto podría funcionar para usted.

Como raíz, cree un archivo llamado /etc/udev/rules.d/79-samsung.rules con el siguiente contenido:

ATTRS{idVendor}=="04e8", ENV{ID_MM_DEVICE_IGNORE}="1"

Luego reinicie udev con "sudo service udev restart", y desconecte/vuelva a conectar el dispositivo, y puede intentar instalarlo nuevamente.

Si eso no funciona o si es un problema diferente, puede editar su pregunta para agregar el resultado de estos comandos:

heimdall detect --verbose --usb-log-level debug
sudo heimdall print-pit --verbose --no-reboot
Si tan solo pudiera abrazarte. Ahora tengo que lidiar con ERROR: libusb error -4 whilst sending bulk transfer. Retrying...:S

Tuve problemas similares, resultó que solo funcionaba con heimdall v1.4.2 en mi sistema linux mint 19

LA SITUACIÓN CON HEIMDALL 1.4.0:

Sistema operativo: LinuxMint 19 (tara) Kernel 4.20.0-042000-genérico

heimdall flash --REOVERY /home/user/Downloads/twrp-3.3.1-0-gts210vewifi.img --pit /home/user/s2a.pit --no-reboot --verbose 
Heimdall v1.4.0

Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
      Manufacturer: "Sasmsung"
           Product: "MSM8952"

            length: 18
      device class: 2
               S/N: 0
           VID:PID: 04E8:685D
         bcdDevice: 0100
   iMan:iProd:iSer: 1:2:0
          nb confs: 1

interface[0].altsetting[0]: num endpoints = 1
   Class.SubClass.Protocol: 02.02.01
       endpoint[0].address: 82
           max packet size: 0010
          polling interval: 09

interface[1].altsetting[0]: num endpoints = 2
   Class.SubClass.Protocol: 0A.00.00
       endpoint[0].address: 81
           max packet size: 0200
          polling interval: 00
       endpoint[1].address: 01
           max packet size: 0200
          polling interval: 00
Claiming interface...
Setting up interface...

Initialising protocol...
WARNING: Control transfer #1 failed. Result: -9
WARNING: Control transfer #2 failed. Result: -9
WARNING: Control transfer #3 failed. Result: -9
WARNING: Control transfer #4 failed. Result: -9
WARNING: Control transfer #5 failed. Result: -9
WARNING: Control transfer #6 failed. Result: -9
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
ERROR: libusb error -7 whilst sending packet. Retrying...
ERROR: libusb error -7 whilst sending packet. Retrying...
ERROR: libusb error -7 whilst sending packet. Retrying...
ERROR: libusb error -7 whilst sending packet. Retrying...
ERROR: libusb error -7 whilst sending packet. Retrying...
ERROR: libusb error -7 whilst sending packet.
ERROR: Failed to send request to end PIT file transfer!
ERROR: Failed to download PIT file!
Ending session...
ERROR: libusb error -7 whilst sending packet. Retrying...
ERROR: libusb error -7 whilst sending packet. Retrying...
ERROR: libusb error -7 whilst sending packet. Retrying...
ERROR: libusb error -7 whilst sending packet. Retrying...
ERROR: libusb error -7 whilst sending packet. Retrying...
ERROR: libusb error -7 whilst sending packet.
ERROR: Failed to send end session packet!
Releasing device interface...



    heimdall download-pit --output s2.pit --verbose
    Heimdall v1.4.0

    Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna
    http://www.glassechidna.com.au/

    This software is provided free of charge. Copying and redistribution is
    encouraged.

    If you appreciate this software and you would like to support future
    development please consider donating:
    http://www.glassechidna.com.au/donate/

    Initialising connection...
    Detecting device...
          Manufacturer: "Sasmsung"
               Product: "MSM8952"

                length: 18
          device class: 2
                   S/N: 0
               VID:PID: 04E8:685D
             bcdDevice: 0100
       iMan:iProd:iSer: 1:2:0
              nb confs: 1

    interface[0].altsetting[0]: num endpoints = 1
       Class.SubClass.Protocol: 02.02.01
           endpoint[0].address: 82
               max packet size: 0010
              polling interval: 09

    interface[1].altsetting[0]: num endpoints = 2
       Class.SubClass.Protocol: 0A.00.00
           endpoint[0].address: 81
               max packet size: 0200
              polling interval: 00
           endpoint[1].address: 01
               max packet size: 0200
              polling interval: 00
    Claiming interface...
    Setting up interface...

    Initialising protocol...
    WARNING: Control transfer #1 failed. Result: -9
    WARNING: Control transfer #2 failed. Result: -9
    WARNING: Control transfer #3 failed. Result: -9
    WARNING: Control transfer #4 failed. Result: -9
    WARNING: Control transfer #5 failed. Result: -9
    WARNING: Control transfer #6 failed. Result: -9
    ERROR: Failed to receive handshake response. Retrying...
    ERROR: Failed to receive handshake response. Retrying...
    ERROR: Failed to receive handshake response. Retrying...
    ERROR: Failed to receive handshake response. Retrying...
    ERROR: Failed to receive handshake response.
    ERROR: Protocol initialisation failed!

    Releasing device interface...

LA SOLUCIÓN:

... encontré este útil artículo e instalé Heimdall v1.4.2

CÓMO INSTALAR LA VERSIÓN 1.4.2 DE HEIMDALL EN UBUNTU 16 EN ADELANTE

para instalar ver. 1.4.2 haga lo siguiente:

sudo apt purge heimdall-flash
sudo apt install build-essential cmake zlib1g-dev qt5-default libusb-1.0-0-dev libgl1-mesa-glx libgl1-mesa-dev
cd ~
wget https://gitlab.com/BenjaminDobell/Heimdall/-/archive/master/Heimdall-master.tar.gz
tar -xvf Heimdall-master.tar.gz
cd Heimdall-master/
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
sudo mv ./bin/heimdall* /usr/local/bin

comprobar el éxito con

heimdall version
v1.4.2

Después de esta operación, el comportamiento cambió de la siguiente manera:

heimdall flash --RECOVERY /home/user/Downloads/twrp-3.3.1-0-gts210vewifi.img --pit /home/chris/s2.pit --no-reboot --verbose 
Heimdall v1.4.2

Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
      Manufacturer: "Sasmsung"
           Product: "MSM8952"

            length: 18
      device class: 2
               S/N: 0
           VID:PID: 04E8:685D
         bcdDevice: 0100
   iMan:iProd:iSer: 1:2:0
          nb confs: 1

interface[0].altsetting[0]: num endpoints = 1
   Class.SubClass.Protocol: 02.02.01
       endpoint[0].address: 82
           max packet size: 0010
          polling interval: 09

interface[1].altsetting[0]: num endpoints = 2
   Class.SubClass.Protocol: 0A.00.00
       endpoint[0].address: 81
           max packet size: 0200
          polling interval: 00
       endpoint[1].address: 01
           max packet size: 0200
          polling interval: 00
Claiming interface...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...

Some devices may take up to 2 minutes to respond.
Please be patient!

WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
Session begun.

WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
Downloading device's PIT file...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
PIT file download successful.

Uploading RECOVERY
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
0%WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...

7%

14%

21%

28%

35%

42%

49%

56%

63%

70%

77%

85%

92%

99%

100%
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
RECOVERY upload successful

Ending session...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...

Releasing device interface...

antes de la operación desconecté y volví a enchufar la Tablet

para poder flashear el TWRP

FELIZ

Esto me sucedió en v1.4.1. Hay algunas maneras de solucionarlo:

  1. Asegúrese de tener la última y mejor versión de Heimdall
  2. Instala todo esto:
sudo apt-get install build-essential cmake zlib1g-dev qt5-default libusb-1.0-0-dev libgl1-mesa-glx libgl1-mesa-dev
  1. Reinicie su computadora
  2. Intente conectarse en un puerto USB diferente: 3 de mis puertos USB no funcionaron, ¡y uno sí!
No creo que hayas descubierto todo esto por tu cuenta dada esta consulta de búsqueda . Por favor agregue su(s) fuente(s) de información.
Encontré la fuente de la respuesta @ user1414405. Para el registro: github.com/Benjamin-Dobell/Heimdall/issues/…

Si ninguna de las respuestas anteriores funcionó, la respuesta podría ser tan tonta como resultó ser para mí.

Es posible que debas probar dos cosas antes de golpearte la cabeza contra la pantalla:

Solución potencial 1: Reinicie en modo de descarga sin tener el USB conectado y solo conéctelo después de haber presionado el botón que le permite continuar embarcándose en este peligroso viaje (supongo que el botón Subir volumen). Luego, si aún no lo ha hecho, reemplace los controladores con Zadig y Heimdall podría funcionar. Supongo que esta fue la solución para mí, pero también podría haber sido...

Solución potencial 2: reinicie su dispositivo móvil después de reemplazar los controladores con Zadig. Sí, súper tonto, pero esta podría haber sido la solución fácilmente (ya que la primera solución me obligaba a reiniciar).

Espero que nadie rompa un cráneo.