2

你好 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 设备端口?

非常感谢!

让-皮埃尔

PS 我正在使用的 USB 驱动程序称为“atmel_usba_udc.c”,包含我想从用户空间调用的“atmel_usba_stop()”和“atmel_usba_start()”等函数。

4

1 回答 1

1

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

于 2015-10-02T09:04:55.720 回答