Интерфейс шины CAN не включается после перезапуска шины CAN

Интерфейс шины CAN не включается после перезапуска шины CAN

Я борюсь с промышленным ПК под управлением Ubuntu 18.04.1.

Этот ПК оснащен модулем Apacer CAN APEHC-D40 для получения данных от внешних датчиков. 95% времени модуль работает нормально, и данные шины CAN успешно принимаются, но в 5% случаев он зависает. Поскольку ПК расположен удаленно, немного сложно определить точный набор обстоятельств, приводящих к ситуации «нет данных», но я считаю, что это в некоторой степени связано с ситуацией, когда ПК работает, подключенный к шине CAN, затем из-за других требований сеть CAN отключается, ПК все еще включен, в то время как сеть CAN отключается, а затем, когда сеть CAN включена, модуль Apacer CAN иногда не определяет его как работающий и требует перезапуска. Модуль CAN управляется как виртуальный сетевой интерфейс с помощью Network Manager. Достаточно интересно, что если я проверяю состояние интерфейса, оно все время отображается как UNKNOWN (не уверен, является ли это проблемой, но я бы ожидал 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

Это единственный фрагмент в системном журнале, который, на мой взгляд, выглядит неправильно, хотя я не уверен, связано ли это с проблемой.

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..

Кто-нибудь знает, что я могу проверить, чтобы выяснить, что не так с настройкой этого CAN-модуля?

Ваше здоровье

Связанный контент