we are having issues using the IPEH-003049 PCI Express Mini and its drivers on Ubuntu 20.04.
Our CAN bus consists of seven nodes where the last two are terminated.
While using PEAK USB everything works perfectly. All counters displayed by the command:
Code: Select all
ip -d -s -s link show can0
When we unplug the USB and plug in the PCI we note the following differences:
The above command steadily increases the arbit-lost counter. Though we are guessing this is normal, this number does not increase when using USB.
Much bigger problem is that error-warn and error-pass increase, which sometimes also triggers the bus-off. Though it is hard to say what raises the number of errors, one thing we noticed that triggers them for sure is when we turn off and on the controller of our vehicle. This restarts three CAN nodes, but none of these are terminated. This does not ALWAYS produce an error-pass or warn, but we can still sometimes see changes in the (berr-counter tx / rx).
We have analysed the TCP dump with Wireshark and the reported problems are, sequentially:
1. Controller problems: Reached warning level for TX errors
2. Controller problems: Reasched error passive status TX
3. Controller problems: Reached wearing level for TX errors
4. Controller problems: Recovered to error active state
We have also tried the pcan (netdev) driver. This driver has the same problem as the peak_pci, but also has some kind of Protocol violation, Bus error at startup, which triggers a lot of errors and bus-offs until the berr-counter rests at tx 95.
Again, all this works normally when using PEAK USB.
Any recommendations on how to fix/debug this issue?