问题如下: 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,我猜您使用netplan
withsystemd-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
。