ttyUSB 대신 ttyACM이 포함된 USB 장치를 사용하고 싶습니다.
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
실제로 유효한 USB ACM 인터페이스를 제공하고 이를 인식하는 데 필요한 모든 USB 설명자를 사용하려면 보드의 ATSAMD21G18 칩을 프로그래밍해야 합니다. 그러면 자동으로 /dev/ttyACM*
장치 로 인식됩니다 .
ACM 인터페이스는 원래 PSTN 모뎀용으로 설계되었으며 운영 체제 및 모뎀 구성 도구는 모든 /dev/ttyACM*
장치가 실제로 유선 또는 GPS 모뎀이라고 가정할 수 있습니다.그리고 그것을 감지할 것이다. 이로 인해 장치나 장치와 통신하는 응용 프로그램에서 예상치 못한 동작이 발생할 수 있습니다.
자세한 내용은 다음을 참조하세요. https://rfc1149.net/blog/2013/03/05/what-is-the-difference-Between-devttyusbx-and-devttyacmx/