Não é possível conectar-se ao dispositivo USB CDC

0

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.

    
por CaptJak 09.11.2015 / 20:38

1 resposta

0

O dispositivo /dev/ttyACM0 é uma porta serial virtual. Você precisará usar um emulador de terminal para se conectar a ele, como PuTTY, minicom ou tela. Com a tela, você executaria algo como

screen /dev/ttyACM0 9600

em que 9600 é a sua taxa de transmissão. Isso lhe dará uma sessão interativa para se comunicar com a diretoria.

    
por 09.11.2015 / 21:24