Monte usb para adaptador serial CANBUS e can-utils ubuntu?

17

Eu tenho esse adaptador e estou tentando desesperadamente montá-lo no Ubuntu para poder can-utilsmonitorar o dispositivo, mas estou falhando.

Estou tentando me comunicar com uma serial para o adaptador can-bus no 14.04 com can-utils, este é o dispositivo canopen que estou tentando acessar e esse é o adaptador que estou usando

dmesg:

[ 4316.555254] usb 3-3: new full-speed USB device number 8 using xhci_hcd
[ 4316.572534] usb 3-3: New USB device found, idVendor=1a86, idProduct=7523
[ 4316.572541] usb 3-3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 4316.572545] usb 3-3: Product: USB2.0-Serial
[ 4316.573058] ch341 3-3:1.0: ch341-uart converter detected
[ 4316.574083] usb 3-3: ch341-uart converter now attached to ttyUSB1
[ 4836.845113] CAN device driver interface
[ 5389.346203] can: broadcast manager protocol (rev 20120528 t)
[ 5570.910652] systemd-hostnamed[23407]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!

Essa é a saída dmesg para o dispositivo

Qual eu acho que é o dispositivo.

lsusb me dá:

Bus 003 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

Eu consegui montá-lo no slcan0 da seguinte forma:

sudo slcand -o -s6 -t hw -S 3000000 /dev/ttyUSB2

ip link set up slcan0

O link IP então me fornece:

6: slcan1: <NOARP,UP,LOWER_UP> mtu 16 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 10
    link/can 

Não importa o que eu joguei por envio, não posso receber uma resposta ...

vimes1984
fonte
> [ 4316.574083] usb 3-3: ch341-uart converter now attached to ttyUSB1e > sudo slcand -o -s6 -t hw -S 3000000 /dev/ttyUSB2parece não combinar?
Hannu
Os dados fluem fisicamente no barramento? Assistiu no osciloscópio?
Ruslan Gerasimov
sem nada parece saída de qualquer lugar ....
vimes1984
1
Você terminou o ônibus corretamente? O barramento CAN usa resistores de terminação. Sem eles não funciona.
Ruslan Gerasimov
5
@ vimes1984, o adaptador USB suporta baud máximo de 1M e o transmissor suporta entre 20K e 1M. O comando que você mencionou foi com a 3M baud. Tente usar uma taxa de transmissão inferior de 1M ( -S 1000000) ou menos.
user.dz

Respostas:

2

Eu sei que esse é um tópico muito antigo. Mas ele ainda não foi respondido e, enquanto procurava uma solução, me deparei com esse tópico.

A solução para esse problema é que slcand não suporta essa interface. Para usá-lo de qualquer maneira, um mapeador entre a interface e o soquete pode ser usado. Este adaptador pode ser encontrado em https://github.com/alexmohr/usb-can

Após a instalação, basta executar usbcan -s 500000 -d /dev/ttyUSB0

Alex
fonte