NOTICE: This content was originally posted to Google+, then imported here. Some formatting may be lost, links may be dead, and images may be missing.
USB Host Diagnostics determines your device's USB host capabilities.
USB host is a very powerful feature of recent Android based smartphones and tablets, but on many firmwares (both stock and custom) the feature is somewhat broken.
For example, at launch the Galaxy Nexus told all the apps and the Market that it supported USB host, but USB host did not actually work (this was fixed in the Android 4.0.2 update). This broke several apps.
That is just one example of many. There are even cases where OEMs advertise USB host support, but the device does not support it at all. It appears as if USB host support isn't tested by Google or the OEMs when they push out new firmwares and devices at all.
As we cannot depend on Google or the OEMs to correctly provide information regarding USB host support, and the Android framework will regularly lie about it to both the Market as well as Android apps, this application was created so you can test your device's USB host capabilities for yourself.
If you allow it, the app will also submit your results to my website, so together we can create a complete database of devices and firmwares and their USB host support.
This tool may also come in handy for those porting firmwares.
Android 2.3.1 or newer
USB OTG cable (unless your device has a fullsize USB port)
USB memory stick, or another USB device to test the connection with
The download can be found on Market here:
The result database is available here:
The discussion thread on XDA-Developers can be found here:
Great app! Can you share what it actually does if it tries to fix android USB host?
Answering my own question: it seems that all that was missing were android.hardware.usb.accessory.xml and android.hardware.usb.host.xml in /system/etc/permissions/