-
-
Notifications
You must be signed in to change notification settings - Fork 584
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't use Samsung S6812B on linux #286
Comments
Complementing the report, the test sequence used was:
When the device enters "ERROR STATE" it responds with: fedora 22 |
This is the correct RCA of all the reported issues on error 110 and similar for many devices. if (altSettingIndex == 0)
return (true); before set_interface_alt_setting, instead. |
I can confirm that this works with Samsung Galaxy Trend Plus (GT-S7580). |
Investigating at source level (libusb and kernel usb), I found: Linux kernel have a module called "cdc_acm" that is automatically I suppose that all Samsung Mobile Phones in ODIN mode are recognized Note: "Set Line Coding" is not sent when the module "cdc_acm" is not Problem: The devices not affected by "Set Line Coding" can have problems with
I think that a solution would be: The user can temporarily blacklist the module "cdc_acm"
echo "blacklist cdc_acm" >/etc/modprobe.d/cdc_acm-blacklist.conf
rmmod cdc_acm # ignore ERROR is not currently loaded
Note: Since there is no ttyACM device, there is no problem with ModemManager. |
There is no need to mess around with the
in the
At least on my testing, with the previously mentioned changes (skipping |
The current git version of Heimdall cannot access my device.
The device in ODIN mode have VID:PID: 04E8:685D
Investigating this, I found:
During the process of initialization, the device accepts configuration
requests from the host computer.
When this process finishes, the device enters a state waiting ONLY for
handshake "ODIN" "LOKE". Any other request will fail and lock the
device in a error state.
PROBLEMS:
ModemManager.
The ModemManager send configuration requests to the USB
causing the lock of the device.
To avoid this, the ModemManager can be deactivated before connecting the
USB cable: su -c "systemctl stop ModemManager"
Or the device can be blacklisted for the ModemManager.
Heimdall
The call of libusb_set_interface_alt_setting send configuration requests
causing the lock of the device.
Suggestion: do not use libusb_set_interface_alt_setting.
Since there is only one altsetting, I think is not necessary
to call this function (need to investigate more!).
The call of libusb_get_string_descriptor_ascii send configuration requests
causing the lock of the device.
Suggestion: do not use.
Simple quick fix: (only comment out source)
The text was updated successfully, but these errors were encountered: