Open spmp opened 7 years ago
Can you try again and post the complete log including the command that you entered. The fact that you are getting the PIT is a good sign. Have you tried actually flashing the recovery image? I would try with a USB2 port.
Did this actually work??? Doing it remote on a mates phone so cannot reboot to check 8)
./heimdall flash --RECOVERY ../twrp-3.1.1-0-hlte.img --no-reboot --verbose | tee /tmp/heimdall.log
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: "MSM8960"
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...
100%
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
ERROR: Failed to unpack received packet.
ERROR: Failed to confirm end of file transfer sequence!
ERROR: RECOVERY upload failed!
Ending session...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
Releasing device interface...
Very strange. It does indeed look like it completed the transfer as it managed to get to 100% but whether the phone accepted it is uncertain because it showed that the upload failed.
It smells of a usb setup problem, I recommend building libusb from source, get it from https://sourceforge.net/projects/libusb/files/
Also, if you are using --no-reboot then remember to use --resume on the next command otherwise you will experience problems.
PS: I notice that you are trying to install an hlte file on an hltevzw device, if your original post is correct, download the correct image from https://twrp.me/devices/samsunggalaxynote3verizon.html
Whilst I am waiting for the dist-upgrade to get deps for libusb...
./heimdall flash --RECOVERY twrp-3.0.2-0-hltevzw-4.4.img --resume --no-reboot --verbose | tee /tmp/heimdall.log
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: "MSM8960"
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...
Beginning session...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
ERROR: libusb error -7 whilst receiving bulk transfer.
Releasing device interface...
Less joy than the first time. Thanks fo rhte heads up. I was looking at lineageos and they seemed to think that was the twrp to get.. hope I havn't bricked it 8)
I guess it may be because I didnt o a --resume
on my second command...
If you did not use --resume then you must reboot the phone before trying again. I never use --no-reboot as it always seems to cause me problems but I guess that you have no choice if you are working remotely. Get someone local to the device to reboot it back into bootloader mode.
aaah crap. TO make life easy for me, can you please instruct as to how to build an isolated version of libusb and use this with Heimdall. Ubuntu has too many dependencies on libusb-1.0.0
Before trying that, did you reboot the phone and try flashing without --no-reboot? I shall be back after sleep zzzzz....
Yes. Cheers for the help @JonnyTech WIll smash at it a bit more... This phone is a real PITA!
I cheated and just ripped libusb-1.0-0 out with dpkg --force-all... still the same errors and less progress than before again...
./heimdall flash --RECOVERY twrp-3.0.2-0-hltevzw-4.4.img --resume --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: "MSM8960"
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...
Beginning session...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
ERROR: libusb error -7 whilst receiving bulk transfer.
Releasing device interface...
Recompile Heimdall after replacing libusb. Keep the command line simple. Reboot both phone and computer then try: ./heimdall flash --RECOVERY twrp-3.0.2-0-hltevzw-4.4.img
If that does not work can you explain what you did here:
I have changed the permissions fo the USB device so I can perform this as my normal user
Heimdall should work as a normal user without any system modification.
I tried all I could With libusb as directed and rebooting every combination.... My friend gave up... maybe he will be back with the phone in a week or so...
By changing permissions i mean
chmod myuser:myuser /dev/path/to/usb/device
Where the device is what heimdall reports that it does not have permission to write to.
Thanks for replying - hopefully you can try the device locally next time too...
I'm having exactly the same issue in Parabola GNU/Linux-libre (Arch-based, the heimdall pkg comes from Arch).
I also tried with different USB cables but nothing changed. The strange thing is that when printing/downloading the PIT I simply got the WARNING: Empty bulk transfer after sending packet failed.
warning, but when I tried to flash something I got the error from the title, and then when trying to print the PIT again I got the libusb error, not the typical warning. Then just re-rebooted in odin mode and I could print the PIT almost without problem (I say "almost" because of the warning)
I ran into this error using Heimdall 4.1.2 with an I9105P device
when the --resume
argument was present
in any of the commands (print-pit, download-pit, flash):
# heimdall print-pit --verbose --no-reboot --resume [...] Beginning session... ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
Without --resume
the first command sent to the device works (with some warnings):
# heimdall print-pit --verbose --no-reboot [...] 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. 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 receiving packet failed. Continuing anyway... WARNING: Empty bulk transfer after sending packet failed. Continuing anyway... PIT file download successful. [...]
Note that with the --no-reboot
argument alone (without --resume
which does not work)
it is not possible to issue further commands, that would result in errors:
Initialising protocol... ERROR: Failed to receive handshake response. Result: -7 ERROR: Protocol initialisation failed!
Hi, I have same issue to Galaxy S5 and Galaxy S7 on debian 9. Debian package heimdall-flash (Version : 1.4.1-2+b1) does not work, and Heimdall v1.4.2 from github (locally compiled) works only for first command.
For example herolte (Galaxy S7) need this command to install twrp : heimdall flash --BOOT twrp-x.x.x-x-herolte.img --RECOVERY twrp-x.x.x-x-herolte.img BOOT flash pass, RECOVERY don't, it never ends. Workarround is flashing BOOT first, rebooting device in download mode, and flash RECOVERY.
Problem is identical when you pass 2 commands without reboot : first pass, second fails. It should be more comfortable to avoid to reboot between commands.
LINUX : Distributor ID: Debian Description: Debian GNU/Linux 9.4 (stretch) Release: 9.4 Codename: stretch libusb : ii libusb-0.1-4:amd64 2:0.1.12-30 ii libusb-1.0-0:amd64 2:1.0.21-1 ii libusb-1.0-0-dev:amd64 2:1.0.21-1 ii libusb-1.0-doc 2:1.0.21-1 ii libusbmuxd4:amd64 1.0.10-3+b1 ii libusbredirhost1:amd64 0.7.1-1 ii libusbredirparser1:amd64 0.7.1-1 heimdall : Heimdall v1.4.2 locally compiled
I Attach files from 2 print-pit commands, and their equivalents including debug messages
first_print-pit.log first_print-pit_debug.log second_print-pit.log second_print-pit_debug.log
Command used are : sudo heimdall print-pit --no-reboot --verbose --usb-log-level debug --stdout-errors | tee first_print-pit.log and sudo heimdall print-pit --resume --no-reboot --verbose --usb-log-level debug --stdout-errors | tee second_print-pit.log
Thx, Luc.
I duplicated this same issue on two separate Samsung Galaxy Note 4 phones. Compiled 1.4.2 on Ubuntu 16.04 today.
$ bin/heimdall download-pit --output /tmp/910t.pit --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: "MSM8960"
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.
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.
Ending session...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
Rebooting device...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
Releasing device interface...
Just trying to print the PIT results in:
$ bin/heimdall print-pit --verbose --no-reboot
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: "MSM8960"
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.
Downloading device's PIT file...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
ERROR: Failed to unpack received packet.
ERROR: Failed to receive PIT file size!
ERROR: Failed to download PIT file!
Ending session...
WARNING: Empty bulk transfer after sending packet failed. Continuing anyway...
ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
Releasing device interface...
The boot sequence following this shows:
ODIN: flash read failure
ERROR: There is no pit binary
ODIN: flash read failure
I'm willing to test potential code fixes.
I'll have same problem ERROR: libusb error -7 whilst receiving bulk transfer. Retrying... on my Tab S5e. I do have TWRP on device, want to flash in Download mode the original LOS recovery. Any idea how that can work out of download mode? Sideload in TWRP seems to work. Used heimdall on a Linux machine.
Claiming interface...
[ 0.023323] [00001ae0] libusb: debug [libusb_claim_interface] interface 1
Setting up interface...
[ 0.023432] [00001ae0] libusb: debug [libusb_set_interface_alt_setting] interface 1 altsetting 0
Initialising protocol...
[ 0.024323] [00001ae0] libusb: debug [libusb_alloc_transfer] transfer 0x55e23145d4d0
[ 0.024355] [00001ae0] libusb: debug [libusb_submit_transfer] transfer 0x55e23145d4d0
[ 0.024381] [00001ae0] libusb: debug [add_to_flying_list] arm timerfd for timeout in 1000ms (first in line)
[ 0.024420] [00001ae0] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 4
[ 0.024473] [00001ae0] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.024502] [00001ae0] libusb: debug [handle_events] poll() 3 fds with timeout in 60000ms
[ 1.024634] [00001ae0] libusb: debug [handle_events] poll() returned 1
[ 1.024705] [00001ae0] libusb: debug [handle_events] timerfd triggered
[ 1.024741] [00001ae0] libusb: debug [libusb_cancel_transfer] transfer 0x55e23145d4d0
[ 1.024947] [00001ae0] libusb: debug [disarm_timerfd]
[ 1.025017] [00001ae0] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 1.025044] [00001ae0] libusb: debug [handle_events] poll() 3 fds with timeout in 60000ms
[ 1.025076] [00001ae0] libusb: debug [handle_events] poll() returned 1
[ 1.025115] [00001ae0] libusb: debug [reap_for_handle] urb type=3 status=-2 transferred=0
[ 1.025147] [00001ae0] libusb: debug [handle_bulk_completion] handling completion status -2 of bulk urb 1/1
[ 1.025179] [00001ae0] libusb: debug [handle_bulk_completion] abnormal reap: urb status -2
[ 1.025206] [00001ae0] libusb: debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
[ 1.025240] [00001ae0] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
[ 1.025263] [00001ae0] libusb: debug [disarm_timerfd]
[ 1.025298] [00001ae0] libusb: debug [usbi_handle_transfer_completion] transfer 0x55e23145d4d0 has callback 0x7f257b577fc0
[ 1.025330] [00001ae0] libusb: debug [sync_transfer_cb] actual_length=0
[ 1.025364] [00001ae0] libusb: debug [libusb_free_transfer] transfer 0x55e23145d4d0
ERROR: libusb error -7 whilst sending bulk transfer. Retrying...
[ 1.275629] [00001ae0] libusb: debug [libusb_alloc_transfer] transfer 0x55e231459f60
[ 1.275706] [00001ae0] libusb: debug [libusb_submit_transfer] transfer 0x55e231459f60
[
Hi,
I'll have same problem ERROR: libusb error -7 whilst receiving bulk transfer. Retrying... on my Tab S5e.
As I can remember, debian package didn't work and I compiled heimdall from github sources. Only first command pass without resetting usb (not possible to flash after print-pit)
I had to unplug usb, reboot in download mode and re-plug usb cable, before launching another heimdall command.
And after flashing recovery, you have to boot in recovery mode before a normal boot. Luc.
I had to unplug usb, reboot in download mode and re-plug usb cable, before launching another heimdall command.
Only unplug and replug usb cable works fine with --resume. Luc.
I test that with --resume and with replug cable with no other result. I can't see any difference between first or following commands. I would assume something's wrong with my device, but adb sideload (when in TWRP) seems to work. There is happened a lot in LInux whuile plug in the cable, most about PCI bridge, but that is what finally comes about USB:
(Linux Mint/CInnamon)
[ 1735.975125] xhci_hcd 0000:37:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[ 1735.976616] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[ 1735.976618] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1735.976620] usb usb3: Product: xHCI Host Controller
[ 1735.976622] usb usb3: Manufacturer: Linux 5.4.0-122-generic xhci-hcd
[ 1735.976623] usb usb3: SerialNumber: 0000:37:00.0
[ 1735.976797] hub 3-0:1.0: USB hub found
[ 1735.976809] hub 3-0:1.0: 2 ports detected
[ 1735.977556] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[ 1735.977559] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1735.977561] usb usb4: Product: xHCI Host Controller
[ 1735.977563] usb usb4: Manufacturer: Linux 5.4.0-122-generic xhci-hcd
[ 1735.977564] usb usb4: SerialNumber: 0000:37:00.0
[ 1735.977706] hub 4-0:1.0: USB hub found
[ 1735.977716] hub 4-0:1.0: 2 ports detected
[ 1736.232685] usb 3-2: new high-speed USB device number 2 using xhci_hcd
[ 1736.384886] usb 3-2: New USB device found, idVendor=04e8, idProduct=685d, bcdDevice= 2.1b
[ 1736.384894] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1736.384898] usb 3-2: Product: SDM710
[ 1736.384902] usb 3-2: Manufacturer: Samsung
I had this problem with a Galaxy Note 4 (SM-N910F) on Ubuntu 22.04 on a USB 3 port (USB-C to MicroUSB cable, no USB 2 ports available). I could download the PIT but any firmware download failed with this error and the debug log had failures with "urb status -2".
I got it to work with:
--resume
The full command:
Heimdall/build/bin/heimdall flash --APNHLOS NON-HLOS.bin --ABOOT aboot.mbn --BOOT boot.img \
--CACHE cache.img.ext4 --HIDDEN hidden.img.ext4 --MODEM modem.bin --RECOVERY recovery.img \
--RPM rpm.mbn --SBL1 sbl1.mbn --DBI sdi.mbn --SYSTEM system.img.ext4 --TZ tz.mbn --usb-log-level debug
❯ ./bin/heimdall print-pit --no-reboot --usb-log-level debug
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...
[timestamp] [threadID] facility level [function call] <message>
--------------------------------------------------------------------------------
[ 0.012280] [00009f57] libusb: debug [libusb_get_device_list]
[ 0.012290] [00009f57] libusb: debug [discovered_devs_append] need to increase capacity
[ 0.012294] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012296] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012297] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012298] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012299] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012300] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012301] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012302] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012303] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012304] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012305] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012309] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012313] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012314] [00009f57] libusb: debug [libusb_open] open 7.25
[ 0.012336] [00009f57] libusb: debug [usbi_add_event_source] add fd 7 events 4
[ 0.012339] [00009f57] libusb: debug [libusb_get_device_descriptor]
[ 0.012341] [00009f57] libusb: debug [libusb_get_config_descriptor] index 0
Claiming interface...
[ 0.012350] [00009f57] libusb: debug [libusb_claim_interface] interface 1
Setting up interface...
[ 0.012363] [00009f57] libusb: debug [libusb_set_interface_alt_setting] interface 1 altsetting 0
Initialising protocol...
[ 0.013176] [00009f57] libusb: debug [libusb_submit_transfer] transfer 0x55e887aa2680
[ 0.013178] [00009f57] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.013182] [00009f57] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 4
[ 0.013190] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.013192] [00009f57] libusb: debug [handle_events] event sources modified, reallocating event data
[ 0.013194] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 1.013223] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 1.013249] [00009f57] libusb: debug [libusb_cancel_transfer] transfer 0x55e887aa2680
[ 1.013422] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 1.013443] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 1.013447] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 1.013452] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 1.013458] [00009f57] libusb: debug [reap_for_handle] urb type=3 status=-2 transferred=0
[ 1.013461] [00009f57] libusb: debug [handle_bulk_completion] handling completion status -2 of bulk urb 1/1
[ 1.013464] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: urb status -2
[ 1.013466] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
[ 1.013469] [00009f57] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
[ 1.013472] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 1.013475] [00009f57] libusb: debug [usbi_handle_transfer_completion] transfer 0x55e887aa2680 has callback 0x7fc4d5fea0c0
[ 1.013477] [00009f57] libusb: debug [sync_transfer_cb] actual_length=0
[ 1.013481] [00009f57] libusb: debug [libusb_free_transfer] transfer 0x55e887aa2680
[ 1.263557] [00009f57] libusb: debug [libusb_submit_transfer] transfer 0x55e887ab6040
[ 1.263580] [00009f57] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 1.263587] [00009f57] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 4
[ 1.263610] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 1.263615] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 2.263592] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 2.263608] [00009f57] libusb: debug [libusb_cancel_transfer] transfer 0x55e887ab6040
[ 2.263689] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 2.263697] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 2.263704] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 2.263711] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 2.263716] [00009f57] libusb: debug [reap_for_handle] urb type=3 status=-2 transferred=0
[ 2.263719] [00009f57] libusb: debug [handle_bulk_completion] handling completion status -2 of bulk urb 1/1
[ 2.263722] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: urb status -2
[ 2.263725] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
[ 2.263729] [00009f57] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
[ 2.263733] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 2.263737] [00009f57] libusb: debug [usbi_handle_transfer_completion] transfer 0x55e887ab6040 has callback 0x7fc4d5fea0c0
[ 2.263740] [00009f57] libusb: debug [sync_transfer_cb] actual_length=0
[ 2.263743] [00009f57] libusb: debug [libusb_free_transfer] transfer 0x55e887ab6040
[ 2.763831] [00009f57] libusb: debug [libusb_submit_transfer] transfer 0x55e887a9b260
[ 2.763843] [00009f57] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 2.763848] [00009f57] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 4
[ 2.763860] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 2.763863] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 3.763881] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 3.763898] [00009f57] libusb: debug [libusb_cancel_transfer] transfer 0x55e887a9b260
[ 3.763981] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 3.763989] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 3.763992] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 3.763997] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 3.764002] [00009f57] libusb: debug [reap_for_handle] urb type=3 status=-2 transferred=0
[ 3.764004] [00009f57] libusb: debug [handle_bulk_completion] handling completion status -2 of bulk urb 1/1
[ 3.764007] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: urb status -2
[ 3.764010] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
[ 3.764012] [00009f57] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
[ 3.764015] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 3.764017] [00009f57] libusb: debug [usbi_handle_transfer_completion] transfer 0x55e887a9b260 has callback 0x7fc4d5fea0c0
[ 3.764020] [00009f57] libusb: debug [sync_transfer_cb] actual_length=0
[ 3.764023] [00009f57] libusb: debug [libusb_free_transfer] transfer 0x55e887a9b260
[ 4.514118] [00009f57] libusb: debug [libusb_submit_transfer] transfer 0x55e887aa7800
[ 4.514134] [00009f57] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 4.514140] [00009f57] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 4
[ 4.514157] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 4.514160] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 5.514158] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 5.514176] [00009f57] libusb: debug [libusb_cancel_transfer] transfer 0x55e887aa7800
[ 5.514258] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 5.514266] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 5.514271] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 5.514275] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 5.514282] [00009f57] libusb: debug [reap_for_handle] urb type=3 status=-2 transferred=0
[ 5.514289] [00009f57] libusb: debug [handle_bulk_completion] handling completion status -2 of bulk urb 1/1
[ 5.514294] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: urb status -2
[ 5.514297] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
[ 5.514305] [00009f57] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
[ 5.514308] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 5.514311] [00009f57] libusb: debug [usbi_handle_transfer_completion] transfer 0x55e887aa7800 has callback 0x7fc4d5fea0c0
[ 5.514314] [00009f57] libusb: debug [sync_transfer_cb] actual_length=0
[ 5.514317] [00009f57] libusb: debug [libusb_free_transfer] transfer 0x55e887aa7800
[ 6.514396] [00009f57] libusb: debug [libusb_submit_transfer] transfer 0x55e887a88cd0
[ 6.514415] [00009f57] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 6.514422] [00009f57] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 4
[ 6.514441] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 6.514445] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 7.514439] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 7.514459] [00009f57] libusb: debug [libusb_cancel_transfer] transfer 0x55e887a88cd0
[ 7.514543] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 7.514551] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 7.514555] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 7.514565] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 7.514573] [00009f57] libusb: debug [reap_for_handle] urb type=3 status=-2 transferred=0
[ 7.514578] [00009f57] libusb: debug [handle_bulk_completion] handling completion status -2 of bulk urb 1/1
[ 7.514581] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: urb status -2
[ 7.514586] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
[ 7.514589] [00009f57] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
[ 7.514593] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 7.514597] [00009f57] libusb: debug [usbi_handle_transfer_completion] transfer 0x55e887a88cd0 has callback 0x7fc4d5fea0c0
[ 7.514602] [00009f57] libusb: debug [sync_transfer_cb] actual_length=0
[ 7.514606] [00009f57] libusb: debug [libusb_free_transfer] transfer 0x55e887a88cd0
[ 8.764687] [00009f57] libusb: debug [libusb_submit_transfer] transfer 0x55e887ab7150
[ 8.764711] [00009f57] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 8.764718] [00009f57] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 4
[ 8.764738] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 8.764744] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 9.764753] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 9.764774] [00009f57] libusb: debug [libusb_cancel_transfer] transfer 0x55e887ab7150
[ 9.764858] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 9.764867] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 9.764872] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 9.764878] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 9.764887] [00009f57] libusb: debug [reap_for_handle] urb type=3 status=-2 transferred=0
[ 9.764893] [00009f57] libusb: debug [handle_bulk_completion] handling completion status -2 of bulk urb 1/1
[ 9.764897] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: urb status -2
[ 9.764901] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
[ 9.764906] [00009f57] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
[ 9.764918] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 9.764924] [00009f57] libusb: debug [usbi_handle_transfer_completion] transfer 0x55e887ab7150 has callback 0x7fc4d5fea0c0
[ 9.764930] [00009f57] libusb: debug [sync_transfer_cb] actual_length=0
[ 9.764937] [00009f57] libusb: debug [libusb_free_transfer] transfer 0x55e887ab7150
ERROR: Failed to send handshake![ 9.764956] [00009f57] libusb: debug [libusb_submit_transfer] transfer 0x55e887ab2310
[ 9.764961] [00009f57] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 9.764965] [00009f57] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 7
[ 9.764986] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 9.764990] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[10.765001] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[10.765018] [00009f57] libusb: debug [libusb_cancel_transfer] transfer 0x55e887ab2310
[10.765107] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[10.765116] [00009f57] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[10.765121] [00009f57] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[10.765130] [00009f57] libusb: debug [usbi_wait_for_events] poll() returned 1
[10.765138] [00009f57] libusb: debug [reap_for_handle] urb type=3 status=-2 transferred=0
[10.765143] [00009f57] libusb: debug [handle_bulk_completion] handling completion status -2 of bulk urb 1/1
[10.765148] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: urb status -2
[10.765151] [00009f57] libusb: debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
[10.765157] [00009f57] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
[10.765161] [00009f57] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[10.765165] [00009f57] libusb: debug [usbi_handle_transfer_completion] transfer 0x55e887ab2310 has callback 0x7fc4d5fea0c0
[10.765169] [00009f57] libusb: debug [sync_transfer_cb] actual_length=0
[10.765175] [00009f57] libusb: debug [libusb_free_transfer] transfer 0x55e887ab2310
ERROR: Protocol initialisation failed!
Releasing device interface...
[10.765195] [00009f57] libusb: debug [libusb_release_interface] interface 1
[10.765224] [00009f57] libusb: debug [libusb_close]
[10.765230] [00009f57] libusb: debug [usbi_remove_event_source] remove fd 7
[10.765240] [00009f57] libusb: debug [libusb_exit]
[10.765365] [00009f57] libusb: debug [libusb_unref_device] destroy device 9.7
[10.765370] [00009f57] libusb: debug [libusb_unref_device] destroy device 9.9
[10.765373] [00009f57] libusb: debug [libusb_unref_device] destroy device 9.8
[10.765375] [00009f57] libusb: debug [libusb_unref_device] destroy device 9.6
[10.765378] [00009f57] libusb: debug [libusb_unref_device] destroy device 9.5
[10.765381] [00009f57] libusb: debug [libusb_unref_device] destroy device 9.4
[10.765384] [00009f57] libusb: debug [libusb_unref_device] destroy device 9.3
[10.765386] [00009f57] libusb: debug [libusb_unref_device] destroy device 9.11
[10.765389] [00009f57] libusb: debug [libusb_unref_device] destroy device 9.1
[10.765391] [00009f57] libusb: debug [libusb_unref_device] destroy device 10.1
[10.765396] [00009f57] libusb: debug [libusb_unref_device] destroy device 8.1
[10.765403] [00009f57] libusb: debug [libusb_unref_device] destroy device 7.4
[10.765408] [00009f57] libusb: debug [libusb_unref_device] destroy device 7.25
[10.765414] [00009f57] libusb: debug [libusb_unref_device] destroy device 7.6
[10.765416] [00009f57] libusb: debug [libusb_unref_device] destroy device 7.8
[10.765420] [00009f57] libusb: debug [libusb_unref_device] destroy device 7.7
[10.765423] [00009f57] libusb: debug [libusb_unref_device] destroy device 7.5
[10.765428] [00009f57] libusb: debug [libusb_unref_device] destroy device 7.3
[10.765433] [00009f57] libusb: debug [libusb_unref_device] destroy device 7.9
[10.765438] [00009f57] libusb: debug [libusb_unref_device] destroy device 7.1
[10.765443] [00009f57] libusb: debug [libusb_unref_device] destroy device 6.1
[10.765449] [00009f57] libusb: debug [libusb_unref_device] destroy device 5.1
[10.765453] [00009f57] libusb: debug [libusb_unref_device] destroy device 4.1
[10.765458] [00009f57] libusb: debug [libusb_unref_device] destroy device 3.1
[10.765464] [00009f57] libusb: debug [libusb_unref_device] destroy device 2.1
[10.765469] [00009f57] libusb: debug [libusb_unref_device] destroy device 1.3
[10.765472] [00009f57] libusb: debug [libusb_unref_device] destroy device 1.2
[10.765477] [00009f57] libusb: debug [libusb_unref_device] destroy device 1.1
[10.765483] [00009f57] libusb: debug [usbi_remove_event_source] remove fd 4
[10.765492] [00009f57] libusb: debug [usbi_remove_event_source] remove fd 3
Compiled from source on Ubuntu 22.04
❯ ./bin/heimdall version
v1.4.2
I get the same error with the distro package. And also if I use the five year old build from https://hub.docker.com/r/groupsky/heimdall
Samsung S22
Works with https://github.com/Benjamin-Dobell/Heimdall/pull/478 via https://github.com/Benjamin-Dobell/Heimdall/issues/504
Please merge upstream
I am having a similar issue to https://github.com/Benjamin-Dobell/Heimdall/issues/413 trying to install TWRP on a Samsung Galaxy Note 3, SM-N900V (Verizon version) The USB device is USB 3. I have USB2 devices if this will help.
Original log of trying to flash is gone, but here are the snippets of trying to get the PIT file: Note: I have changed the permissions fo the USB device so I can perform this as my normal user as I have heard that doing this as root can be problematic.
And my
libusb
Heimdall built from git (pulled yesterday), ubuntu 17.04.