We have a customized Linux distro (created via buildroot) running on an embedded platform. There's this relay module we need to connect to it through an USB port (the module is based on an ATmega32U2 microcontroller).

When testing the device on Windows, the driver was installed through a .inf and everything worked just fine. I also have a machine running Ubuntu 16.04 that recognized the device (as ttyACM0) with no need for additional installations. On our embedded platform, however, it doesn't work.

When I try a dmesg, the device seems to be recognized:

[10902.840000] usb 1-2.3: new full-speed USB device number 8 using s5p-ehci
[10902.945000] usb 1-2.3: New USB device found, idVendor=03eb, idProduct=2018
[10902.945000] usb 1-2.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0

But it doesn't appear on /dev. What could be the reason of this? Clearly our distro is missing something to recognize devices of this type (as it shows no problems with other devices such as printers or USB drives), but what?

  • 1
    You need to enable/compile the drivers (kernel modules) on the embdedded platform, and/or fix your udev configuration.
    – dirkt
    Mar 9, 2018 at 18:02
  • In this case, the kernel configuration option needed wouldbe CONFIG_USB_ACM, and the name of the kernel module would be cdc-acm.ko.
    – telcoM
    Mar 9, 2018 at 18:33
  • @telcoM exactly what I needed! Thanks for the help.
    – amorimph
    Mar 12, 2018 at 14:15

1 Answer 1


As suggested in the comments, the inclusion of the "CDC-ACM" module in the kernel solved the problem. The relay module is recognized as "ttyACM0" and it's working just fine.

You must log in to answer this question.

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