We have a LTE Modem peripheral connected over USB to iMX7D host. Host is running Android OS 7.1.2r9.
There are two types of Suspend-Resume/Wakeup:
- Host to Modem Resume (working as expected)
- Modem to Host Wakeup (has an issue, please read on)
According to the Modem vendor, in a working case of Modem to Host Wakeup: K state gets initiated and is maintained by modem for 5ms, following which within 500us Host takes over and maintains K state for rest of the 20ms.
However on most occasions, the K state initiated by Modem for 5ms, however the Host does not maintain the K state completing the 20ms. Thus Auto-suspend does not work as expected.
USB Analyzer analysis is attached.