如何在Android中启用USB唤醒(远程唤醒)?

时间:2019-07-06 13:57:16

标签: linux-kernel android-source wakelock android-wake-lock wake-on-lan

我在板上编译了一个AOSP树。我购买了无线键盘,并通过USB端口将其连接到板上。我希望板子处于挂起状态时,可以通过按键盘上的键来唤醒。但事实并非如此。

我在引导程序(uboot),内核等中尝试了几种方法。但是没有效果。另外,我做了一个实验,发现在睡眠状态下,我的USB端口(其中有一个加密狗)只有1-5 mA。但是,加密狗的工作效率应该更高!

有人经历过吗?如何在Android中为USB启用远程唤醒?

谢谢


更多信息: uboot支持USB主机控制器接口。我调整了内核构建选项。但是这两个动作没有效果。


编辑:我在amlogic的p212参考板上工作。它的SoC是Amlogic S905X。


编辑2 :我使用手机及其充电器测试了该板(实际上是一个电视盒),我发现当盒进入睡眠状态时,充电将停止!!因此,我可以推断出加密狗没有足够的能量来维持生命! (尚未将唤醒信号发送到SoC!)

然后,我进行了第二个实验:我使用USB充电器连接了手机,该USB充电器只有两个引脚而不是四个。 (仅供电;差分引脚(信号引脚)已断开)。结果:我的手机正在充电!似乎当SoC挂起时,它会向USB外设发送信号,告诉它们不要消耗功率。我对么?如何配置AOSP树和Linux内核以及uboot引导加载程序以避免发生这种情况? 请指导我如何在内核或堆栈的其他部分修复它!


编辑3

我已经粘贴了内核配置here。我将这些选项配置为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

this link也是我的设备树文件。 (在内核中。 uboot)

0 个答案:

没有答案