Netzwerk langsam / Kein Auto-negotiation

NoTechi

New Member
May 4, 2023
11
1
3
Hi zusammen,

ich bin neu bei Proxmox (setze einen NUC auf um meine container von meinem NAS dorthin umzuziehen). Es läuft auch alles soweit super nur meine Internetgeschwindigkeit ist sehr langsam (speedtest-cli zeigt 35Mbit/s), alle anderen Systeme im Netz haben voll speed.

Ich habe schon einiges recherchiert aber komme nun nicht mehr weiter. Meine Vermutung ist, da ich Proxmox mit einem alten langsamen Lan-Kabel aufgesetzt habe (war blöd), dass er dort die Verbindung getestet und gespeichert hat und diese nun mit neuem Kabel nicht mehr aktuallisiert. Anderen Port und direkt am Router (Unifi) hab ich auch schon getestet mit dem selben Ergebnis.

Was ich gesehen habe ist, dass meine Netzwerkarte vmbr0 auto-negotiation auf off steht und und Duplex auf Unkown! Daher vermute ich das es daran liegt. Hier mal die Ausgabe von ethtool vmbr0:
Code:
Settings for vmbr0:
        Supported ports: [  ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Unknown! (255)
        Auto-negotiation: off
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Link detected: yes

Wenn ich nun versuche autoneg einzuschalten bekomme ich eine Fehlermeldung:
Code:
root@proxmox:~# ethtool -s vmbr0 autoneg on
netlink error: Operation not supported

Meine etc/network/interfaces sieht so aus:
Code:
auto lo
iface lo inet loopback

iface enp86s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.178.52/24
        gateway 192.168.178.1
        bridge-ports enp86s0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

Kann mir jemand einen Tip geben wie ich auto-negotiation einschalten kann oder woran ansonsten mein langsamer Internet speed liegen könnte? :)

NoTechi

PS
Bin auch nen Linux newb ;)
 
Nachtrag, hier noch das Ergebnis vom bridge-port enp86s0, dort sieht es ja eigentlich gut aus:
Code:
root@proxmox:~# ethtool enp86s0
Settings for enp86s0:
        Supported ports: [  ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: off (auto)
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
 
Physisch schauts ok aus, also ist der Indikator, dass speedtest-cli nicht die Werte liefert die du erwarten würdest.

Ich würde mal innerhalb des Netzes mit iperf oder iperf3 die Geschwindigkeit zu einer anderen Maschine die auch mit 1Gbit am Kabel hängt testen. Dann weißt du was innerhalb deines Netzwerks geht. Direkt mit speedtest-cli ins Internet testet dann doch schon ein deutlich komplexeres Szenario.
 
Hier mal das iperf UDP Ergebnis vom Proxmox Rechner zur Fritzbox (dazwischen ist nur noch ein Unifi Router):
Code:
root@proxmox:~# iperf -c 192.168.2.1 -p 4711 -u -t 60 -i 10 -b 1000M
------------------------------------------------------------
Client connecting to 192.168.2.1, UDP port 4711
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.178.52 port 59940 connected with 192.168.2.1 port 4711
[ ID] Interval       Transfer     Bandwidth
[  3] 0.0000-10.0000 sec  1.11 GBytes   956 Mbits/sec
[  3] 10.0000-20.0000 sec  1.11 GBytes   957 Mbits/sec
[  3] 20.0000-30.0000 sec  1.11 GBytes   957 Mbits/sec
[  3] 30.0000-40.0000 sec  1.11 GBytes   957 Mbits/sec
[  3] 40.0000-50.0000 sec  1.11 GBytes   957 Mbits/sec
[  3] 50.0000-60.0000 sec  1.11 GBytes   957 Mbits/sec
[  3] 0.0000-60.0004 sec  6.68 GBytes   957 Mbits/sec
[  3] Sent 4882045 datagrams
[  3] WARNING: did not receive ack of last datagram after 10 tries.

Das sieht gut aus denke ich.

Trotzdem habe ich sehr langsame Internetdownloads um die 30-35 Mbit/s auch mit anderen Programmen auf dem Proxmoxserver, wohingegen alle anderen Rechner im Netz bei 900-1000 Mbit/s liegen.

Mein Verdacht ist immer noch dass es an vmbr0 liegt, welches nicht auf full duplex steht und auch keine auto-negotiation macht. Wie kann ich das ändern?

NoTechi
 
Last edited:
Das schaut in Ordnung aus. Die Daten, die ethtool für die vmbr liefert sind nicht wirklich aussagekräftig, weil es sich hierbei um eine Linux Bridge handelt, die in Software realisiert ist.

Wie vmbr kann mit dem Gbit schicken wie im iperf Test gezeigt wurde. D.h. der Grund wieso es in manche Richtung nicht die volle Leistung gibt, wird wahrscheinlich nicht an der NIC selbst liegen.

Evtl. auch mal ein iperf aus einer VM an die Fritzbox machen, um nach der Reihe den Stack durchzugehen.
 
iperf aus einer VM an die Fritzbox sieht auch gut aus denk ich:

Code:
$ iperf -c 192.168.2.1 -p 4711 -u -t 60 -i 10 -b 1000M
------------------------------------------------------------
Client connecting to 192.168.2.1, UDP port 4711
Sending 1470 byte datagrams, IPG target: 11.22 us (kalman adjust)
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  1] local 192.168.178.122 port 33396 connected with 192.168.2.1 port 4711
[ ID] Interval       Transfer     Bandwidth
[  1] 0.0000-10.0000 sec  1.22 GBytes  1.05 Gbits/sec
[  1] 10.0000-20.0000 sec  1.22 GBytes  1.05 Gbits/sec
[  1] 20.0000-30.0000 sec  1.22 GBytes  1.05 Gbits/sec
[  1] 30.0000-40.0000 sec  1.22 GBytes  1.05 Gbits/sec
[  1] 40.0000-50.0000 sec  1.22 GBytes  1.05 Gbits/sec
[  1] 50.0000-60.0000 sec  1.22 GBytes  1.05 Gbits/sec
[  1] 0.0000-60.0001 sec  7.32 GBytes  1.05 Gbits/sec
[  1] Sent 5349889 datagrams
[  3] WARNING: did not receive ack of last datagram after 10 tries.
 
Bei meinem Intel NUC der 12ten gen setzte ich aktuell mittels "ethtool -K <device> rx off tx off" den offload aus bei jedem Start.
Ich haben einen NUC der 13ten gen, sprich dein workarround hört sich vielversprechend an danke! :)
Kannst du mir noch sagen wie du es bei jedem Start setzt (Linux newb hier ;)). Und ich vermute du setzt es nicht bei der virtuellen NIC vmbr0 sondern in meinem Fall würde ich es bei NIC enps86s0 setzen richtig?

NoTechi
 
Ich hab es jetzt einfach mal bei beiden NICs ausgeschaltet, leider ohne Erfolg. Muss ich nach dem ändern noch irgendwas neu starten?
 
Ich haben einen NUC der 13ten gen, sprich dein workarround hört sich vielversprechend an danke! :)
Kannst du mir noch sagen wie du es bei jedem Start setzt (Linux newb hier ;)). Und ich vermute du setzt es nicht bei der virtuellen NIC vmbr0 sondern in meinem Fall würde ich es bei NIC enps86s0 setzen richtig?

NoTechi
Bash:
nano /etc/network/interfaces

auto lo
iface lo inet loopback

iface enp100s0 inet manual
    offload-tx  off
    offload-sg  off
    offload-tso off

auto vmbr0
iface vmbr0 inet static
        address xxx.xxx.xxx.xxx/24
        gateway xxx.xxx.xxx.xxx
        bridge-ports enp100s0
        bridge-stp off
        bridge-fd 0
        pre-up ethtool -K enp100s0 rx off tx off
        pre-up ethtool -K vmbr0 rx off tx off
 
  • Like
Reactions: NoTechi
Update: Bisschen zu früh gefreut, erste speedtest-cli war schneller (200 Mbit/s) aber dann in Anwendungen (z.B. nzbget) noch nicht. Es ist schneller aber noch nicht so schnell wie es sein sollte. Überlege jetzt ob es nicht einfacher ist ein USB Netzwerk adapter dranzuhängen der besser funktioniert ...

NoTechi
 
Last edited:
Hast du es schon mal mit dem Opt-In Kernel 6.2 versucht?
apt install pve-kernel-6.2

Die neuste Hardware wird oft immer erst etwas verzögert unterstützt.
Die Intel Nic ist eine "Generation" neuer (i226) als bei meinem 12te Gen NUC (i225).
Ich nutze aktuell den Kernel 6.2, evtl. bringt das schon eine Verbesserung.
 
  • Like
Reactions: NoTechi
Leider hat das Kernelupdate auf 6.2.11-1-pve auch keine Vebresserung gebracht.

Ich habe mal ein wenig recherchiert und laut Intel wird mein i226-V mit Kernel 5.16.18 unterstützt. Proxmox kommt wohl momentan standardmässig mit 5.15. Baut der Opt-In Kernel 6.2 auf die 5.x Kernel auf?

Momentan bin ich ziemlich ratlos und es schaut wohl so aus als wenn ich entweder darauf warte, dass der i226 besser unterstützt wird oder mich nach einer anderen Virtualisierung umschaue in der Hoffnung, dass er dort schon unterstützt wird.

Aber vielen Danke nochmal für die Unterstützung!

NoTechi
 
Alle Versionsnummern höher als 5.16, also 5.19 oder 6.x bauen auf dem Kernel auf.
Daher würde ich den 6.2er nutzen, da du somit die aktuelleren Treiber drin hast.
 
  • Like
Reactions: NoTechi
Danke ich hab jetzt den 6.2er aber leider wie oben geschriben ohne Erfolg.

Ich habe mir jetzt für den Übergang (hoffe die i266 Unterstützung verbessert sich in kommenden Treiberupdates) einen USB-Ethernet-Adpater geholt. Die Geschwidingkeit ist dort schon um einiges besser (ca die Hälfte der möglichen Downloadrate).
Das ich immer noch nicht die volle Geschwindigkeit bekomme liegt vermutlich daran, dass die neue NIC autoneg auf off steht und duplex auf half:

Code:
root@proxmox:~# ethtool enx00e04c6802b3
Settings for enx00e04c6802b3:
        Supported ports: [  ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Half
        Auto-negotiation: off
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: Unknown
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

Wenn ich nun versuche dies mit ethtool zu ändern bekomme ich nur eine Fehlermeldung:
Code:
root@proxmox:~# ethtool -s enx00e04c6802b3 autoneg on speed 1000 duplex full
netlink error: Operation not supported

Meine /etc/network/interfaces sieht nun so aus:
Code:
 network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface enp86s0 inet manual

iface enx00e04c6802b3 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.178.52/24
        gateway 192.168.178.1
        bridge-ports enx00e04c6802b3
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

Jemand eine Idee wie ich für die neue NIC (enx00e04c6802b3) dauerhaft duplex = full aktivieren kann?

NoTechi
 
Danke ich hab jetzt den 6.2er aber leider wie oben geschriben ohne Erfolg.

Ich habe mir jetzt für den Übergang (hoffe die i266 Unterstützung verbessert sich in kommenden Treiberupdates) einen USB-Ethernet-Adpater geholt. Die Geschwidingkeit ist dort schon um einiges besser (ca die Hälfte der möglichen Downloadrate).
Das ich immer noch nicht die volle Geschwindigkeit bekomme liegt vermutlich daran, dass die neue NIC autoneg auf off steht und duplex auf half:

Code:
root@proxmox:~# ethtool enx00e04c6802b3
Settings for enx00e04c6802b3:
        Supported ports: [  ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Half
        Auto-negotiation: off
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: Unknown
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

Wenn ich nun versuche dies mit ethtool zu ändern bekomme ich nur eine Fehlermeldung:
Code:
root@proxmox:~# ethtool -s enx00e04c6802b3 autoneg on speed 1000 duplex full
netlink error: Operation not supported

Meine /etc/network/interfaces sieht nun so aus:
Code:
 network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface enp86s0 inet manual

iface enx00e04c6802b3 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.178.52/24
        gateway 192.168.178.1
        bridge-ports enx00e04c6802b3
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

Jemand eine Idee wie ich für die neue NIC (enx00e04c6802b3) dauerhaft duplex = full aktivieren kann?

NoTechi
Das liegt oft an der Einstellung des Switches oder das Kabel hat eventuell einen Defekt.
Was ist auf dem Switchport eingestellt?
 
Was ist auf dem Switchport eingestellt?
Der port (Ubiquiti Dream Router) steht auf "Auto-negotiation". Ich hab mal testweise auf "1Gbps FDX" gestellt aber dann kam ich nicht mehr an meine NUC.
Eigentlich kann ich auch port settings und Kabelfehler ausschließen, da die NUC NIC ja mit duplex full und autoneg on verbunden war. Ich hab ja nur das Kabel der internen NIC des NUC an die USB NIC angeschlossen und sonst nichts geändert.

Hab auch testweise mal einen anderen port am Router und auch einen port an einem switch (auch von Ubiquiti) der an dem Router angeschlossen ist probiert. Leider alles ohne Erfolg.

Ich hab jetzt also entweder:
1. die interne NIC (Intel i226 chip) mit full duplex und auto-negotiation aber nur lahme 35 Mbit/s beim speedtest-cli
oder
2. USB NIC (Realtek RTL8156B chip) mit half duplex und keine auto-negotiation mit immerhin um die 500 Mbit/s beim speedtest-cli

Bei meiner 1000Mbit/s Leitung bekomme ich auf anderen Rechnern mindestens 800Mbit/s und meist auch deutlich mehr.

Es ist zum Mäsuemelken ... :p

NoTechi

Edit:
Glaub ich schicke den USB Netzwerkadapter zurück und bestelle mal nen neuen in der Hoffnung auf volle Unterstützung ...

Edit2:
Nach noch ein wenig recherchieren hab ich diese Anleitung gefunden um den Realtec Treiber der bereits im Kernel ist zu laden und nun sieht es gut aus:
Code:
root@proxmox:~# ethtool enx00e04c6802b3
Settings for enx00e04c6802b3:
        Supported ports: [ TP    MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
                                2500baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Half 1000baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: MII
        PHYAD: 32
        Transceiver: internal
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00007fff (32767)
                               drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol
        Link detected: yes

Damit kann ich jetzt leben bis der Intel besser unterstützt wird :)
 
Last edited:
  • Like
Reactions: Falk R.

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!