We have a USB accessory that uses the Open Accessory Protocol to send USB data packets to an App running on Android smart phones. This works very well when the Android device is running Jelly Bean (JB) or Ice Cream Sandwich (ICS), but gives the following errors with devices running Kitkat:
1) Data packets sent by the accessory aren’t received by the App. For some reason the low level USB interface on the device isn’t providing these packets to the Application. 2) Packets that are delivered to the App are sometimes corrupt or incomplete, e.g. we’re seeing corrupt packets or partially delivered packets.
We have now modified our accessory software to make sure that every USB data packet is transmitted as a multiple of 64 bytes. This wasn’t necessary on JB or ICS, but has made some improvement to the Kitkat interface. But we are still missing the majority of data packets.
Has anyone had any experience of interfacing to Kitkat via the AOAP? Has anyone had problems with USB data communications with Kitkat that are not present with Jelly Bean or Ice Cream Sandwich?