Debian

如何強制 Debian Stretch 乙太網到 10MBit?

  • August 1, 2019

我有一個帶有 ARM 和 Stretch 的無頭嵌入式板,乙太網在 100Mbit 下無法正常工作,但在 10Mbit 下可以正常工作。

我想強制 10Mbit,但我需要在 dhclient 啟動之前執行此操作,否則我無法獲得 IP 地址。

到目前為止,我這樣做了rc.local

echo SETTING eth0 to 10Mbit
/sbin/ethtool -s eth0 speed 10 duplex half autoneg off 
if [ -n "`pgrep dhclient`" ] then
  dhclient -r
  dhclient
fi

但是,這給我留下了 2 個 dhclient 實例,我不確定這是正確的方法:

~ ps auxf | grep dhc
root       917  0.0  1.6   6692  1972 ?        Ss   Jul31   0:00 /sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid -l
root     16783  0.0  1.4   4336  1772 pts/1    S+   07:07   0:00          \_ grep dhc
root      1571  0.0  1.5   6692  1892 ?        Ss   Jul31   0:00 dhclient

有什麼建議麼?謝謝!

如果您使用的是 NetworkManager,請執行以下命令,替換<connection_name>為您的 NetworkManager 連接配置的實際名稱:

nmcli connection modify <connection_name> 802-3-ethernet.speed 10 802-3-ethernet.duplex half 802-3-ethernet.auto-negotiate no

如果您沒有使用 NetworkManager,您可能已經iface eth0 inet dhcp/etc/network/interfaces. 將您的ethtool命令放在pre-up選項中:

iface eth0 inet dhcp
   pre-up /sbin/ethtool -s eth0 speed 10 duplex half autoneg off

以上假設是正常的 Debian Stretch。Raspbian 在這裡可能有所不同。

引用自:https://unix.stackexchange.com/questions/533296