Samsung-Loki / Thor

An alternative to Heimdall
Mozilla Public License 2.0
227 stars 26 forks source link

"Failed to find valid endpoints!" issue #9

Open sandeshworld opened 1 year ago

sandeshworld commented 1 year ago

Description

I can see that Thor is detecting the usb device but when I select the samsung device I get the error:

image

Reproduction

1) ./TheAirBlow.Thor.Shell/bin/Debug/net7.0/TheAirBlow.Thor.Shell 2) connect 3) Select the samsung device (it is in ODIN mode - albeit with a BOOT Load Fail error)

Expected behaviour

I expected it to connect. I also followed the steps: "~~ Platform specific notes ~~ You have to run Thor as root or edit udev rules as follows: 1) create and open /etc/udev/rules.d/51-android.rules in an editor 2) enter SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="YourUserGroupHere" Additionally, you may have to disable the cdc_acm kernel module: 1) To temporarily unload, run "sudo modprobe -r cdc_acm" 2) To disable it, run "echo 'blacklist cdc_acm' | sudo tee -a /etc/modprobe.d/cdc_acm-blacklist.conf"" just in case.

Hardware and software

Host: Ubuntu22.04, amd64 Device: Samsung Nav Tab Active3

dotnet --list-runtimes Microsoft.AspNetCore.App 7.0.9 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 7.0.9 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

dotnet --list-sdks 7.0.109 [/usr/lib/dotnet/sdk]

Additional context

The ODIN desktop app is able to connect fine...

TheAirBlow commented 1 year ago

You should have made a protocol bug report... Anyway, do the same thing but with debug on beforehand.

sandeshworld commented 1 year ago

Great. Will try that. Thank you

Bluexin commented 1 year ago

Hello. I am facing the same issue, using SMT725 (Galaxy tab s5e) Note that I am running Thor as root. Here is the debug output as requested :

[20:12:27 DBG] Number of configurations: 1
[20:12:27 DBG] Number of interfaces: 2
[20:12:27 DBG] ~~~~ Interface index 0 ~~~~
[20:12:27 DBG] Number of endpoints: 1
[20:12:27 DBG] Interface class: 0x02
[20:12:27 DBG] $$ Endpoint index 0 $$
[20:12:27 DBG] !! Class-dependant descriptor, skipping (len = 6 - 2)
[20:12:27 DBG] !! Class-dependant descriptor, skipping (len = 5 - 2)
[20:12:27 DBG] !! Class-dependant descriptor, skipping (len = 4 - 2)
[20:12:27 DBG] !! Class-dependant descriptor, skipping (len = 5 - 2)
[20:12:27 DBG] Endpoint address: 0x82
[20:12:27 DBG] !! USB_ENDPOINT_XFER_BULK fail (value = 03)
[20:12:27 DBG] !! Interface is invalid, continuing
[20:12:27 DBG] ~~~~ Interface index 1 ~~~~
[20:12:27 DBG] !! USB_DT_INTERFACE fail (value = 30)
[20:12:27 DBG] Number of endpoints: 0
[20:12:27 DBG] Interface class: 0x00
[20:12:27 DBG] !! Interface is invalid, continuing
[20:12:27 DBG] Full exception: System.InvalidOperationException: Failed to find valid endpoints!
   at TheAirBlow.Thor.Library.Platform.Linux.Initialize(String id, Byte[] direct) in /home/theairblow/RiderProjects/Thor/TheAirBlow.Thor.Library/Platform/Linux.cs:line 144
   at ThorRewrite.Shell.Commands.Connect.RunCommand(State state, List`1 args) in /home/theairblow/RiderProjects/Thor/TheAirBlow.Thor.Shell/Commands/Connect.cs:line 26
~~~~~~~^
Failed to find valid endpoints!

(also, I'm surprised to see the debug info isn't relative to project root...)

TheAirBlow commented 10 months ago

Hello. I am facing the same issue, using SMT725 (Galaxy tab s5e) Note that I am running Thor as root. Here is the debug output as requested :

[20:12:27 DBG] Number of configurations: 1
[20:12:27 DBG] Number of interfaces: 2
[20:12:27 DBG] ~~~~ Interface index 0 ~~~~
[20:12:27 DBG] Number of endpoints: 1
[20:12:27 DBG] Interface class: 0x02
[20:12:27 DBG] $$ Endpoint index 0 $$
[20:12:27 DBG] !! Class-dependant descriptor, skipping (len = 6 - 2)
[20:12:27 DBG] !! Class-dependant descriptor, skipping (len = 5 - 2)
[20:12:27 DBG] !! Class-dependant descriptor, skipping (len = 4 - 2)
[20:12:27 DBG] !! Class-dependant descriptor, skipping (len = 5 - 2)
[20:12:27 DBG] Endpoint address: 0x82
[20:12:27 DBG] !! USB_ENDPOINT_XFER_BULK fail (value = 03)
[20:12:27 DBG] !! Interface is invalid, continuing
[20:12:27 DBG] ~~~~ Interface index 1 ~~~~
[20:12:27 DBG] !! USB_DT_INTERFACE fail (value = 30)
[20:12:27 DBG] Number of endpoints: 0
[20:12:27 DBG] Interface class: 0x00
[20:12:27 DBG] !! Interface is invalid, continuing
[20:12:27 DBG] Full exception: System.InvalidOperationException: Failed to find valid endpoints!
   at TheAirBlow.Thor.Library.Platform.Linux.Initialize(String id, Byte[] direct) in /home/theairblow/RiderProjects/Thor/TheAirBlow.Thor.Library/Platform/Linux.cs:line 144
   at ThorRewrite.Shell.Commands.Connect.RunCommand(State state, List`1 args) in /home/theairblow/RiderProjects/Thor/TheAirBlow.Thor.Shell/Commands/Connect.cs:line 26
~~~~~~~^
Failed to find valid endpoints!

(also, I'm surprised to see the debug info isn't relative to project root...)

It's probably cdc_acm interfering, Thor tells you what to do to get rid of it. If that doesn't help, send the /dev/bus/usb/AAA/BBB file. To get AAA and BBB, do the following: 1) Connect the device in download mode to your computer and run lsusb 2) Find the line with your Samsung phone, and here's Bus AAA Device BBB

undefynedd commented 7 months ago

Hey, same issue. I haven't done anything related to Samsung with my Linux machine before, but I followed all the steps on Arch Linux and got this:

[17:14:08 DBG] Number of configurations: 1
[17:14:08 DBG] Number of interfaces: 3
[17:14:08 DBG] ~~~~ Interface index 0 ~~~~
[17:14:08 DBG] Number of endpoints: 3
[17:14:08 DBG] Interface class: 0x06
[17:14:08 DBG] $$ Endpoint index 0 $$
[17:14:08 DBG] Endpoint address: 0x81
[17:14:08 DBG] $$ Endpoint index 1 $$
[17:14:08 DBG] Endpoint address: 0x01
[17:14:08 DBG] $$ Endpoint index 2 $$
[17:14:08 DBG] Endpoint address: 0x82
[17:14:08 DBG] !! USB_ENDPOINT_XFER_BULK fail (value = 03)
[17:14:08 DBG] !! Interface is invalid, continuing
[17:14:08 DBG] ~~~~ Interface index 1 ~~~~
[17:14:08 DBG] !! USB_DT_INTERFACE fail (value = 0B)
[17:14:08 DBG] Number of endpoints: 2
[17:14:08 DBG] Interface class: 0x02
[17:14:08 DBG] $$ Endpoint index 0 $$
[17:14:08 DBG] !! USB_DT_ENDPOINT fail (value = 01)
[17:14:08 DBG] Endpoint address: 0x00
[17:14:08 DBG] !! USB_ENDPOINT_XFER_BULK fail (value = 01)
[17:14:08 DBG] $$ Endpoint index 1 $$
[17:14:08 DBG] Endpoint address: 0x24
[17:14:08 DBG] !! USB_ENDPOINT_XFER_BULK fail (value = 00)
[17:14:08 DBG] !! Interface is invalid, continuing
[17:14:08 DBG] ~~~~ Interface index 2 ~~~~
[17:14:08 DBG] !! USB_DT_INTERFACE fail (value = 01)
[17:14:08 DBG] Number of endpoints: 4
[17:14:08 DBG] Interface class: 0x24
[17:14:08 DBG] $$ Endpoint index 0 $$
[17:14:08 DBG] !! USB_DT_ENDPOINT fail (value = 06)
[17:14:08 DBG] Endpoint address: 0x01
[17:14:08 DBG] $$ Endpoint index 1 $$
[17:14:08 DBG] !! USB_DT_ENDPOINT fail (value = 0A)
[17:14:08 DBG] Endpoint address: 0x00
[17:14:08 DBG] !! USB_ENDPOINT_XFER_BULK fail (value = 09)
[17:14:08 DBG] $$ Endpoint index 2 $$
[17:14:08 DBG] !! USB_DT_ENDPOINT fail (value = 02)
[17:14:08 DBG] Endpoint address: 0x0A
[17:14:08 DBG] !! USB_ENDPOINT_XFER_BULK fail (value = 00)
[17:14:08 DBG] $$ Endpoint index 3 $$
[17:14:08 DBG] !! USB_DT_ENDPOINT fail (value = 83)
[17:14:08 DBG] Endpoint address: 0x02
[17:14:08 DBG] !! USB_ENDPOINT_XFER_BULK fail (value = 00)
[17:14:08 DBG] !! Interface is invalid, continuing
[17:14:08 DBG] Full exception: System.InvalidOperationException: Failed to find valid endpoints!
   at TheAirBlow.Thor.Library.Platform.Linux.Initialize(String id, Byte[] direct) in /home/<...>/Thor/TheAirBlow.Thor.Library/Platform/Linux.cs:line 144
   at TheAirBlow.Thor.Shell.Commands.Connect.RunCommand(State state, List`1 args) in /home/<...>/Thor/TheAirBlow.Thor.Shell/Commands/Connect.cs:line 26
~~~~~~~^
Failed to find valid endpoints!