我在板上编译了一个AOSP树。我购买了无线键盘,并通过USB端口将其连接到板上。我希望板子处于挂起状态时,可以通过按键盘上的键来唤醒。但事实并非如此。
我在自举程序(uboot),内核等中尝试了几种方法。但是没有效果。另外,我进行了一个实验,发现在睡眠状态下,我的USB端口(其中有一个加密狗)只有1-5 mA。但是,加密狗的工作效率应该更高!
有人经历过吗?如何在Android中为USB启用远程唤醒?
谢谢
更多信息:uboot支持USB主机控制器接口。我调整了内核构建选项。但是这两个动作无效。
编辑:我在amlogic的p212参考板上工作。它的SoC是Amlogic S905X。
编辑2:我使用手机及其充电器测试了该板(实际上是一个电视盒),发现当盒进入睡眠状态时,充电停止了!因此,我可以推断出加密狗没有足够的能量来维持生命!(但仍将唤醒信号发送到SoC!)
然后,我进行了第二个实验:我使用仅具有两个引脚而不是四个引脚的USB充电器连接了手机。(仅供电;差分引脚(信号引脚)已断开)。结果:我的手机正在充电!似乎当SoC挂起时,它会向USB外设发送信号,告诉它们不要消耗功率。我对么?如何配置AOSP树和Linux内核以及uboot引导加载程序以避免发生这种情况?请指导我如何在内核或堆栈的其他部分修复它!
编辑3:
我已经在这里粘贴了内核配置。我将这些选项配置为y
但没有效果:
CONFIG_PM_RUNTIME=y CONFIG_PM_AUTOSLEEP=y CONFIG_PM_DEBUG=y CONFIG_USB_OTG_WAKELOCK=y CONFIG_USB_DEBUG=y CONFIG_USB_OTG=y
另外,此链接是我的设备树文件。(在内核中。不是 uboot)