Guide: ADB support on Samsung Galaxy 7500 (x86, Windows XP)

It was quite of a headache to configure, so I’m sharing the info!

As of November 09, following the official Google documentation on how to install Android USB drivers for Windows XP is not working.

Not working, at least on my Galaxy (recently purchased from Cellcom, an Israeli operator). I guess it contains a special firmware patched for Hebrew support, but I doubt that this is the reason for the trouble (as many other people all over the world complain about the difficulty to configure their own device…)

Here we go…

  1. On your device, go to “Settings/Applications/Development” and check “USB debugging”.
  2. Connect your device to your computer via USB.

At this point, a new device should have been detected: “Samsung Android USB Device”.
Don’t install any driver yet. Just open the Device Manager and check the device’s details:

You should read in the “Device Instance Id” field something like: USB\VID_04E8&PID_6640\I7500xxxxxxxxxx
And here lies the problem: we only see a “class id” (“6640” in this case)

What we would also like to see is at least one “sub-class id”, like in the following “Device Instance Id”:
USB\VID_04E8&PID_6640&MI_04\I7500xxxxxxxxxx_04
A “sub-class id” of “04” corresponds to the “Bootloader” component, which seems to be the minimum requirement for ADB support on your device.

So to recap: “out-of-the-box”, the Galaxy is not providing the correct device id.
Hopefully, the cure is as follows:

  1. Unplug your device.
  2. Install the “Samsung PC Studio” (I used the following version: “New_PC_Studio_1.3.0.IH4.exe”)
  3. At the end of installation, do not start the program when you’re asked for.
  4. Replug your device.

At this point, many things should happen in parallel:

  • The Samsung PC Studio should start.
  • A bunch of drivers (e.g. “SAMSUNG Mobile Modem”) should be installed automatically.

Then, some devices should still be unrecognized. Exactly what we’re looking for!
In the device manager, check if one of the “unknown devices” provides an id similar to:
USB\VID_04E8&PID_6640&MI_04\I7500xxxxxxxxxx_04

If so, you’re lucky! Somehow, the Samsung PC Studio is providing some additional drivers which are affecting the way the device is recognized.
The only thing left is now to install a “patched” version of the USB drivers provided by Google…

The Google drivers in question seem to support only HTC devices by default. Therefore, there’s a need to add some hardware definitions related to our Galaxy.

The following patch is based on the “USB Driver for Window, r1” (available in the “Android 1.5 Platform, Release 3”), but it should be simple to transpose it to the latest revision (r2), which comes with the “Android 2.0 Platform, Release 1”.

Locate the file “android_usb.inf” in the “usb_driver\x86” folder of the SDK and edit it:

a) At the end of the [Google.NTx86] block, add:
; SAMSUNG GALAXY
%USB\VID_04E8&PID_6640.DeviceDescRelease%=androidusb.Dev, USB\VID_04E8&PID_6640
%USB\VID_04E8&PID_6640&MI_00.DeviceDescRelease%=androidusb.Dev, USB\VID_04E8&PID_6640&MI_00
%USB\VID_04E8&PID_6640&MI_04.DeviceDescRelease%=androidusb.Dev, USB\VID_04E8&PID_6640&MI_04
%USB\VID_18D1&PID_D00D.DeviceDescRelease%=androidusb.Dev, USB\VID_18D1&PID_D00D

b) At the end of the [Strings] block, add:
; SAMSUNG GALAXY
USB\VID_04E8&PID_6640.DeviceDescRelease=“SAMSUNG GALAXY”
USB\VID_04E8&PID_6640&MI_00.DeviceDescRelease=“SAMSUNG GALAXY Composite ADB Interface”
USB\VID_04E8&PID_6640&MI_04.DeviceDescRelease=“SAMSUNG GALAXY Bootloader”
USB\VID_18D1&PID_D00D.DeviceDescRelease=“SAMSUNG GALAXY Fastboot Interface”

  1. Then, for all the “unknown devices” with with a “class id” of “6640”: install this driver manually (you’re advanced enough to know how to do that, right?)

On my machine, there’s only one of these unknown devices (with a sub-class id of “04”). But as you can see, the patch is taking in count another sub-class id of “00”, which corresponds to the “Composite ADB Interface” (note that ADB is working as intended here without that one…)

If everything went ok, you should see a new category in the Device Manager called “ADB Interface” and inside, at least one entry: “SAMSUNG GALAXY Bootloader”.
On the command-line, invoking “adb devices” should now show your Galaxy. And of course, inside Eclipse, you should see it as well in the “Devices” view.

Finally, you may want to uninstall the Samsung PC Studio (no harm, go for it…)

Happy on-device-debugging then!