Advertisement

在安卓9.0系统中,USB OTG休眠现象存在

阅读量:

问题 :当手机作为OTG主机时,如何实现进入待机休眠状态?

参考高通文档: 《80-NF283-1_C_Linux_USB_Implementation_Guide》
章节:7.1.2 主机模式状态转换
如图7-1所示,USB进入LPM的条件包括以下几种情况:
● 当USB A型线缆被移除,无论是否连接了B设备。
● USB总线挂起——在USB主机模式中,通过CONFIG_USB_SUSPEND配置项默认启用自动挂起功能。主机控制器驱动会监控总线上连接的每个设备,并在某一设备处于空闲状态超过预设时间阈值后,选择性地对该设备进行挂起操作。然而,如果与某一接口对应的驱动程序不支持自动挂起功能,则该设备无法被挂起。例如,块存储驱动不支持自动挂起功能。因此,当连接块存储设备时,该设备不会被挂起。而集线器驱动则支持自动挂起功能。更多相关信息可参考Documentation/usb/power-management.txt。

高通案例回复Answer:
Linux Android USB主机驱动堆栈(UHCI、EHCI、XHCI)具备对休眠/电源折叠的支持,但大部分设备类驱动并未启用自动休眠功能。为实现这些设备的自动休眠,需在驱动的探测流程中调用usb_enable_autosuspend()函数以启用该功能。

以下是一个HID设备实现休眠修改

全部评论 (0)

还没有任何评论哟~