Eu tenho uma placa USB Relay de 8 canais que conectei via USB. O manual do conselho afirma que:
To use this product with Linux, USB CDC driver needs to be compiled in with the kernel. Fortunately, most Linux distributions (Ubuntu, Redhat, Debian etc..) has this driver pre-installed.
The chances of you requiring to rebuild the kernel to include the USB CDC driver is very slim.
When connected to a Linux machine, this product should appear as a serial port in the /dev directory. Usually the name of the device will be ttyACMx
or similar. The name may be different depending on the Linux distribution you have.
No meu caso (executando o Gentoo), eu tive que incluir o driver para o USB CDC ACM no kernel.
Conectando meu retransmissor, posso ver isso usando dmesg
:
[76094.036163] usb 4-1: new full-speed USB device number 4 using uhci_hcd
[76094.618717] usb 4-1: New USB device found, idVendor=2a19, idProduct=0c02
[76094.618722] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[76094.618725] usb 4-1: Product: Numato Lab 8 Channel USB Relay Module
[76094.618728] usb 4-1: Manufacturer: Numato Systems Pvt. Ltd.
Rodando lsusb
, vejo ttyACM0
aparecer. Mas enviar strings de comando para ele usando echo -ne 'string' > /dev/ttyACM0
não tem efeito. Além disso, ls -al
de /dev
mostra que ttyACM0
não é um arquivo de dispositivo de caractere. Na verdade, mostra:
-rw-rw-rw- 1 root root 13 Nov 9 09:38 ttyACM0
Existe algum outro driver ou módulo que eu preciso ativar? Por que o ttyACM0
não é exibido como um dispositivo de caractere? Há algo de errado com o modo como estou enviando os comandos para ttyACM0
?
Eu tenho o relé sendo executado com sucesso no Windows depois de instalar o driver do Windows fornecido pela empresa. Eu posso enviar comandos usando o PuTTY sem problemas, mas não consigo descobrir o que não fiz no Linux.