Ubuntu 22.04 - Intel X550 - 运行预置命令以在启动时设置 ethtool 网络接口参数

Ubuntu 22.04 - Intel X550 - 运行预置命令以在启动时设置 ethtool 网络接口参数

问题如下: https://askubuntu.com/questions/1406445/ubuntu-22-04-server-intel-x550-advertised-speed-not-correct 我需要在启动时运行命令,以便必要的更改是永久的。来自英特尔驱动程序文档(https://downloadmirror.intel.com/727507/readme.txt),命令为:

pre-up ethtool -s <ethX> advertise 0x1800000001028 || true

我尝试在各种文件中写入该命令,但没有成功。

我应该把它写在哪里?

编辑 1:根据 Anton Danilov 的回答,我没有找到如何使用 sytemd.link 设置解决方案,但我找到了一种不同的方法,即在

/etc/systemd/system

如此处所述: https://bbs.archlinux.org/viewtopic.php?id=262075

它可以工作,但它是 Ubuntu 22.04 的最佳方法吗(上面的链接是 archlinux 的解决方案,来自 2018 年)?如果不是,有人可以为 Ubuntu Server 22.04 提供完整的工作解决方案吗?

答案1

由于您使用的是 Ubuntu Server 22.04,我猜您使用netplanwithsystemd-networkd作为“渲染器”。

您可以尝试放入一个脚本/etc/networkd-dispatcher/configuring.d。例如

mkdir -p /etc/networkd-dispatcher/configuring.d/
install -m 0755 /dev/null /etc/networkd-dispatcher/configuring.d/x550
cat <<EOF > /etc/networkd-dispatcher/configuring.d/x550
#!/usr/bin/env bash

ethtool -s <ethX> advertise 0x1800000001028 || true
EOF

我选择configuring.d基于Netplan 钩子表映射. 另一个状态可能效果更好。

其他链接

答案2

最新版本的 ubuntu 使用网络计划网络配置工具。遗憾的是,它缺少速度模式通告的设置。因此,您可以直接切换到使用 networkd,而无需使用此包装器。

对于 networkd,您应该编辑.link文件并设置Adevertise选项。请参阅man systemd.link

相关内容