I'd like to use usb-device with ttyACM not ttyUSB.

I had a usb-device, SAMD21 board. And I connected it to linux (centos 6.5, 2.6.32-573.el6.x86_64) computer. The computer recognized it (lsusb) but there was no /dev/ttyACM file. I could connect it with /dev/ttyUSB using modprobe. But I'd like to use it with ttyACM. How can I assign this usb-device to /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 Answer 1


You would have to program the ATSAMD21G18 chip on the board to actually present a valid USB ACM interface, with all the necessary USB descriptors to identify it as such. Then it would be automatically identified as a /dev/ttyACM* device.

Note that the ACM interface was originally designed for PSTN modems, and operating systems and modem configuration tools will likely assume that any /dev/ttyACM* device is actually a landline or GPS modem, and will probe it as such. This might cause some unexpected behavior in your device or in the application communicating with it.

For more details, see: https://rfc1149.net/blog/2013/03/05/what-is-the-difference-between-devttyusbx-and-devttyacmx/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .