1

I'm using a canable CAN-to-USB adapter to communicate with a CAN bus. To initialize the SocketCan device, I'm using the following command:

slcand -c -o -f -s6 /dev/ttyACM0

and

ifconfig slcan0 up

The CAN bus is operating at 500KHz. I can transmit and read messages fine for a while. But after sending and receiving for a few minutes, I can no longer send messages but can still receive.

This is the output of ip -details -statistics link show slcan0:

469: slcan0: <NOARP,UP,LOWER_UP> mtu 16 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 10
    link/can  promiscuity 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 
    RX: bytes  packets  errors  dropped overrun mcast   
    179974     24437    0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    136        17       0       0       0       0  

If I disconnect the device, plug it back in, and run the slcand command again, it works.

user3103398
  • 143
  • 9

1 Answers1

0

I have similar problems with my CANAble. I've been having better luck with the CandleLight Firmware, see CANAble Getting Started about halfway down the page for "Alternative Firmware".

I still have problems with my CANAble not sending messages (receive still works) every once in a while, but it's much less frequent after the firmware upgrade. When that happens, I just need to take down the interface and bring it back up, no need to unplug.

Also, you can try increasing the txqueulen to something like 10,000. That seems to work for some people, but I still get occasional lockups.

sudo ifconfig slcan0 txqueuelen 10000

pretzel11
  • 23
  • 4