androidusbandroid-open-accessory

Android Open Accessory not detecting external Hardware


I’m trying to set up an Android Open Accessory environment with no success. I’m using the PIC32MX250F128D controller on my board, I’ve implemented a Firmware that works in USB Host mode and handles all the Android Open Accessory Protocol. I have also an Android App to detect any external hardware plugged in the USB conector. The problem is that I’m not getting any USB “physical answer” from the tablet. From the USB 2.0 Standard (and from this document as well https://source.android.com/accessories/aoa.html ) The Accessory (the external hardware), acting as a USB Host, should wait for a 100miliseconds signal from the USB Device (Android Device, tablet, smartphones, etc..). That’s the very first step on the USB Phy Standard. What might be happening is that the USB on the Tablet side is acting as a Host and also waiting for this signal from an external Hardware. Is there any android configuration that enables USB open accessory, or something like that? Also, How can I know in which mode the USB in android is operating, or what is the "normal" mode USBHost or USBDevice?


Solution

  • Finally I've got it solved :). I wasn't able to detect any hardware signal, the hardware signal is either D+ or D- pin set to high and the other to low. If D+ is set to high the USB Device operates in full-speed mode, otherwise in low speed mode. I've found out that Android works in host or device mode looking at the cable plugged in. My cable was telling android to operate as host, so I didn't receive any Device Attach signal from Android.