Benjamin-Dobell / Heimdall

Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung Galaxy devices.
MIT License
2.56k stars 584 forks source link

ERROR: Setting up interface failed! #190

Open elisays opened 10 years ago

elisays commented 10 years ago

Hello. I have a major issue. I was trying to install CWM on my Galaxy Ace 2x using Odin, when something went horribly wrong. Now, my device is bricked, and gives me the following error message when I try to turn it on: "Firmware upgrade encountered an issue. Please select recovery mode in Kies & try again."

I tried to fix my device through Kies, but my phone wasn't connecting to it. I don't have access to a PC anymore and am now using a Mac (OS X 10.9.1). I discovered Heimdall, and how it is like a Mac alternative to Odin. I was thrilled that I was finally able to flash my stock ROM, and have my phone back to normal once more. However, whenever I try to download my device's PIT file, I get the following error message:


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... Claiming interface... Setting up interface... ERROR: Setting up interface failed! Releasing device interface...


Please, someone help me. I have run out of options. I desperately need assistance. :(

Thank you, Eli.

ghost commented 10 years ago

Hi, I'm having also trouble with heimdall ..to investigate more information you can try this: turn off your device, then go into download mode via jig or key combo and try to debug the procedure with: heimdall print-pit --usb-log-level debug

elisays commented 10 years ago

What is heimdall print-pit --usb-log-level debug?

ghost commented 10 years ago

it is a terminal command that shows the pit of the device in the terminal while also debugging the procedure I have no experience with mac but should be possible to run heimdall over terminal commands like you can do in windows or linux

davidgraeff commented 10 years ago

Same problem here. Debug output is:

Initialising connection... Detecting device... [timestamp] [threadID] facility level [function call] [ 0.003702] [000074fe] libusbx: debug [libusb_get_device_list] [ 0.003734] [000074fe] libusbx: debug [discovered_devs_append] need to increase capacity [ 0.003749] [000074fe] libusbx: debug [libusb_get_device_descriptor] [ 0.003759] [000074fe] libusbx: debug [libusb_get_device_descriptor] [ 0.003763] [000074fe] libusbx: debug [libusb_get_device_descriptor] [ 0.003767] [000074fe] libusbx: debug [libusb_get_device_descriptor] [ 0.003771] [000074fe] libusbx: debug [libusb_get_device_descriptor] [ 0.003775] [000074fe] libusbx: debug [libusb_get_device_descriptor] [ 0.003779] [000074fe] libusbx: debug [libusb_get_device_descriptor] [ 0.003783] [000074fe] libusbx: debug [libusb_get_device_descriptor] [ 0.003787] [000074fe] libusbx: debug [libusb_get_device_descriptor] [ 0.003793] [000074fe] libusbx: debug [libusb_open] open 1.10 [ 0.003815] [000074fe] libusbx: debug [usbi_add_pollfd] add fd 11 events 4 [ 0.003830] [000074fe] libusbx: debug [libusb_get_device_descriptor] [ 0.003836] [000074fe] libusbx: debug [libusb_get_config_descriptor] index 0 Claiming interface... [ 0.003852] [000074fe] libusbx: debug [libusb_claim_interface] interface 1 Attempt failed. Detaching driver... [ 0.003862] [000074fe] libusbx: debug [libusb_detach_kernel_driver] interface 1 Claiming interface again... [ 8.915816] [000074fe] libusbx: debug [libusb_claim_interface] interface 1 Setting up interface... [ 8.915848] [000074fe] libusbx: debug [libusb_set_interface_alt_setting] interface 1 altsetting 0 [13.913369] [000074fe] libusbx: error [op_set_interface] setintf failed error -1 errno 110 ERROR: Setting up interface failed! Releasing device interface... [13.913416] [000074fe] libusbx: debug [libusb_release_interface] interface 1 Re-attaching kernel driver... [13.913443] [000074fe] libusbx: debug [libusb_attach_kernel_driver] interface 1

[13.913469] [000074fe] libusbx: debug [libusb_close] [13.913479] [000074fe] libusbx: debug [usbi_remove_pollfd] remove fd 11 [13.913495] [000074fe] libusbx: debug [libusb_exit] [13.913500] [000074fe] libusbx: debug [libusb_exit] destroying default context

From usb-devices command for the particular device: T: Bus=01 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 10 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=02(commc) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=04e8 ProdID=685d Rev=00.01 S: Manufacturer=Samsung Electronics S: Product=Mobile USB Modem 1.0 S: SerialNumber=00000000000000/0 C: #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=474mA I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01 Driver=(none) I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)

So there isn't any driver associated with this device and I don't get why libusbx try to release a kernel driver

fyrefiend commented 10 years ago

I'm afraid I'm having the same issue. Heimdall 1.4. Mac OS X 10.9.1

aabes commented 10 years ago

Same here. Installing USEProber and looking at what it shows, it seems to have a few oddities. When booted into stock OS: (the full output is here:: https://gist.github.com/aabes/9163891 ) High Speed device @ 12 (0x1D112230): ............................................. Communication device: "MSM8x60" Port Information: 0x0018 Not Captive External Device Connected Enabled Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 (current): 4 Device Descriptor
Descriptor Version Number: 0x0200 Device Class: 2 (Communication) Device Subclass: 2 Device Protocol: 0 Device MaxPacketSize: 64 Device VendorID/ProductID: 0x04E8/0x685D (Samsung Electronics Co., Ltd.) Device Version Number: 0x0100 Number of Configurations: 1 Manufacturer String: 1 "Samsung" Product String: 2 "MSM8x60" Serial Number String: 0 (none) Configuration Descriptor
Length (and contents): 67 Raw Descriptor (hex) 0000: 09 02 43 00 02 02 00 C0 19 09 04 00 00 01 02 02
Raw Descriptor (hex) 0010: 01 03 05 24 00 10 01 05 24 01 00 01 04 24 02 0F
Raw Descriptor (hex) 0020: 05 24 06 00 01 07 05 82 03 10 00 09 09 04 01 00
Raw Descriptor (hex) 0030: 02 0A 00 00 00 07 05 81 02 00 02 00 07 05 01 02
Raw Descriptor (hex) 0040: 00 02 00 Number of Interfaces: 2 Configuration Value: 2

However, when booted into firmware download / odin mode: High Speed device @ 6 (0x1D110000): ............................................. Communication device: "MSM8x60" Port Information: 0x0018 Not Captive External Device Connected Enabled Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 (unconfigured): 4 Device Descriptor
Descriptor Version Number: 0x0200 Device Class: 2 (Communication) Device Subclass: 2 Device Protocol: 0 Device MaxPacketSize: 64 Device VendorID/ProductID: 0x04E8/0x685D (Samsung Electronics Co., Ltd.) Device Version Number: 0x0100 Number of Configurations: 1 Manufacturer String: 1 "Samsung" Product String: 2 "MSM8x60" Serial Number String: 0 (none) Current configuration: 0 (unconfigured)

If I'm reading this right, then in Odin mode it just doesn't get configured?

lesliev commented 10 years ago

I also had this error: libusbx: error [op_set_interface] setintf failed error -1 errno 110 ... and looking at the source code, the 110 seems to come from an ioctl call and means "timeout".

Nothing I tried worked until I did a "Factory data reset" in the settings menu. After that I got no more errors. It could have been a coincidence but perhaps others can give that a try and report back.

altamira01 commented 10 years ago

Same problem with heimdall (ubuntu 14.04) flashing. Does anybody find the solution? "Factory data reset" solution didn't run in my case. My Samsung Galaxy ACE GT-S5839i doesn't run. Hangs in "Samsung Galaxy Ace GT-S5839i" boot page.

ghost commented 10 years ago

@altamira01 +1 for ubuntu

ghost commented 10 years ago

sudo heimdall print-pit --verbose --stdout-errors --usb-log-level debug 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...

[timestamp] [threadID] facility level [function call]

[ 0.002816] [00004215] libusbx: debug [libusb_get_device_list] [ 0.002862] [00004215] libusbx: debug [libusb_get_device_descriptor] [ 0.002873] [00004215] libusbx: debug [libusb_open] open 2.38 [ 0.002902] [00004215] libusbx: debug [usbi_add_pollfd] add fd 11 events 4 [ 0.002924] [00004215] libusbx: debug [libusb_get_device_descriptor] [ 0.002938] [00004215] libusbx: debug [add_to_flying_list] arm timerfd for timeout in 1000ms (first in line) [ 0.002970] [00004215] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.002983] [00004215] libusbx: debug [handle_events] poll() 4 fds with timeout in 60000ms [ 1.002997] [00004215] libusbx: debug [handle_events] poll() returned 1 [ 1.003023] [00004215] libusbx: debug [handle_events] timerfd triggered [ 1.003033] [00004215] libusbx: debug [libusb_cancel_transfer] [ 1.003342] [00004215] libusbx: debug [disarm_timerfd] [ 1.003365] [00004215] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 1.003375] [00004215] libusbx: debug [handle_events] poll() 4 fds with timeout in 60000ms [ 1.003384] [00004215] libusbx: debug [handle_events] poll() returned 1 [ 1.003396] [00004215] libusbx: debug [reap_for_handle] urb type=2 status=-2 transferred=0 [ 1.003403] [00004215] libusbx: debug [handle_control_completion] handling completion status -2 [ 1.003408] [00004215] libusbx: debug [usbi_handle_transfer_cancellation] detected timeout cancellation [ 1.003413] [00004215] libusbx: debug [disarm_timerfd] [ 1.003419] [00004215] libusbx: debug [usbi_handle_transfer_completion] transfer 0x16b2198 has callback 0x7faff849d7f0 [ 1.003425] [00004215] libusbx: debug [sync_transfer_cb] actual_length=0 [ 1.003444] [00004215] libusbx: debug [add_to_flying_list] arm timerfd for timeout in 1000ms (first in line) [ 1.003460] [00004215] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 1.003466] [00004215] libusbx: debug [handle_events] poll() 4 fds with timeout in 60000ms [ 2.003499] [00004215] libusbx: debug [handle_events] poll() returned 1 [ 2.003530] [00004215] libusbx: debug [handle_events] timerfd triggered [ 2.003541] [00004215] libusbx: debug [libusb_cancel_transfer] [ 2.003856] [00004215] libusbx: debug [disarm_timerfd] [ 2.003885] [00004215] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 2.003895] [00004215] libusbx: debug [handle_events] poll() 4 fds with timeout in 60000ms [ 2.003908] [00004215] libusbx: debug [handle_events] poll() returned 1 [ 2.003920] [00004215] libusbx: debug [reap_for_handle] urb type=2 status=-2 transferred=0 [ 2.003928] [00004215] libusbx: debug [handle_control_completion] handling completion status -2 [ 2.003936] [00004215] libusbx: debug [usbi_handle_transfer_cancellation] detected timeout cancellation [ 2.003943] [00004215] libusbx: debug [disarm_timerfd] [ 2.003951] [00004215] libusbx: debug [usbi_handle_transfer_completion] transfer 0x16b2198 has callback 0x7faff849d7f0 [ 2.003959] [00004215] libusbx: debug [sync_transfer_cb] actual_length=0 [ 2.003975] [00004215] libusbx: debug [add_to_flying_list] arm timerfd for timeout in 1000ms (first in line) [ 2.003997] [00004215] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 2.004005] [00004215] libusbx: debug [handle_events] poll() 4 fds with timeout in 60000ms [ 3.004070] [00004215] libusbx: debug [handle_events] poll() returned 1 [ 3.004100] [00004215] libusbx: debug [handle_events] timerfd triggered [ 3.004111] [00004215] libusbx: debug [libusb_cancel_transfer] [ 3.004356] [00004215] libusbx: debug [disarm_timerfd] [ 3.004383] [00004215] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 3.004393] [00004215] libusbx: debug [handle_events] poll() 4 fds with timeout in 60000ms [ 3.004406] [00004215] libusbx: debug [handle_events] poll() returned 1 [ 3.004417] [00004215] libusbx: debug [reap_for_handle] urb type=2 status=-2 transferred=0 [ 3.004425] [00004215] libusbx: debug [handle_control_completion] handling completion status -2 [ 3.004433] [00004215] libusbx: debug [usbi_handle_transfer_cancellation] detected timeout cancellation [ 3.004440] [00004215] libusbx: debug [disarm_timerfd] [ 3.004448] [00004215] libusbx: debug [usbi_handle_transfer_completion] transfer 0x16b2198 has callback 0x7faff849d7f0 [ 3.004456] [00004215] libusbx: debug [sync_transfer_cb] actual_length=0

        length: 18
  device class: 2
           S/N: 3
       VID:PID: 04E8:685D
     bcdDevice: 0001

iMan:iProd:iSer: 2:1:3 nb confs: 1 [ 3.004504] [00004215] libusbx: debug [libusb_get_config_descriptor] index 0

interface[0].altsetting[0]: num endpoints = 1 Class.SubClass.Protocol: 02.02.01 endpoint[0].address: 83 max packet size: 0040 polling interval: 05

interface[1].altsetting[0]: num endpoints = 2 Class.SubClass.Protocol: 0A.00.00 endpoint[0].address: 81 max packet size: 0200 polling interval: 20 endpoint[1].address: 02 max packet size: 0200 polling interval: 20 Claiming interface... [ 3.004582] [00004215] libusbx: debug [libusb_claim_interface] interface 1 Setting up interface... [ 3.004611] [00004215] libusbx: debug [libusb_set_interface_alt_setting] interface 1 altsetting 0 [ 8.001129] [00004215] libusbx: error [op_set_interface] setintf failed error -1 errno 110 ERROR: Setting up interface failed! ERROR: Setting up interface failed! Releasing device interface... [ 8.001195] [00004215] libusbx: debug [libusb_release_interface] interface 1

[ 8.001228] [00004215] libusbx: debug [libusb_close] [ 8.001245] [00004215] libusbx: debug [usbi_remove_pollfd] remove fd 11 [ 8.001267] [00004215] libusbx: debug [libusb_exit] [ 8.001275] [00004215] libusbx: debug [libusb_exit] destroying default context

altamira01 commented 10 years ago

unfortunately i had to recover my old windows xp pc and do it with Odin.

ghost commented 10 years ago

looks like same problem here, galaxy s iii, SGH-I747M

write(1, "Initialising protocol...\n", 25Initialising protocol... ) = 25 timerfd_settime(11, TFD_TIMER_ABSTIME, {it_interval={0, 0}, it_value={244280, 466549000}}, NULL) = 0 ioctl(12, USBDEVFS_SUBMITURB, 0x1767900) = 0 poll([{fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLOUT}], 4, 60000) = 1 ([{fd=12, revents=POLLOUT}]) ioctl(12, USBDEVFS_REAPURBNDELAY, 0x7fff28970c78) = 0 timerfd_settime(11, 0, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0 ioctl(12, USBDEVFS_REAPURBNDELAY, 0x7fff28970c78) = -1 EAGAIN (Resource temporarily unavailable) timerfd_settime(11, TFD_TIMER_ABSTIME, {it_interval={0, 0}, it_value={244280, 466968000}}, NULL) = 0 ioctl(12, USBDEVFS_SUBMITURB, 0x1767900) = 0 poll([{fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLOUT}], 4, 60000) = 1 ([{fd=11, revents=POLLIN}]) ioctl(12, USBDEVFS_DISCARDURB, 0x1767900) = 0 timerfd_settime(11, 0, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0 poll([{fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLOUT}], 4, 60000) = 1 ([{fd=12, revents=POLLOUT}]) ioctl(12, USBDEVFS_REAPURBNDELAY, 0x7fff28970cc8) = 0 timerfd_settime(11, 0, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0 ioctl(12, USBDEVFS_REAPURBNDELAY, 0x7fff28970cc8) = -1 EAGAIN (Resource temporarily unavailable) write(2, "ERROR: ", 7ERROR: ) = 7 write(2, "Failed to receive handshake resp"..., 56Failed to receive handshake response. USB error:timeout ) = 56 write(2, "ERROR: ", 7ERROR: ) = 7 write(2, "Protocol initialisation failed!\n"..., 33Protocol initialisation failed!

when you dig down to where it sends the handshake "LOKI" it receives a -7 error in return.

ERROR: Failed to receive handshake response. Result: -7

According to LIBUSB this is a timeout error.

sanjayankur31 commented 10 years ago

I had the same issue. Changing the usb port I was using fixed it. Turns out, my some of the usb ports on my laptop are provided via a hub which causes the error. I used the one usb port that is direct, and not via a hub and my phone got flashed just right.

appsol commented 9 years ago

I had the same problem, but moved the device from a USB 3.0 port to a USB 2.0 port and it worked after that.

acardenasnet commented 9 years ago

Currently, I have the same issue, any suggestion ? I'm using Ubuntu 14.04

ghost commented 9 years ago

acardenasnet have you tried every single one of the USB plugs in your computer? (ie to verify that they aren't viewed as hubs internally)

Gachl commented 9 years ago

Client: Lenovo ideapad S10-2 Software: Arch Linux 3.18.5-1 i686 Phone: Samsung Galaxy Note III SM-N9005

heimdall info pacman -Ss libusb | grep installed heimdall print-pit heimdall print-pit --usb-log-level debug lsusb dmesg uname cat /etc/udev/rules.d/51-android.rules ls -lA /dev/android_* All outputs here: http://pastebin.com/kQFxfDXK

I've read a lot that this is supposed to be a libusb error in heimdall 1.4 but I'm using 1.4.1. Am I stupid? I've tried all three usb plugs of my netbook as you can see in the lsusb output and none of them works.

edit: currently re-building with patch https://github.com/Benjamin-Dobell/Heimdall/issues/246 applied. edit2: rebuilt with above specified patch only fixed setting up the interface, also had to add https://github.com/Benjamin-Dobell/Heimdall/pull/225/ and rebuild, then everything worked.

searchfirst commented 9 years ago

Same issue here.

niconavarrete commented 9 years ago

same for me, no luck on an t520, booth patches applied ubuntu 14, may be something to do with ubuntu libusb's packages

libusb-0.1-4 cames installed but libusb-1.0-0 needed to compile ...

niconavarrete commented 9 years ago

installing from https://launchpad.net/~modycz/+archive/ubuntu/heimdall solve it :-)

mchelen commented 9 years ago

PPA resolved the error for me too on Ubuntu 14.04 :+1:

feryardiant commented 9 years ago

just tried using PPA on Ubuntu 14.04 64bit, but still no luck. I have tried 1.4.0 (from website) and 1.4.1 (from github source) as well.

$ lsusb
...
Bus 003 Device 024: ID 04e8:685d Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II] (Download mode)
$ sudo heimdall download-pit --output s.pit --verbose --stdout-errors
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...

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

interface[0].altsetting[0]: num endpoints = 1
   Class.SubClass.Protocol: 02.02.01
       endpoint[0].address: 83
           max packet size: 0040
          polling interval: 05

interface[1].altsetting[0]: num endpoints = 2
   Class.SubClass.Protocol: 0A.00.00
       endpoint[0].address: 81
           max packet size: 0200
          polling interval: 20
       endpoint[1].address: 02
           max packet size: 0200
          polling interval: 20
Claiming interface...
Setting up interface...
libusbx: error [op_set_interface] setintf failed error -1 errno 110
ERROR: Setting up interface failed!
ERROR: Setting up interface failed!
Releasing device interface...
pungkursari commented 9 years ago

same error here smartphone : samsung ace 3 (gt-s7270)

$ sudo heimdall download-pit --output s.pit --verbose --stdout-errors

Initialising connection... Detecting device...

        length: 18
  device class: 2
           S/N: 3
       VID:PID: 04E8:685D
     bcdDevice: 0001

iMan:iProd:iSer: 2:1:3 nb confs: 1

interface[0].altsetting[0]: num endpoints = 1 Class.SubClass.Protocol: 02.02.01 endpoint[0].address: 83 max packet size: 0040 polling interval: 05

interface[1].altsetting[0]: num endpoints = 2 Class.SubClass.Protocol: 0A.00.00 endpoint[0].address: 81 max packet size: 0200 polling interval: 20 endpoint[1].address: 02 max packet size: 0200 polling interval: 20 Claiming interface... Setting up interface... libusbx: error [op_set_interface] setintf failed error -1 errno 110 ERROR: Setting up interface failed! ERROR: Setting up interface failed! Releasing device interface...

erotavlasme commented 9 years ago

Hi, I have the same issue with Ubuntu 14.04 64 bit and both heimdall 1.4.0 and 1.4.1. The error message is the following

sudo heimdall flash --verbose --recovery recovery.img 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...

        length: 18
  device class: 2
           S/N: 3
       VID:PID: 04E8:685D
     bcdDevice: 0001

iMan:iProd:iSer: 2:1:3 nb confs: 1

interface[0].altsetting[0]: num endpoints = 1 Class.SubClass.Protocol: 02.02.01 endpoint[0].address: 83 max packet size: 0040 polling interval: 05

interface[1].altsetting[0]: num endpoints = 2 Class.SubClass.Protocol: 0A.00.00 endpoint[0].address: 81 max packet size: 0200 polling interval: 20 endpoint[1].address: 02 max packet size: 0200 polling interval: 20 Claiming interface... Setting up interface... libusbx: error [op_set_interface] setintf failed error -1 errno 110 ERROR: Setting up interface failed! Releasing device interface...

yrtimiD commented 9 years ago

Thanks @sanjayankur31, moving to other USB port solved the problem for me.

bugthing commented 9 years ago

Using a different USB port worked for me too :)

fancywriter commented 9 years ago

Same trouble. I tried to flash samsung galaxy s2 (i9105) and see the following message:

Detecting device...

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

interface[0].altsetting[0]: num endpoints = 1
  Class.SubClass.Protocol: 02.02.01
  endpoint[0].address: 83
      max packet size: 0040
      polling interval: 05

interface[1].altsetting[0]: num endpoints = 2
  Class.SubClass.Protocol: 0A.00.00
  endpoint[0].address: 81
      max packet size: 0200
      polling interval: 20
  endpoint[1].address: 02
      max packet size: 0200
      polling interval: 20
Claiming interface...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...
libusb: error [op_set_interface] setintf failed error -1 errno 110
ERROR: Setting up interface failed!
Releasing device interface...
Re-attaching kernel driver...

Tried all my USB ports. Same result. OS Gentoo GNU/Linux, version from upstream. (9999)

Benjamin-Dobell commented 8 years ago

@kozlov-p-v What is you run as root?

fancywriter commented 8 years ago

@Benjamin-Dobell yes, sure - I tried from non-root and root user.

Benjamin-Dobell commented 8 years ago

That error is much lower level than Heimdall itself, 110 is a timeout error straight from the Linux kernel.

What version of libusb-1.0 is running on your machine?

I have seen a few odd reports (although I don't remember where) of certain libusb-1.0 versions not getting on with certain Linux kernel versions. If you're able to try compiling libusb-1.0 yourself and see if the problem persists that would be ideal.

Eneitilyn commented 8 years ago

I have pretty much the same problem please help me ! it shows me this when i try to run the compiled version root# ./heimdall print-pit --usb-log-level debug ./heimdall: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by ./heimdall) ./heimdall: /usr/lib/libstdc++.so.6: versionGLIBCXX_3.4.21' not found (required by ./heimdall) And it shows me this when i run the usb-log-level debug command on 1.4.1 version!

root# heimdall print-pit --usb-log-level debug 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...

[timestamp] [threadID] facility level [function call]

[ 0.006118] [000072ee] libusbx: debug [libusb_get_device_list] [ 0.006171] [000072ee] libusbx: debug [discovered_devs_append] need to increase capacity [ 0.006190] [000072ee] libusbx: debug [libusb_get_device_descriptor] [ 0.006201] [000072ee] libusbx: debug [libusb_get_device_descriptor] [ 0.006210] [000072ee] libusbx: debug [libusb_get_device_descriptor] [ 0.006218] [000072ee] libusbx: debug [libusb_get_device_descriptor] [ 0.006227] [000072ee] libusbx: debug [libusb_get_device_descriptor] [ 0.006235] [000072ee] libusbx: debug [libusb_get_device_descriptor] [ 0.006243] [000072ee] libusbx: debug [libusb_get_device_descriptor] [ 0.006259] [000072ee] libusbx: debug [libusb_open] open 3.14 [ 0.006334] [000072ee] libusbx: debug [usbi_add_pollfd] add fd 11 events 4 [ 0.006373] [000072ee] libusbx: debug [libusb_get_device_descriptor] [ 0.006388] [000072ee] libusbx: debug [libusb_get_config_descriptor] index 0 Claiming interface... [ 0.006423] [000072ee] libusbx: debug [libusb_claim_interface] interface 1 Attempt failed. Detaching driver... [ 0.006444] [000072ee] libusbx: debug [libusb_detach_kernel_driver] interface 1 Claiming interface again... [ 0.007854] [000072ee] libusbx: debug [libusb_claim_interface] interface 1 Setting up interface... [ 0.007930] [000072ee] libusbx: debug [libusb_set_interface_alt_setting] interface 1 altsetting 0 [ 5.007812] [000072ee] libusbx: error [op_set_interface] setintf failed error -1 errno 110 ERROR: Setting up interface failed! Releasing device interface... [ 5.007911] [000072ee] libusbx: debug [libusb_release_interface] interface 1 Re-attaching kernel driver... [ 5.007966] [000072ee] libusbx: debug [libusb_attach_kernel_driver] interface 1

[ 5.008021] [000072ee] libusbx: debug [libusb_close] [ 5.008047] [000072ee] libusbx: debug [usbi_remove_pollfd] remove fd 11 [ 5.008075] [000072ee] libusbx: debug [libusb_exit] [ 5.008085] [000072ee] libusbx: debug [libusb_exit] destroying default context

And this error log is from version 1.4.0

root# heimdall print-pit --usb-log-level debug 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...

[timestamp] [threadID] facility level [function call]

[ 0.003373] [000018f5] libusbx: debug [libusb_get_device_list] [ 0.003417] [000018f5] libusbx: debug [discovered_devs_append] need to increase capacity [ 0.003430] [000018f5] libusbx: debug [libusb_get_device_descriptor] [ 0.003436] [000018f5] libusbx: debug [libusb_get_device_descriptor] [ 0.003442] [000018f5] libusbx: debug [libusb_get_device_descriptor] [ 0.003447] [000018f5] libusbx: debug [libusb_get_device_descriptor] [ 0.003453] [000018f5] libusbx: debug [libusb_get_device_descriptor] [ 0.003458] [000018f5] libusbx: debug [libusb_get_device_descriptor] [ 0.003469] [000018f5] libusbx: debug [libusb_open] open 1.9 [ 0.003513] [000018f5] libusbx: debug [usbi_add_pollfd] add fd 11 events 4 [ 0.003587] [000018f5] libusbx: debug [libusb_get_device_descriptor] [ 0.003610] [000018f5] libusbx: debug [libusb_get_config_descriptor] index 0 Claiming interface... [ 0.003651] [000018f5] libusbx: debug [libusb_claim_interface] interface 1 Setting up interface... [ 0.003700] [000018f5] libusbx: debug [libusb_set_interface_alt_setting] interface 1 altsetting 0 [ 5.003905] [000018f5] libusbx: error [op_set_interface] setintf failed error -1 errno 110 ERROR: Setting up interface failed! Releasing device interface... [ 5.003989] [000018f5] libusbx: debug [libusb_release_interface] interface 1

[ 5.004050] [000018f5] libusbx: debug [libusb_close] [ 5.004085] [000018f5] libusbx: debug [usbi_remove_pollfd] remove fd 11 [ 5.004115] [000018f5] libusbx: debug [libusb_exit] [ 5.004125] [000018f5] libusbx: debug [libusb_exit] destroying default context

kynan commented 8 years ago

This might be the same issue as #228. Try my fix with the udev rule.