On Tuesday, February 28, 2012 1:40:18 AM UTC-5, David Henning wrote:
>
> I'm looking for some help understanding the current USB Host capabilities 
> of the latest Android smartphones versus an embedded processor running a 
> standard Linux build.  I've done quite a bit of driver-level Linux 
> development, but I'm totally new to Android.  
>

If you are in a position to install a customized kernel and alter the 
system partition of the devices, you can use ordinary embedded linux 
methods.  Your main hiccup is figuring out how to give an android 
application user id - which is usually allocated by the package manager - 
access to the device files, though if you are okay with giving all user 
id's access that's a non issue.  What android itself typically does for 
hardware is give ownership of them to semi-privileged GIDs which some 
system apps are able to acquire via matching android permissions.  Many of 
even first generation android devices are able to be USB hosts in this 
manner (see thread on the android kernel group, and on xda developers), 
though most of them would require custom wiring as they are unable to power 
usb peripherals.

I believe Honeycomb and later introduce some android-style APIs for talking 
to USB peripherals from userspace without per-device kernel drivers - 
something akin to libusb, though obviously not libusb.  It's not something 
I've yet had cause to try it personally, but the docs are at h
ttp://developer.android.com/guide/topics/usb/host.html<http://developer.android.com/guide/topics/usb/host.html>
.

As a general comment, working on a USB host project (using either linux or 
android methods) on and android device will be an exercise in extreme 
frustration unless you have a uid-shell (or better) shell session running 
on it via some non-usb channel that remains available while testing your 
USB host project.  That likely means either getting ADB's daemon listening 
on TCP (if you have root) or else launching an ssh server from the adb 
shell before unplugging from the pc and switching to host mode. 


-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to