1. Home
  2. Mobile
  3. Enable usb host function on samsung galaxy s i9000 and captivate

Enable USB Host Function On Samsung Galaxy S I9000 & Samsung Captivate

The Galaxy S series, is surely a league of Android devices with seemingly unlimited development coming in from fans. USB host functionality has been a hot topic for a about a year now with more and more Android devices seeming to support the function, especially the newer Android devices. That said, Ice Cream Sandwich is all the rage right now, and would it not be awesome if the Galaxy S got USB Host functionality while running the ICS OS? Indeed it will be, or should we say it is, thanks to XDA-Developers forum member sztupy who took the kernel form Teamhacksung’s ICS Build 14 and modified it to enable the USB Host function on the Galaxy S and the Captivate as well.

image However, this would only function on that very ROM (Teamhacksung’s Build 14), and yes, it is a kernel that needs to be flashed to the phone. Currently, only USB 2.0 devices seem to be working. This includes, flash drives, and other accessories like Canon DSLRs and possibly more.

According to the developer:

USB 1.x devices doesn’t seem to work. This includes almost all HID devices (like keyboard and mice).

Also you will need to power the devices externally, as the phone doesn’t give out power on the OTG connector.

USB device enumeration is also broken sometimes, and it will not re-enumerate mass storage devices after they have been connected. (This means you cannot connect another Android phone as a mass storage device. WM phones are fine though). The built in root hub will never re-enumerate devices, they have to be already connected to the phone when you switch to host mode for them to work.

Disclaimer: Please follow this guide at your own risk. AddictiveTips will not be liable if your device gets damaged or bricked during the process.


  • A rooted Galaxy S or Captivate with custom recovery installed. Considering you’re on ICS running Teamhacksung’s ROM, you already have that covered
  • Custom Kernel for (https://android.sztupy.hu/dl/usbhost/kernel_usbhost_build1.zip) Galaxy S | for (https://android.sztupy.hu/dl/usbhost/kernel_usbhost_build1_captivatemtd.zip) Captivate
  • USB Host Controller.


  1. To begin, download the kernel from the link above and copy it to the root of your SD card.
  2. Boot into recovery and  wipe cache and the dalvik cache.
  3. Time to flash the kernel, and you can do so by navigating to install zip from sdcard > choose zip from sdcard and selecting the custom kernel copied to the device.
  4. Once the kernel is installed, install the USB Host controller form the Android Market to control the USB devices connectivity.

For updates and queries, head over to the forum thread at XDA-Developers.


  1. I have a Galaxy SL i9003, will this method work on my phone as i9003 is not so different from the i9000. And also, my i9003 is running on Android 2.3.6 with root. Please can you tell me, what steps I have to follow to make this method work on my phone???? Means, do I have to install any custom ROM or ICS or whatever. Also, does this method only work for Ice Cream Sandwich and not Gingerbread??? Also, what is Teamhacksung’s Build 14 ROM(is it any custom ROM???). What is the relation of ICS with Teamhacksung’s Build14???? How can I install a custom ROM(Teamhacksung’s Build 14 ROM) on ICS??? Is it possible??? Please, help me I’m new to Android. Please, help me….. Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.