Lin*_*eak 5 power-management ethernet linux-mint
我正在寻找一个内核参数,我可以在 GRUB 配置中使用它来在我的新笔记本电脑的 LAN(有线以太网)卡上永久禁用 EEE(节能以太网,维基百科):
基本信息:
操作系统:Linux Mint 21.1“Vera”Cinnamon
# ethtool -i enp59s0
driver: r8169
version: 5.15.0-56-generic
firmware-version: rtl8168h-2_0.0.2 02/26/15
expansion-rom-version:
bus-info: 0000:3b:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
Run Code Online (Sandbox Code Playgroud)
什么有效(在重新启动、睡眠和唤醒时不持久):
# ethtool --set-eee enp59s0 eee off
Run Code Online (Sandbox Code Playgroud)
但是,我宁愿不必为此设置 @reboot CRON。
# sysctl -w igb.EEE=0
# sysctl -w e1000e.EEE=0
# sysctl -w r8169.EEE=0
Run Code Online (Sandbox Code Playgroud)
所有这些都以错误消息结束:
sysctl: cannot stat /proc/sys/[PARAM]/EEE: No such file or directory
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助。
tel*_*coM 11
不存在这样的内核参数。
然而,除了 cron 作业之外,还有其他方法可以实现您的目标@reboot
。
如果您使用 NetworkManager,您可以创建一个预启动调度程序脚本(例如/etc/NetworkManager/dispatcher.d/pre-up.d/disable-eee
),以便在激活网络接口时进行配置更改:
#!/bin/sh
#
# Disable EEE on enp59s0
if [ "$1" = "enp59s0" ]; then
/sbin/ethtool --set-eee $1 eee off \
|| /bin/logger "Error $? trying to disable EEE on $1"
fi
exit 0
Run Code Online (Sandbox Code Playgroud)
请务必将脚本标记为可执行。
或者,您可以/etc/modprobe.d/disable-eee
在加载内核模块时创建更改设置:
install r8169 /sbin/modprobe -i r8169 && sleep 1 && /sbin/ethtool --set-eee enp59s0 eee off
Run Code Online (Sandbox Code Playgroud)
(如果r8169
内核模块是在 initramfs 启动阶段加载的,则可能必须运行sudo update-initramfs -u
才能在下次启动时生效。)
或者您可以创建自己的systemd
服务单元来运行 ethtool 命令(例如/etc/systemd/system/disable-eee.service
):
[Unit]
Before=network-pre.target
Wants=network-pre.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/sbin/ethtool --set-eee enp59s0 eee off
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
重要的提示:
根据您的操作系统配置,ethtool
可能会放置在其他地方,例如/usr/sbin/ethtool
Vlastimil 的情况。如果您不确定,您可以运行which ethtool
或command -v ethtool
。程序也是如此logger
。
归档时间: |
|
查看次数: |
3081 次 |
最近记录: |