据我所知,以下命令将设置自动协商广告的速度和双工。
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
: