2013-01-04 179 views
18

假设我通过USB OTG适配器将USB供电的LED灯连接到运行Android 4.0.3的Toshiba Excite 10平板电脑,该平板电脑提供电源。Android USB OTG:以编程方式关闭端口电源

我想以编程方式打开和关闭USB OTG主机端口的电源引脚。 (理想情况下没有根,但我会拿我能得到的)。有任何想法吗?

+0

不知道我的内核是否兼容,但它看起来像我可能只需要写入'/ sys/bus/usb/devices/usb3/power/level'文件。我试过没有root的,但写入失败,所以接下来我想我需要根我的平板电脑,然后再试一次。来源:http://stackoverflow.com/questions/4702216/controlling-a-usb-power-supply-on-off-with-linux – AlcubierreDrive

回答

2

您必须对/ sys目录具有写入权限。生根使得这个过程变得非常简单。只要你的根设备,然后发出合适的echo命令来切换内核状态位,如:

String[] command = { "/system/bin/sh", "-c", "echo xxx > /sys/bus/usb/devices/usb3/power/level", }; 
Runtime.getRuntime().exec(command); 

另一种方法是使用libusb,挖库,削减断电功能。您可以使用android.hardware.usb.UsbManager来请求适当的libusb权限。

+0

即使usb已插入,我想要触发插入的usb(android平板电脑)。可能吗?有什么办法可以告诉系统USB插入,所以它会被再次检测? –

0

从这里我知道https://askubuntu.com/questions/342061/power-on-off-usb-ports“所有以前的答案都提到USB暂停机制,即”逻辑关机“,他们绝不会从USB端口实际切断VBUS + 5V。”

也许一个硬件解决方案是个坏主意,但我可以建议你在PCB上使用带有可编程Atmega8U4芯片的MOSFET晶体管,它被编程为切断LED灯的电源。

相关问题