Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,740,298 Members 42,852 Now Online
XDA Developers Android and Mobile Development Forum

[KERNEL][ICS][anykernel] USB Host mode (OTG) driver for Nexus S [BUILD 5]

Tip us?
 
sztupy
Old
(Last edited by sztupy; 28th January 2012 at 06:55 PM.)
#1  
sztupy's Avatar
Recognized Developer - OP
Thanks Meter 854
Posts: 1,054
Join Date: Dec 2008
Location: London

 
DONATE TO ME
Angry [KERNEL][ICS][anykernel] USB Host mode (OTG) driver for Nexus S [BUILD 5]

USB Host mode driver for Nexus S

Also available on the Samsung Captivate and Samsung Galaxy S

(main post and more info at the SGS dev site)


Disclaimer: This kernel will enable some very early, and rough usb OTG support for your phone. Currently the phone DOES NOT give out power, so you NEED an external power source to be able to use this kernel. This is true for ALL USB devices, even with those that have their own power source, and doesn't requre external bus powering. Solving this limitation is a TODO, but we cannot guarantee anything. There are some other phones that have usb host support the same way this kernel has (eg. they need external power), like the Nexus One, and there is also a community using this, so if you're saying that usb host support has no sense if you need an external power source then you are definitely mistaken.

This kernel is built upon the official ICS kernel from google's git repository. It is possible to port this to older ROMs (like CM7, or stock Gingerbread). Ask your favourite kernel developer to do this for you.

Credits goes to:
  • The misterious guy at Samsung(?) called chul2 for the original s3c host drivers
  • Kevin Hester (kevinh, probably also nicknamed geeksville, punkgeek and humcycles) for fixing the s3c host driver for the Samsung Galaxy Tab
  • Ever kernel developer at teamhacksung for bringing ICS goodness to Galaxy S

This is a very early, and very rough usb host support. Expect crashes, freezes and things that are not working! You will also need external power (probably through a Y-cable or a powered usb hub, see the device connection guide below). Also make sure you are only using USB 2.0 (high-speed) devices. The driver does has some quirks with USB 1.x low-speed and full-speed devices, like mice, keyboards and similar things. Read the FAQ for more information about them. And of course it doesn't work with USB 3.0 (super-speed) devices.

Device connection guide:


FAQ: see post 2 at SGS
ChangeLog: see post 3 at SGS
Developer notes: see post 4 at SGS
Download links: see post 6 at SGS

Usb Host Controller: see it's own topic
The Following 32 Users Say Thank You to sztupy For This Useful Post: [ Click to Expand ]
 
MaXmeOliver
Old
#2  
Senior Member
Thanks Meter 40
Posts: 350
Join Date: Sep 2009
Location: Sweden

 
DONATE TO ME
Interesting! Following.
 
skitapa
Old
#3  
Senior Member
Thanks Meter 18
Posts: 133
Join Date: Apr 2011
Holy crap, got to check this out in the morning :D
 
coolfranz
Old
(Last edited by coolfranz; 23rd January 2012 at 12:16 AM.)
#4  
Member
Thanks Meter 18
Posts: 90
Join Date: Jan 2011
Thanks sztupy for porting this to the Nexus S!

I flashed your Kernel to my Nexus S (i9023). First of all it does boot, everything seems to work, did not brick my phone

The Nexus also found my hub in way, but i couldn't see any devices. But i won't say it is a problem with your kernel, i think it is more a problem with my insufficient wiring because i have not enough cables/adapters yet, but i will get some this week, so i can do more testing then!

So here is what UHC showed so far:
The Following 2 Users Say Thank You to coolfranz For This Useful Post: [ Click to Expand ]
 
sztupy
Old
#5  
sztupy's Avatar
Recognized Developer - OP
Thanks Meter 854
Posts: 1,054
Join Date: Dec 2008
Location: London

 
DONATE TO ME
Quote:
Originally Posted by coolfranz View Post
Thanks sztupy for porting this to the Nexus S!

I flashed your Kernel to my Nexus S (i9023). First of all it does boot, everything seems to work, did not brick my phone

The Nexus also found my hub in way, but i couldn't see any devices. But i won't say it is a problem with your kernel, i think it is more a problem with my insufficient wiring because i have not enough cables/adapters yet, but i will get some this week, so i can do more testing then!

So here is what UHC showed so far:
It does seem to be working according to this picture. Thanks for testing!
The Following User Says Thank You to sztupy For This Useful Post: [ Click to Expand ]
 
minori_aoi
Old
#6  
Senior Member
Thanks Meter 26
Posts: 257
Join Date: Jun 2008
Location: Jakarta
can this be used as tv out ???
Sony Ericsson T100 > Motorola C380 > Mitac Mio 8380 > Samsung E730 > Motorola E680 > Motorola MPX200 > Dopod S300 > Nokia N76 > Motorola Droid > Blackberry Tour 9630 > Palm Pre Plus > Samsung Focus > LG Optimus 2x > Nexus S (I9023) > Sony Xperia U ST25i > Smartfren Andromax U LE > Nexus 4 E960 > iPhone 5
 
skitapa
Old
#7  
Senior Member
Thanks Meter 18
Posts: 133
Join Date: Apr 2011
In theory it should work, with an usb graphics card. However I am not read up on the subject.
 
sztupy
Old
#8  
sztupy's Avatar
Recognized Developer - OP
Thanks Meter 854
Posts: 1,054
Join Date: Dec 2008
Location: London

 
DONATE TO ME
Quote:
Originally Posted by skitapa View Post
In theory it should work, with an usb graphics card. However I am not read up on the subject.
It does work on the Nexus One with an usb monitor: http://sven.killig.de/android/N1/2.2/usb_host/
The Following User Says Thank You to sztupy For This Useful Post: [ Click to Expand ]
 
devgee
Old
#9  
devgee's Avatar
Senior Member
Thanks Meter 189
Posts: 473
Join Date: Dec 2011

 
DONATE TO ME
this is awesome !!

Sent from my Nexus S using xda premium
 
melvinchng
Old
#10  
melvinchng's Avatar
Recognized Contributor
Thanks Meter 1749
Posts: 4,147
Join Date: Oct 2010
Location: San Jose, CA

 
DONATE TO ME
If this works, we have video output and USB input via the USB pin right?

Sent from my Nexus S using xda premium
MelvinChng @ Google+
MelvinChng @ Twitter
MelvinChng @ Facebook
MelvinChng @ YouTube
MelvinChng @ Instagram

How to remove pattern unlock with ADB and Debugging ON [No-ROOT]/[ROOT]

LG G2 D801, B&N Nook HD+, Asus Transformer Book T100
Running custom ROM and Kernel
Was using HTC Wildfire, Google Nexus S, Galaxy Nexus, Samsung Galaxy Note 2

Dell Precision T7500 Workstation
Windows 7 Ultimate, Ubuntu 14.04

Question? This video might help you.

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes