[Galaxy S II Original Android Development] :
Ubuntu 11.04 x64, CF-Root, Heimdall 1.2.0 - fail

Hello,

I have the following spec:

Samsung Galaxy S2 in Australia from Mobicity (unlocked, unbranded)

Ubuntu 10.04 x64

Heimdall 1.2.0 installed from package

Cf-Root from http://xdaforums.com/showpost.php?p=14283383&postcount=3, I took CF-Root-SGS2_XW_XEU_KE7-v4.0-CWM4.zip because my "About Phone" says "Kernel Version: 2.6.35.7-I9100XWKE7-CL215725" so I figured this one is the closest. I extracted the zImage file from inside the .tar which was extract from the .zip:

unzip -p CF-Root-SGS2_XW_XEU_KE7-v4.0-CWM4.zip | tar xvf -

I tried to follow the instructions in http://xdaforums.com/showpost.php?p=14581891&postcount=45 and do:

$ sudo heimdall flash --kernel zImage

but get the dreaded "Failed to detect compatible device".

It feels like the binary should be just taught about the new device USB id.

"lsusb" gives the following output:

sudo lsusb -v -d 04e8:685d

Bus 001 Device 002: ID 04e8:685d Samsung Electronics Co., Ltd
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 2 Abstract (modem)
bDeviceProtocol 0 None
bMaxPacketSize0 64
idVendor 0x04e8 Samsung Electronics Co., Ltd
idProduct 0x685d
bcdDevice 2.1b
iManufacturer 1
iProduct 2 Gadget Serial
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 67
bNumInterfaces 2
bConfigurationValue 2
iConfiguration 5
bmAttributes 0xc0
Self Powered
MaxPower 50mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 6 Gadget Serial Control
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x00
bDataInterface 1
CDC ACM:
bmCapabilities 0x0f
connection notifications
sends break
line coding and serial state
get/set/clear comm features
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 9
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 7
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x3501
Self Powered

The process I follow is:

Turn phone off.

Turn it on while pressing volume-down+home

A warning screen comes up about custom kernels, I press the Volume-Up

Connect phone to USB

Check that it's recognized with "lsusb" and "dmesg".

Execute heimdall as above

I went through the current thread and didn't see what else should I do.

Thanks for your help (donations already sent back when I used it on my SGS I).