如何停止/重启USB设备(Linux嵌入式系统)



USB/Linux大师们好!

我有一个基于Atmel ARM Cortex-A5 CPU的嵌入式系统。它运行嵌入式Linux内核V3.10,将其高速USB端口配置为USB设备。

USB设备配置为由HID、NDIS以太网和MTP组成的USB复合设备。一切正常。

然而,当将该嵌入式系统插入Windows等主机操作系统时,出现了必须通知Windows新的MTP设备的情况。目前,我知道如何做到这一点的唯一方法是将USB电缆从嵌入式系统中拔出并重新插入。然后Windows注意到"新的"MTP连接,打开一个文件夹,指向我设备上的文件,一切都很好!

我想找到一种方法来做完全相同的事情编程…换句话说,打开我的USB设备端口,就像我在以太网中使用'ifconfig'一样。

是否有一些命令我可以用来暂停和恢复USB设备端口?

非常感谢!

jean - pierre

注:我使用的USB驱动程序称为"atmel_usba_udc.c",包含我想从用户空间调用的"atmel_usba_stop()"one_answers"atmel_usba_start()"等函数。

'atmel_usba_stop()'和'atmel_usba_start()'似乎与引用用于访问特定硬件操作的函数指针的操作有关。通过适当地链接ioctl,您可以使用它从用户空间指示内核。

最新更新