
Hasta donde yo sé, el siguiente comando establecería la velocidad y el dúplex anunciados por la negociación automática.
ethtool -s eth0 advertise 0x020
donde 0x020
indica 1000baseT Full
según la siguiente guía:
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
El comando que apliqué, 1000baseT Full
solo publicidad. Me pregunto cómo configuro el servidor para anunciar múltiples modos de enlace, 1000baseT Full 100baseT Full 100baseT Half
todos a la vez.
Intenté aplicar el mismo comando para los modos de enlace deseados uno por uno, pero cada vez el nuevo modo de enlace reemplaza el modo actual y no se agrega a él.
También mencioné los modos de enlace hexacódigos consecutivamente como el siguiente, pero devuelve un error.
ethtool -s eth0 advertise 0x020 0x008 0x004
ethtool: bad command line argument(s)
For more information run ethtool -h
Cuando todos están anunciados, se muestran en el ethtool
resultado de esta manera:
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
¿Alguna idea por favor?
Respuesta1
Suma los números. Observa eso:
0x001
es0b000000000001
,0x002
es0b000000000010
,0x004
es0b000000000100
,
y así sucesivamente, cada uno de ellos representa un bit (bandera) en algún registro, que almacena los modos que estén habilitados. Solo necesita habilitar todos los bits deseados.
En tu caso 1000baseT Full
, 100baseT Full
y 100baseT Half
sería 0x020 + 0x008 + 0x004 = 0x02c
:
ethtool -s eth0 advertise 0x02c