
Soweit ich weiß, würde der folgende Befehl die durch Auto-Negotiation angekündigte Geschwindigkeit und den Duplexbetrieb einstellen.
ethtool -s eth0 advertise 0x020
wobei gemäß folgender Anleitung 0x020
bedeutet :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
Der von mir verwendete Befehl gibt 1000baseT Full
nur Werbung. Ich frage mich, wie ich den Server so einstelle, dass er mehrere Linkmodi 1000baseT Full 100baseT Full 100baseT Half
gleichzeitig ankündigt.
Ich habe versucht, denselben Befehl nacheinander für die gewünschten Verknüpfungsmodi anzuwenden, aber jedes Mal ersetzt der neue Verknüpfungsmodus den aktuellen Modus und wird ihm nicht hinzugefügt.
Ich habe die Hexacodes der Linkmodi auch nacheinander wie folgt aufgeführt, aber es wird ein Fehler zurückgegeben.
ethtool -s eth0 advertise 0x020 0x008 0x004
ethtool: bad command line argument(s)
For more information run ethtool -h
Wenn alle angekündigt sind, werden sie in der ethtool
Ausgabe folgendermaßen angezeigt:
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
Irgendeine Idee, bitte?
Antwort1
Addieren Sie die Zahlen. Beachten Sie:
0x001
Ist0b000000000001
,0x002
Ist0b000000000010
,0x004
Ist0b000000000100
,
und so weiter, jedes davon stellt ein Bit (Flag) in einem Register dar, das die aktivierten Modi speichert. Sie müssen nur alle gewünschten Bits aktivieren.
In Ihrem Fall wären und 1000baseT Full
:100baseT Full
100baseT Half
0x020 + 0x008 + 0x004 = 0x02c
ethtool -s eth0 advertise 0x02c