A interface do barramento CAN não aparece após a reinicialização do barramento CAN

A interface do barramento CAN não aparece após a reinicialização do barramento CAN

Estou lutando com um PC industrial rodando Ubuntu 18.04.1

Este PC está equipado com módulo Apacer CAN APEHC-D40 para receber dados de sensores externos. 95% das vezes o módulo está funcionando bem e os dados do barramento CAN são recebidos com sucesso, mas em 5% dos casos ele fica travado. Como o PC está localizado remotamente, é um pouco difícil descobrir o conjunto exato de circunstâncias que levam à situação de "sem dados", mas acredito que esteja relacionado a uma situação em que o PC está funcionando conectado ao barramento CAN, devido a outros requisitos, a rede CAN está desligada, o PC ainda está ligado enquanto a rede CAN está desligada e, então, quando a rede CAN está ativa, às vezes o módulo CAN Apacer não a detecta como estando ativa e requer reinicialização. O módulo CAN é gerenciado como uma interface de rede virtual pelo Network Manager. Curiosamente, se eu verificar o estado da interface, ele será mostrado como UNKNOWN o tempo todo (não tenho certeza se é um problema, mas esperaria UP).

rig@drillhub:~$ sudo ip -det link show can0
8: can0: <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

Este é o único bit no syslog que não parece certo para mim, embora não tenha certeza se está relacionado.

Jun  2 06:16:42 drillhub slcand[824]: starting on TTY device /dev/ttyCAN0
Jun  2 06:16:42 drillhub slcand[825]: attached TTY /dev/ttyCAN0 to netdevice apacer_can0
Jun  2 06:16:42 drillhub kernel: [    6.968400] tty_warn_deprecated_flags: 'slcand' is using deprecated serial flags (with no effect): 00008200
Jun  2 06:16:42 drillhub kernel: [    6.969104] can0: renamed from apacer_can0
Jun  2 06:16:42 drillhub slcand[825]: netdevice apacer_can0 renamed to can0
Jun  2 06:16:42 drillhub systemd-networkd[498]: apacer_can0: Interface name change detected, apacer_can0 has been renamed to can0.
Jun  2 06:16:42 drillhub systemd-udevd[826]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Jun  2 06:16:42 drillhub NetworkManager[647]: <info>  [1622614602.1822] manager: (can0): new Generic device (/org/freedesktop/NetworkManager/Devices/6)
Jun  2 06:16:42 drillhub systemd-udevd[826]: link_config: could not get ethtool features for apacer_can0
Jun  2 06:16:42 drillhub systemd-udevd[826]: Could not set offload features of apacer_can0: No such device
Jun  2 06:16:42 drillhub NetworkManager[647]: <info>  [1622614602.1950] devices added (path: /sys/devices/virtual/net/apacer_can0, iface: apacer_can0)
Jun  2 06:16:42 drillhub NetworkManager[647]: <info>  [1622614602.1950] device added (path: /sys/devices/virtual/net/apacer_can0, iface: apacer_can0): no ifupdown configuration found.
Jun  2 06:16:42 drillhub networkd-dispatcher[616]: WARNING:Unknown index 8 seen, reloading interface list
Jun  2 06:16:42 drillhub systemd-networkd[498]: can0: Link UP
Jun  2 06:16:42 drillhub systemd-networkd[498]: can0: Gained carrier
Jun  2 06:16:42 drillhub systemd[1]: Started Setup CAN buses using the Apacer CAN module..

Alguém sabe o que posso verificar para descobrir o que há de errado com a configuração deste módulo CAN?

Saúde

informação relacionada