我想将 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/