Linux-Networking
Linux 連結速度廣告
據我所知,以下命令將設置自動協商廣告的速度和雙工。
ethtool -s eth0 advertise 0x020
其中根據以下指南指示
0x020
:1000baseT Full
advertise N Sets the speed and duplex advertised by autonegotiation. The argument is a hexadecimal value using one or a combination of the following values: 0x001 10baseT Half 0x002 10baseT Full 0x004 100baseT Half 0x008 100baseT Full 0x010 1000baseT Half (not supported by IEEE standards) 0x020 1000baseT Full
我應用的命令
1000baseT Full
只做廣告。我想知道如何將伺服器設置為同時宣傳多種連結模式1000baseT Full 100baseT Full 100baseT Half
。我已經嘗試對所需的連結模式一一應用相同的命令,但是每次新的連結模式都會替換目前模式而不是添加到其中。
我還提到了連結模式的十六進制程式碼,如下所示,但它返回錯誤。
ethtool -s eth0 advertise 0x020 0x008 0x004 ethtool: bad command line argument(s) For more information run ethtool -h
當所有廣告都發布後,它們會顯示在
ethtool
輸出中,如下所示:ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full
請問有什麼想法嗎?
把數字加起來。請注意:
0x001
是0b000000000001
,0x002
是0b000000000010
,0x004
是0b000000000100
,依此類推,它們中的每一個都代表某個寄存器中的一個位(標誌),該寄存器儲存啟用的任何模式。您只需要啟用所有想要的位。
在您的情況下
1000baseT Full
,100baseT Full
和100baseT Half
將是0x020 + 0x008 + 0x004 = 0x02c
:ethtool -s eth0 advertise 0x02c