
GRUB構成に使用できるカーネルパラメーターを探しています。EEEを無効にする(エネルギー効率の良いイーサネット、ウィキペディア)私の新しいラップトップのLAN(有線イーサネット)カードに永久に保存されました。
基本情報:
オペレーティングシステム:Linux Mint 21.1「ベラ」シナモン
# 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
動作方法(再起動、スリープモードを解除しても持続しない):
# ethtool --set-eee enp59s0 eee off
ただし、このために@reboot CRONを設定する必要はありません。
# sysctl -w igb.EEE=0
# sysctl -w e1000e.EEE=0
# sysctl -w r8169.EEE=0
これはすべてエラーメッセージで終わります。
sysctl: cannot stat /proc/sys/[PARAM]/EEE: No such file or directory
助けてくれてありがとう。
答え1
対応するカーネルパラメータはありません。
@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
スクリプトを実行可能としてマークする必要があります。
あるいは、/etc/modprobe.d/disable-eee
カーネルモジュールをロードするときに変更設定を作成することもできます。
install r8169 /sbin/modprobe -i r8169 && sleep 1 && /sbin/ethtool --set-eee enp59s0 eee off
(initramfsの起動段階でカーネルモジュールがロードされた場合は、次回の起動時に適用されるようにr8169
実行する必要があるかもしれません。)sudo update-initramfs -u
あるいは、ethtoolコマンドを実行するために独自のsystemd
サービスユニットを作成することもできます/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
重要なヒント:
オペレーティングシステムの設定によっては、Vlastimilの場合と同じようethtool
に他の場所に配置することもできます。/usr/sbin/ethtool
わからない場合、which ethtool
またはを実行できますcommand -v ethtool
。プログラムも同じですlogger
。