Temos uma distro Linux personalizada (criada via buildroot) rodando em uma plataforma embarcada. Existe este módulo de relé que precisamos conectar a ele através de uma porta USB (o módulo é baseado em um microcontrolador ATmega32U2).
Ao testar o aparelho no Windows, o driver foi instalado através de um .inf e tudo funcionou perfeitamente. Eu também tenho uma máquina rodando Ubuntu 16.04 que reconheceu o dispositivo (como ttyACM0) sem necessidade de instalações adicionais. Em nossa plataforma embarcada, no entanto, não funciona.
Quando tento um dmesg
, o dispositivo parece ser reconhecido:
[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
Mas não aparece no /dev
. Qual poderia ser a razão disso? Claramente nossa distro está faltando algo para reconhecer dispositivos desse tipo (já que não apresenta problemas com outros dispositivos, como impressoras ou drives USB), mas o quê?
Conforme sugerido nos comentários, a inclusão do módulo "CDC-ACM" no kernel resolveu o problema. O módulo de relé é reconhecido como "ttyACM0" e está funcionando perfeitamente.