Samsung-Loki/Thor

"Failed to find valid endpoints!" issue

sandeshworld opened this issue ยท 5 comments

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:
  3. To temporarily unload, run "sudo modprobe -r cdc_acm"
  4. 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...

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

Great. Will try that. Thank you

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...)

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

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!