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

时间:2015-09-29 17:54:14

标签: linux embedded usb embedded-linux sysfs

Hello USB / Linux大师!

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

USB设备配置为由HID,NDIS以太网和MTP组成的USB组合。一切都运作良好。

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

我想找到一种方法以编程方式完成相同的操作...换句话说,将我的USB设备端口向上和向上移动,就好像我正在使用' ifconfig'用于以太网。

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

非常感谢!

让 - 皮埃尔

P.S。我正在使用的USB驱动程序名为' atmel_usba_udc.c'并包含' atmel_usba_stop()'等功能。和' atmel_usba_start()'我想从用户空间调用。

1 个答案:

答案 0 :(得分:1)

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