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.
Related
I'm interested in using "ADB over Wi-Fi" for debugging and troubleshooting my Android Studio application developments?
I already have two tablets that I will like to use for developing instead of using the slow emulator. The problem is that the manufacturer ACER does not provide suitable (Windows 8) ADB compatible driver for them.
I believe the "ADB over WiFi" will make these tablets useful for programming and testing on real devices. I have been searching around but have only found apps requiring a functional USB port on the tablet for the initial configuration.
+Most apps in Google Play require Rooting and a USB in order to work. I do not want to root AND sadly my USB ports are useless, so the question is:
Does anyone of you know any other way to do this? Achieving ADB over Wi-Fi without Rooting and without a USB port?
Thanks all
This one works perfect for me:
https://play.google.com/store/apps/details?id=com.ttxapps.wifiadb&hl=es
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 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'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.
I'm a newbie to the Android development world but have some experience with embedded systems.
I'd like to use an Android phone (4.x or higher) to control other devices via its USB port. We want to set the Android device as a USB host, so solutions where other devices play the host role (e.g. Android Open Accessory Development Kit's Arduino) will not meet our goal.
We are currently using Eclipse-SDK for Android development and successfully have compiled/run/debug several apps. However, I have a very naive question. I was wondering if there is a way one could use the USB port of the development host PC as an input to the Android Virtual Device emulator.
I realize that an easier way to debug the USB-host apps we are writing would be by having a real device. However, the price of the new Ice Cream Sandwich devices is somehow far away from our reach and not the ideal way for debugging an application at its early stages.
I appreciate any help you can provide me with.
The Android Open Accessory Dev kit has been backported to 2.3.4 see here http://developer.android.com/guide/topics/usb/adk.html
So install CM7 or earlier (http://www.cyanogenmod.com/) on your HTC desire and you should be good to go!
Look at the example projects for the 2.3 SDK should help get you going in the right direction.
Path to SDK Samples for me was C:\Program Files\Android\android-sdk\samples
If your looking for USB Host Support basically control and talk to another usb device such as mouse, keyboard, usb thumb drive etc the following should help.
Nexus One as USB Host: http://sven.killig.de/android/N1/2.2/usb_host/
USB Host: External USB devices to Android phones?
Official Android SKD UsbDevice Class: http://developer.android.com/reference/android/hardware/usb/UsbDevice.html
You should take a look at this project, its a great reference
https://code.google.com/p/mover-bot/