Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,809,465 Members 37,218 Now Online
XDA Developers Android and Mobile Development Forum

[WIP] USB Host support (working)

Tip us?
 
verygreen
Old
(Last edited by verygreen; 23rd January 2012 at 10:30 PM.)
#1  
Recognized Contributor - OP
Thanks Meter 2,580
Posts: 1,289
Join Date: Feb 2011
Location: TN

 
DONATE TO ME
Default [WIP] USB Host support (working)

Hello!

I have been asked into looking for usb host support for nook touch. The hardware appears to be pretty similar to Nook Color, so there were no troubles in that area.



The kernel used by B&N for the Nook Touch is somewhat older than .32 kernel used for Nook Color, so the patch itself required some massage. Surprisingly B&N kernel already has usb host support compiled in, so you don't even need to change anything in kernel config, just apply the patch.

Just like in Nook Color, the id pin in the usb receptacle is not connected anywhere, so a special app is needed to switch the host mode on and off. The Nook Color usbhost switcher should work: https://github.com/verygreen/Nook-Co...bhost-switcher though I cannot compile it for eclair, so I guess that needs some more massage and help here would be appreciated.

Meanwhile you can simply switch the mode from adb, type
Code:
echo host > /sys/devices/platform/musb_hdrc/mode
to enable usb host mode and type
Code:
echo peripheral > /sys/devices/platform/musb_hdrc/mode
to disable it.
The LED at the bottom that usually indicates charging status will light up in usb host mode even if the power is not connected.

The upside is you don't need a special OTG cable and can just use gender changer on your existing nook cable if you so desire.

Now, problems
  • I have not tracked why yet, but self powered mode only works when you try to enable it first with external power plugged in first.
  • The user-friendly tool for usbhost mode switching needs to be compiled for eclair
  • The self-powered mode is very faint. Keeps up with my keyboard, but not even with a simple usb hub.
  • Battery drain is significant, though not sure what part of it is attributed to the usbhost mode and what to adb over wifi
  • Eclair init is buggy so input devices are unusable without a patch, see commit 6405c6953fa02d41d9f6377f4cdb947604f481c4 in google tree to sytem/core/init. I am attaching recompiled init binary that works.

Attachments: binary.zip contains:
  • uImage - prebuilt 1.1 kernel with the patch
  • uRamdisk - root ramdisk with fixed init, adb over wifi
  • init - just recompiled init binary for those who might need it
usbhost_patch.zip - just the patch itself in it's current form.

THANKS TO:
andrewed, who asked me to do this and also provided me with a device. He is on a quest to touchtype on e-paper with a USB physical keyboard, all described here: Project: E-Paper Tablet (typable!)
Attached Files
File Type: zip binaries.zip - [Click for QR Code] (2.00 MB, 1163 views)
File Type: zip usbhost_patch.zip - [Click for QR Code] (13.5 KB, 1283 views)
The Following 18 Users Say Thank You to verygreen For This Useful Post: [ Click to Expand ]
 
mali100
Old
#2  
Senior Member
Thanks Meter 131
Posts: 208
Join Date: Jun 2007

 
DONATE TO ME
Thats just awesome, thanks!
 
notriddle
Old
#3  
Member
Thanks Meter 6
Posts: 43
Join Date: Dec 2011

 
DONATE TO ME
Now the only thing missing is a good ebook composer and publisher, and it becomes symetrical.
The Following User Says Thank You to notriddle For This Useful Post: [ Click to Expand ]
 
bisbal
Old
#4  
Member
Thanks Meter 10
Posts: 49
Join Date: Nov 2011
That is awesome! How about audio and serial ports?

Thanks!
 
verygreen
Old
#5  
Recognized Contributor - OP
Thanks Meter 2,580
Posts: 1,289
Join Date: Feb 2011
Location: TN

 
DONATE TO ME
Quote:
Originally Posted by bisbal View Post
That is awesome! How about audio and serial ports?

Thanks!
Audio will most probably require external power source. Also to make audio work there would need to be some changes to the libaudio, likely similar in nature to stuff I did for Nook Color, only for this older release of Android.

Serial ports will likely work as is as I don't think they draw too much power. The kernel support for usbserial would need to be added of course.
 
Thiso
Old
#6  
Member
Thanks Meter 17
Posts: 95
Join Date: Mar 2010
Possibility for Bluetooth dongle? And thus audio?

Sent from my GT-I8150 using xda premium
 
verygreen
Old
#7  
Recognized Contributor - OP
Thanks Meter 2,580
Posts: 1,289
Join Date: Feb 2011
Location: TN

 
DONATE TO ME
Quote:
Originally Posted by Thiso View Post
Possibility for Bluetooth dongle? And thus audio?
Should be possible, but would require external power for the bt dongle I would think.
 
apeine
Old
#8  
Senior Member
Thanks Meter 30
Posts: 266
Join Date: Mar 2011
Location: Sao Paulo
Verygreen,

As of now, what is the use? Can I put an external keyboard as it is? Does it need a driver (or something of the sort) for that? Can I put a usb stick? Audio and BT, as I can see, need an extra effort...
Anyway, thank you for your effort. I thought I'd never see something like that for the STR.
 
verygreen
Old
#9  
Recognized Contributor - OP
Thanks Meter 2,580
Posts: 1,289
Join Date: Feb 2011
Location: TN

 
DONATE TO ME
Quote:
Originally Posted by apeine View Post
Verygreen,

As of now, what is the use? Can I put an external keyboard as it is? Does it need a driver (or something of the sort) for that? Can I put a usb stick? Audio and BT, as I can see, need an extra effort...
Anyway, thank you for your effort. I thought I'd never see something like that for the STR.
You can use keyboard and mouse as is with just the files posted, no extra drivers need. Everything else would need more work at the android side.
 
cceerrtt
Old
#10  
Senior Member
Thanks Meter 24
Posts: 147
Join Date: Sep 2010
for some phones it is possible to buy usb to audio jack converter, e.g.
http://www.amazon.com/Headphones-Ear...7504575&sr=1-6
I don't know how much effort and changes is needed on kernel side to make it work though.

---------- Post added at 04:26 PM ---------- Previous post was at 04:21 PM ----------

Do I need to copy all three binaries? Also, could you prepare uRamdisk with adb over usb (not wifi) enabled? Thank you in advance.

Tags
usb host, usbhost
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes