首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >18.04具有CAN总线和网络配置的服务器

18.04具有CAN总线和网络配置的服务器
EN

Ask Ubuntu用户
提问于 2021-05-12 16:34:49
回答 1查看 1.2K关注 0票数 3

在Ubuntu服务器18.04中,使用网络计划配置以太网接口、配置和使用CAN接口的最佳方法是什么?

我可以成功地使用netplan来配置我的以太网接口,但是我找不到更多关于如何配置和运行can设备的方法。

在过去,我们会使用/etc/network/interfaces文件来指定CAN总线配置,但我想从这一点出发,着眼于将来升级到ubuntu 20 ( netplan实际上支持can总线)。

我可以使用ip link set can0 type can bitrate 500000手动配置我的can接口,但这不是持久的。我可以把它放到启动时开始的服务中.但我觉得很漂亮。

有更好的建议吗?

EN

回答 1

Ask Ubuntu用户

发布于 2021-10-05 15:04:21

更新

正如Ollie所指出的,Ubuntu18.04配备了systemd v237,它不支持配置CAN接口。在此承诺中添加了CAN支持,这是首次在systemd v239中发布的。您可以通过键入检查系统的版本%d来实现systemctl --version。如果可以,您应该更新到Ubuntu20.04以使用此功能。

如果您被困在使用Ubuntu18.04,那么您可以手动更新系统d的版本,但这通常被认为是一个坏主意。

原始答案

我遇到了一个类似的问题。目前,它看起来不像netplan支持can接口,这有点令人沮丧。不过,我确实发现,systemd确实支持can和vcan接口。以下是未经测试的--我正在等待CAN硬件的到来--但应该能工作。

  1. 将can模块添加到/etc/modules,以便在引导时加载它们。(即catraw-cancan-devmttcan等)
  2. /etc/systemd/network/下创建一个具有.network扩展名并具有以下内容的新文件:匹配 Name=can0 能 BitRate=500000
  3. 确保在引导时启用了systemd-networkd。警告-如果您已经在运行NetworkManager,并且networkdNetworkManager都试图配置相同的接口,这可能会导致问题.谨慎使用sudo systemctl启用systemd-networkd

现在,无论何时启动系统,都应该将can0接口配置为指定的比特率。

此外,如果要指定链接“向上”,则可以在.network文件中添加一个额外的参数:

代码语言:javascript
复制
[Link]
ActivationPolicy=up

顺便提一句,networkd也可以用来启动vcan网络。在这种情况下,您需要生成一个.netdev文件,指定要创建的虚拟网络,以及一个.network文件,以便在引导时自动打开接口。

有用的文件:

https://www.freedesktop.org/software/systemd/man/systemd.network.html

https://www.freedesktop.org/software/systemd/man/systemd.netdev.html

相关论坛/问题:

https://github.com/linux-can/can-utils/issues/68

https://github.com/systemd/systemd/issues/4042

https://unix.stackexchange.com/questions/178871/systemd-networkd-wont-reload-virtual-network-interface-configuraion-file

https://superuser.com/questions/1450668/network-configuration-systemd-networkd-vs-networking-service-and-compatiblity

/etc/网络/接口、系统d和网络管理器:它们如何共存?

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1337826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档