Benjamin-Dobell/Heimdall — Issue #28: heimdall does not work with Docomo SC-03D
Author: cdepillabout
Created: 2011-11-28 06:25:09+00:00
State: open

Heimdall will not communicate with the the Docomo's version of the Galaxy S II 4G, know as the Galaxy S II LTE (SC-03D). (Docomo is a Japanese phone company.)

Here is the output when trying to flash a recovery image ripped from the phone itself:

# heimdall flash --recovery dev-block-mmcblk0p22.img --verbose
Heimdall v1.3.1, Copyright (c) 2010-2011, 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: "Samsung"
Product: "MSM8x60"
Serial No: "?"

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...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...

Checking if protocol is initialised...
Protocol is not initialised.
Initialising protocol...
ERROR: Failed to initialise protocol!
Re-attaching kernel driver...
#

The recovery image was ripped with a command like this (on the phone):

# dd if=/dev/block/mmcblk0p22 of=dev-block-mmcblk0p22.img bs=512k
...
#

After a little investigation into the code, it appears it is getting a failure result on line 100 on BridgeManager.cpp:

int result = libusb_control_transfer(deviceHandle, LIBUSB_REQUEST_TYPE_CLASS, 0x22, 0x3, 0, nullptr, 0, 1000);

I am willing do to the work needed to get this device supported, but I'm not sure where to start. After looking at the patches required to get other devices supported, it doesn't look like anyone has ever had to change this line.