SocketCan berr_reporting

This forum covers PCAN-Linux and Linux development issues concerning our products
Post Reply
lalten
Posts: 1
Joined: Thu 30. Jun 2016, 14:16

SocketCan berr_reporting

Post by lalten » Thu 30. Jun 2016, 14:26

Hi,
ich würde gerne bus error reporting für einen USB pcan einschalten. Ich benutze den Kernel 4.4.0-24 Socketcan Treiber. Leider erhalte ich bei

Code: Select all

sudo ip link set can0 type can berr-reporting on
ein
RTNETLINK answers: Operation not supported
Was kann ich tun?

User avatar
O.Hartkopp
Posts: 40
Joined: Fri 22. Nov 2013, 19:47

Re: SocketCan berr_reporting

Post by O.Hartkopp » Thu 30. Jun 2016, 19:17

Bus Errors können eine sehr hohe Interrupt-Last erzeugen, weshalb diese Option zumeist nur von CAN Controllern angeboten werden, die direkt an den Prozessorbus (z.B. innerhalb eines SoC) angebunden sind:

Code: Select all

~/linux$ git grep -l CAN_CTRLMODE_BERR_REPORTING
drivers/net/can/c_can/c_can.c
drivers/net/can/flexcan.c
drivers/net/can/ifi_canfd/ifi_canfd.c
drivers/net/can/janz-ican3.c
drivers/net/can/m_can/m_can.c
drivers/net/can/rcar_can.c
drivers/net/can/sja1000/sja1000.c
drivers/net/can/softing/softing_fw.c
drivers/net/can/sun4i_can.c
drivers/net/can/xilinx_can.c
include/uapi/linux/can/netlink.h
Da ist kein USB Adapter dabei. Deshalb gibt es auch die genannte Fehlermeldung.

Die PCAN PCI(e) Adapter nutzen übrigens den SJA1000 Treiber, der das BusError Reporting unterstützt.

Der PCAN USB-Adapter unterstützt allerdings verschiedene Bus-Stati (BUS_OFF, etc):

http://lxr.free-electrons.com/source/dr ... usb.c#L403

... aber eben kein BusError (Error frames).

Post Reply