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

