ttyUSB?不,ttyACM。如何将 USB 设备分配给 ttyACM,而不是 ttyUSB?

ttyUSB?不,ttyACM。如何将 USB 设备分配给 ttyACM,而不是 ttyUSB?

我想将 USB 设备与 ttyACM 一起使用,而不是 ttyUSB。

我有一个 USB 设备、SAMD21 板。我将它连接到linux(centos 6.5,2.6.32-573.el6.x86_64)计算机。计算机识别了它(lsusb),但没有 /dev/ttyACM 文件。我可以使用 modprobe 将其与 /dev/ttyUSB 连接。但我想将它与 ttyACM 一起使用。如何将此 USB 设备分配给 /dev/ttyACM ?


[root@owlmt ~]# lsusb
....
Bus 002 Device 012: ID 1b4f:8d21

[root@owlmt ~]# usb-devices
T:  Bus=02 Lev=03 Prnt=06 Port=00 Cnt=01 Dev#= 12 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1b4f ProdID=8d21 Rev=01.00
S:  Manufacturer=SparkFun
S:  Product=SFE SAMD21
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=(none)
I:  If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)

[root@owlmt ~]# ls /dev/ttyACM*
ls: cannot access /dev/ttyACM*: No such file or directory

答案1

您必须对板上的 ATSAMD21G18 芯片进行编程,以实际提供有效的 USB ACM 接口,并使用所有必要的 USB 描述符来识别它。然后它会自动识别为/dev/ttyACM*设备。

请注意,ACM 接口最初是为 PSTN 调制解调器设计的,操作系统和调制解调器配置工具可能会假设任何/dev/ttyACM*设备实际上是固定电话或 GPS 调制解调器,并将对其进行探测。这可能会导致您的设备或与其通信的应用程序出现一些意外行为。

有关更多详细信息,请参阅: https://rfc1149.net/blog/2013/03/05/what-is-the-difference- Between-devttyusbx-and-devttyacmx/

相关内容