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 '18 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 '18 at 18:33
  • @telcoM exactly what I needed! Thanks for the help. – amorimph Mar 12 '18 at 14:15

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.