FORUMS
Remove All Ads from XDA

[KERNEL][ICS-CM9 or JVU] USB Host mode (OTG) driver for SGS i9000 [BUILD 5]

1,061 posts
Thanks Meter: 877
 
Post Reply Email Thread
22nd January 2012, 05:23 AM |#101  
sztupy's Avatar
OP Inactive Recognized Developer
Flag London
Thanks Meter: 877
 
Donate to Me
More
Build 3 released
Build 3 is the same code as Build 2, but it is built from the original GB/U2 kernel sources with JVU and CF-root 4.3 (link: http://forum.xda-developers.com/showthread.php?t=788108 )

This kernel update works through Odin and does not contain "Usb Host Controller". You can download it from the market though.

One of the most visible changes are that USB 1.x devices do work on this kernel, but their working are a bit strange:
  • If connected straight to the phone they work fine. I've tried a mouse, a keyboard and a wireless mouse+keyboard combo. All three worked, although sometimes I had to unplug and replug them for the phone to recognize them. Mice and keyboards do work out of the box on the JVU version of android though, you will get a nice small mouse cursor, that you can use the same ways as you use it on a PC
  • They do not work if connected through an USB 2.0 hub, they throw the same errors, and won't enumerate
  • You can connect more than one USB 1.x device if you have an USB 1.x HUB though (I found one covered in dust in the attic ). I did need to unplug/replug it at least 20 times before all of the devices I connected to it were enumerated properly. After that they did work without problems though. You can also connect USB 2.0 devices to the USB 1.x hub, but they will work with inferior speed of course.

It also seems that some RFS code in the JVU ROM is sometimes trying to do something with the freshly connected flash drive. Doesn't really does anything useful though.

The sources can be found here: https://github.com/sztupy/samsung_kernel_galaxys_gb
They have been "hand ported", so they should apply to any GB kernel source without problems.

Now that I know that usb 1.x devices work I think I'll know why they fail on the CM9 build. Going to fix that.

Download link is at post 6, as usual.
The Following 6 Users Say Thank You to sztupy For This Useful Post: [ View ] Gift sztupy Ad-Free
 
 
22nd January 2012, 07:00 AM |#102  
sztupy's Avatar
OP Inactive Recognized Developer
Flag London
Thanks Meter: 877
 
Donate to Me
More
Build 4
Build 4

Fixed the USB 1.x issue on the CM roms too.

The problem was that since kernel 3.x they started checking whether the root hub has a TT (transaction translator, which is responsible for converting USB 1 signals to USB 2 signals) and they hard coded that USB 2.0 root hubs doesn't have TT's. (quite stupid if you ask me) I haven't really found a way to circumvent this nicely so I simply hardcoded that our device's root hub does have a TT.

The other issues still remain though with USB 1.x devices, but at least external mice and keyboards are working (probably gamepads can be connected too now).

Download link at the usual location.
The Following 4 Users Say Thank You to sztupy For This Useful Post: [ View ] Gift sztupy Ad-Free
22nd January 2012, 07:05 AM |#103  
sztupy's Avatar
OP Inactive Recognized Developer
Flag London
Thanks Meter: 877
 
Donate to Me
More
Quote:
Originally Posted by Epic_VS

Is anybody working on porting this to the Nexus S? If so I can test.
Sorry for my impatience.

I don't know anything about an ongoing Nexus S port. I will help, but only if the following list is true:
  • The kernel source is avialable on github. It is either a kernel for gingerbread (>=2.6.35) or for ICS (>=3.0)
  • It also contains (or has links to) the initramfs and all the other files needed to create an update.
  • If creating the update is not straightforward I also need a script to do this for me
  • After the update is made I need someone with the device to test it for me. If the feedback is positive I'll build versions for that device too, whenever something is changed.

(added this porting checklist to the FAQ too)
The Following User Says Thank You to sztupy For This Useful Post: [ View ] Gift sztupy Ad-Free
22nd January 2012, 09:35 AM |#104  
Member
Thanks Meter: 1
 
More
Smile
@sztupy sir i didn't understand your post on build #3... you said that usb 1.x devices (mouse, keyborad,etc...) works when connected directly to the phone??? no need for a hub then... so i neeed only otg cable and mouse... YOU sir are LEGEND!!!!!
22nd January 2012, 10:27 AM |#105  
Chainfire's Avatar
Senior Moderator / Senior Recognized Developer - Where is my shirt?
Thanks Meter: 86,131
 
Donate to Me
More
Great work - still hope you (and Adam?) figure out powered host.

Sent you some beers!
The Following User Says Thank You to Chainfire For This Useful Post: [ View ]
22nd January 2012, 10:32 AM |#106  
Chainfire's Avatar
Senior Moderator / Senior Recognized Developer - Where is my shirt?
Thanks Meter: 86,131
 
Donate to Me
More
Also, it seems the BUILD3/JVU link is wrong.
22nd January 2012, 10:53 AM |#107  
Member
Thanks Meter: 1
 
More
what is the maximum donation you accept
22nd January 2012, 10:54 AM |#108  
Junior Member
Flag Athens
Thanks Meter: 7
 
More
Quote:
Originally Posted by Chainfire

Also, it seems the BUILD3/JVU link is wrong.

Just logged in to write the same. I downloaded the supposed JVU kernel but it's for CM9. Also _does_ contain the controller app in system/app, contrary to what stated in post #6.

When the link is fixed, I suppose it is ok to flash it on JW1?
22nd January 2012, 10:54 AM |#109  
Member
Thanks Meter: 4
 
More
tanx for great job, is there any future plan for using usb-flash without external power? you know, when connecting a flash to SGS2 it works fine and there is no need for external power.

ps: I know that using devices such as external hard drive will need power, but it seems (at least to me!) that using flash disks will not need any external power.
22nd January 2012, 11:33 AM |#110  
Member
Flag London
Thanks Meter: 8
 
More
Quote:
Originally Posted by mf_417

tanx for great job, is there any future plan for using usb-flash without external power? you know, when connecting a flash to SGS2 it works fine and there is no need for external power.

ps: I know that using devices such as external hard drive will need power, but it seems (at least to me!) that using flash disks will not need any external power.

I am still hopeful that this can be done. May be the current draw from the USB port is also modifiable. If it can be allowed for a max of 1A draw - even USB HDDs will work

Yeah - go ahead, call me a dreamer - but my dream of USB host on SGS came true, ain't it?
The Following 2 Users Say Thank You to coooolboyz For This Useful Post: [ View ] Gift coooolboyz Ad-Free
22nd January 2012, 02:33 PM |#111  
Member
Flag Timisoara
Thanks Meter: 42
 
More
Great work guys! But i have one question:
A friend of mine give me an micro USB to USB male adaptor. Can I use it in some configuration to receive data? Maybe with a USB Y cable!
Or a OTG cable it's a must!

Thank you!

Sent from my GT-I9000 using Tapatalk
Post Reply Subscribe to Thread

Tags
host, ics, kernel, usb

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes