We're looking to start some development which will require USB Host functionality on Android. We were going to use the Samsung Galaxy 10.1, but this question suggests that Samsung have removed this api.
What tablets definitely have this working fully?
The US version of the Motorola Xoom Wifi-only (MZ604) is your best shot. This is a GDE (Google Device Experience) which means that it is a clean Android version. In other words Motorola has not done any modifications to Android and the USB-host API is intact.
Check my thread on the motodev forum.
I can't verify the Samsung has removed the USB API from the Galaxy Tab 10.1 with OS 3.2, but I can verify that its full functionality is not present.
The Tab apparently has a special handler for HID devices, and a number of USB devices do not enumerate at all.
I use two:
Google Galaxy Nexus OTG works, while I initially assumed it does not by using the wrong cable. There is OTG cable and there is micro USB device cable, both fit into connector but they are not the same.
Lenovo Thinkpad tablet just has the additional normal size USB connector, same as ordinary laptop. It is for USB host devices, and these devices work when connected.
Related
I want to make communication between tablet and a SoC. For this the tablet must support USB Host Mode APIs. As per Android.com, any android device having android version 3.1 or above should support it but in reality it's not true. Tablet manufacturers may have their own implementation too. So before buying a tablet I want to be 100% sure that the tablet I'm buying supports this functionality.
I am particularly looking for some popular western tablets like Samsung Galaxy Tabs, Acer Iconia Tabs, Sony Tabs ...
If anyone can confirms that this XXX tablet supports this facility, can he also test it with usb sample application or provide some links. It would be so generous of him.
Reference: https://stackoverflow.com/questions/10212433/confused-with-usb-host-mode-compatibility-on-different-devices
The OEM can only tell you that whether host mode is supported for xxx tablet or not. But there is a simple APP exist in android market named "usb host controller". download and install it on the device u want to check for host mode capability. In the info tab it will display that whether it supports or not and if supported, active or not and stuff like.
Hope it will solve ur problem.
So I tried things out today,
MTP & PTP
Connecting tablets to each other:
it seems that connecting the nexus 7 with for example my Mediapad (with mtp enabled on the mediapad), does not work at least not for FX file explorer it does not show any usb storage for example. This is because I think FX explorer has no build in mtp support.
Set up example:
Mediapad <-- (Micro to male A) --> <-- (Female A to micro OTG cable) --> Nexus 7
When turning on ptp instead of mtp the nexus automatically opens the gallery app and shows all the images from my mediapad. So android supports reading ptp devices as well as pretending to be a ptp device. But we can't say the same about mtp, because android can't read mtp devices or at least the app I used couldn't. But connecting a android device to your computer using mtp works off course.
I also tried this visa versus so reading the nexus files, the same results.
When connecting a phone that does not support mtp to my tablet(Mediapad) things work out fine, the file explorer on my tablet finds the connected usb device.
Using keyboards and usb sticks
Reading usb sticks, keyboards, hubs etc works for the Mediapad.
The same for the Nexus 7 but I did not get usb sticks working on FX file explorer may be because of the fact I don't have the full version of the app on that device.
It's late here in Holland, tomorrow I will get the full version and try it out again cause it seems that it should be possible.
USB according to the developers site
So I started reading the USB developers guide, as far as I can tell I think reading a mtp device from another android tablet should work, but you will have to build the code for it your self.
At the moment I don't have much time to do any more research, but in the feature I will eventually try it all out my self with some coding.
A small conclusion:
Reading another tablets files when the tablet you want to read only supports MTP mode is not possible by default, but it could be made possible using the usb api.
Reading usb devices using the host mode works fine for the Mediapad and for the Nexus 7 so far. For the Mediapad I’m 100% sure, and for the Nexus 7 because I don't use it that often 99%.
Not sure if this if what you wanted to know, but I really hope you can do something with it. And I hope some more people will be interested in this topic and post there thoughts on it. I'm not really a usb developer my self so its all kinda new for me to, and I hope my poor dyslexia-hollandia English will not ruin your day ;)
Some tablets like Lenovo Thinkpad just have a regular USB connector, same as laptop. They do support USB host mode. If you are not sure if the micro USB (OTG) will work or not, just a use tablet that fetures a separate "normal" USB port.
For me Samsung Galaxy Tab 10.1 worked quite well. I managed to integrate the RFID ME USB RFID reader. Of course you would need the Samsung Galaxy Tab SD Card and USB Adapter too.
I was wondering if the sprint galaxy nexus supports the usb host mode? As stated here it is supposed to be available on android versions above 3.1. The galaxy nexus uses ice cream sandwich(version 4+) so it should have it. This video shows someone using the galaxy nexus with a usb mouse attached, so the stock galaxy nexus version should have this capability. I was just wondering if Sprint changed the kernel in someway that disabled the usb host mode functionality. This site states that the galaxy s from sprint has "Mass storage device, USB Host, USB charging" as a feature but for the galaxy nexus from sprint the only feature listed is "USB charging."
I only realized this might be a missing feature because when I tried to set up a small test app using the Usb host mode api no device that I connected was ever recognized. I tried pluggging the device in after device startup and before device startup. I was reading the logcat wirelessly as is defined here so I could moniter what would happen when I was plugging a usb device in and removing it. Logcat displayed nothing. Any explanation or links to other sites saying that the Sprint galaxy nexus does or does not support usb host mode would be much appreciated(only Sprint, I beleive Verizon does support it, but I have a Sprint test device). Thanks.
Stock Galaxy Nexus works for me with USB Host mode. Been able to use the Ant+ receiver with no problems.
I want to build an app for my android tablet that will receive and send data to two usb devices on different ports. Before I start I'd like to know if such thing is possible?
Absolutely possible.
I'm currently developing on a Toshiba Thrive for a USB data acquisition device, and I can route through a USB hub to access multiple devices.
You should make sure you are developing on a device that supports USB host mode (the galaxy is known to have usb issues, while the Toshiba Thrive does quite well with a full size USB type A port). I'd also recommend running honeycomb at least, ICS and JB are better. Yes, I know the API has been backported, but again, users have reported issues.
we know the Samsung Galaxy S3 will have USB host but do you guys have any knowledge if also the USB APIs will be public/accessible or blocked on the Samsung Galaxy S3 to allow developing apps requiring access to these APIs?
It will be similar to other SGs.
Same access through the android OS/(Linux if rooted) as normally.
I have a galaxy S3 and apps like 'USB Host Viewer' and 'USB Host Controller' are able to see slave devices just fine with an OTG host adaptor connected.
I'm going to assume this means that the APIs are enabled but as I'm yet to find a usb driver that will l
Could someone please provide a comprehensive list of which devices do and do not support USB Host mode out of the box with no rooting, OS rebuilding, or cable hacking required? I've read that only tablets support it. Then I've read that the Droid supports it. Many posts are a couple years old so not sure what is applicable now in March, 2012. I've read that Windows phones support it? Maybe its time to switch to that. Does iPhone 4s support it?
There is a pretty good chart, based on user submissions from actual devices here:
http://usbhost.chainfire.eu/
You can read the forum thread for more details on the methods for data collection:
http://forum.xda-developers.com/showthread.php?t=1493325
I was also struggling to find which of the devices support USB hosting. After trying various devices it is clear that just having Android 3.1 or higher does NOT guarantee that your phone support USB Hosting.
I came across this Google Spread Sheet which lists various devices with USB Hosting.
You can also contribute to this list by submitting your responses through this Google Form.
Hope this helps !
"Provide a comprehensive list?" Pretty tall order there, pardner ;)
Nevertheless, support for USB Host Mode is available on Android 3.1 or higher:
http://developer.android.com/guide/topics/usb/host.html
Here's an extremely interesting article about interfacing an Arduino to an Android:
http://createdigitalmusic.com/2011/05/android-adds-usb-host-mode-open-hardware-development-with-arduino/
And you can Google for specific Android 3.1++ devices that support USB Host Mode (including, of course, the Xoom tablet)
'Hope that helps
EDIT: I have found a very helpful answer which worked for me (on Yarvik TAB464) and enabled a full USB host mode: Android USB host and hidden devices - however I expect it to work on rooted tablets only :( (it seems that the Yarvik tablet comes pre-rooted).
OLD ANSWER: This is pretty frustrating. Many tablets claim to support USB HOST mode, but only a selected subset of the devices are supported: mouse, keyboard, mass storage and that's it. For example, http://www.yarvik.com/en/products/tablets/tablets_10/TAB464/ claims to support USB HOST mode; a mouse connected to the tablet works, but owner.getPackageManager().hasSystemFeature("android.hardware.usb.host") returns false and UsbManager.getDeviceList() returns always empty map, so it certainly does not support all USB devices (both 4.0.3 and 4.0.4 versions of Android provided by Yarvik). Installing Cyanogen on the device may perhaps help but this is something I would like to avoid, because of possible stability issues.
Also, Samsung Galaxy 10.1 Tablet does not work, according to Android Usb Host Problem with Samsung Galaxy 10.1 Tablet
There is only a handful of devices which actually support full USB HOST functionality out-of-the-box, but I have yet to see a complete, up-to-date list with all items actually verified. I confirm that the ASUS Transformer TF101 has full USB HOST mode, however I tested it on a rooted device only, not on the "vanilla" firmware.
Here is another list of devices with full USB HOST mode, but please take it with a grain of salt:
http://www.lonelyplanet.com/thorntree/thread.jspa?threadID=2114206
The Toshiba Thrive has one full USB port.
Lenovo ThinkPad Tablet has a full USB port.
Acer Iconia Tab A500 one full USB port.