I am using Intel 82576 Gigabit Network adapter on Ubuntu 22.04.1 LTS.
The problem is that it looks like it cannot auto negotiate 1GB upload.
When use iperf3 TCP
iperf3 -c 192.168.100.125
[ 5] 0.00-1.00 sec 387 KBytes 3.17 Mbits/sec 0 42.4 KBytes
[ 5] 1.00-2.00 sec 127 KBytes 1.04 Mbits/sec 0 42.4 KBytes
[ 5] 2.00-3.00 sec 255 KBytes 2.09 Mbits/sec 0 42.4 KBytes
[ 5] 3.00-4.00 sec 127 KBytes 1.04 Mbits/sec 0 42.4 KBytes
[ 5] 4.00-5.00 sec 255 KBytes 2.09 Mbits/sec 0 42.4 KBytes
[ 5] 5.00-6.00 sec 127 KBytes 1.04 Mbits/sec 0 42.4 KBytes
[ 5] 6.00-7.00 sec 255 KBytes 2.09 Mbits/sec 0 42.4 KBytes
[ 5] 7.00-8.00 sec 127 KBytes 1.04 Mbits/sec 0 42.4 KBytes
[ 5] 8.00-9.00 sec 127 KBytes 1.04 Mbits/sec 0 42.4 KBytes
[ 5] 9.00-10.00 sec 255 KBytes 2.09 Mbits/sec 0 42.4 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.99 MBytes 1.67 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 1.76 MBytes 1.47 Mbits/sec receiver
iperf3 -c 192.168.100.125 -R
[ 5] 0.00-1.00 sec 103 MBytes 863 Mbits/sec
[ 5] 1.00-2.00 sec 112 MBytes 941 Mbits/sec
[ 5] 2.00-3.00 sec 112 MBytes 941 Mbits/sec
[ 5] 3.00-4.00 sec 112 MBytes 941 Mbits/sec
[ 5] 4.00-5.00 sec 112 MBytes 941 Mbits/sec
[ 5] 5.00-6.00 sec 112 MBytes 943 Mbits/sec
[ 5] 6.00-7.00 sec 108 MBytes 905 Mbits/sec
[ 5] 7.00-8.00 sec 109 MBytes 919 Mbits/sec
[ 5] 8.00-9.00 sec 112 MBytes 943 Mbits/sec
[ 5] 9.00-10.00 sec 110 MBytes 923 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.01 sec 1.08 GBytes 928 Mbits/sec 636 sender
[ 5] 0.00-10.00 sec 1.08 GBytes 926 Mbits/sec receiver
When I set the bandwidth using:
iperf3 -c 192.168.100.125 -u -b 2.5G
[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.00 sec 89.1 KBytes 730 Kbits/sec 63
[ 5] 1.00-2.00 sec 88.2 MBytes 740 Mbits/sec 63872
[ 5] 2.00-3.00 sec 81.5 MBytes 683 Mbits/sec 58986
[ 5] 3.00-4.00 sec 114 MBytes 956 Mbits/sec 82546
[ 5] 4.00-5.00 sec 112 MBytes 936 Mbits/sec 80806
[ 5] 5.00-6.00 sec 114 MBytes 956 Mbits/sec 82546
[ 5] 6.00-7.00 sec 108 MBytes 910 Mbits/sec 78547
[ 5] 7.00-8.00 sec 114 MBytes 956 Mbits/sec 82546
[ 5] 8.00-9.00 sec 114 MBytes 956 Mbits/sec 82549
[ 5] 9.00-10.00 sec 114 MBytes 956 Mbits/sec 82546
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.00 sec 960 MBytes 805 Mbits/sec 0.000 ms 0/695007 (0%) sender
[ 5] 0.00-10.03 sec 960 MBytes 803 Mbits/sec 0.016 ms 2/694985 (0.00029%) receiver
I have also found very strange behavior testing with SCP. It starts uploading with around 1.1MB/s and stays like that until I load speedtest in the browser and as soon as the browser starts download/upload test the rate of SCP starts increasing and reaching ~100MB/s.
I suspect there is some problem with negotiating 1000baseT, but I cannot figure out why.
Linux 5.15.0-52-generic
06:00.0 Ethernet controller [0200]: Intel Corporation 82576 Gigabit Network Connection [8086:10c9] (rev 01)
Subsystem: Intel Corporation 82576 Gigabit Network Connection [8086:a02f]
Kernel driver in use: igb
Kernel modules: igb
filename: /lib/modules/5.15.0-52-generic/kernel/drivers/net/ethernet/intel/igb/igb.ko
license: GPL v2
description: Intel(R) Gigabit Ethernet Network Driver
author: Intel Corporation, <e1000-devel@lists.sourceforge.net>
srcversion: A19C7A42890EA6D0CECF73D
alias: pci:v00008086d000010D6sv*sd*bc*sc*i*
...
depends: dca,i2c-algo-bit
retpoline: Y
intree: Y
name: igb
vermagic: 5.15.0-52-generic SMP mod_unload modversions
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 49:B2:3F:66:E1:3B:8B:67:11:CE:17:63:41:27:D0:B1:28:DF:09:8C
sig_hashalgo: sha512
Settings for enp6s0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/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
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: 1
Transceiver: internal
MDI-X: on (auto)
netlink error: Operation not permitted
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Features for enp6s0:
rx-checksumming: on
tx-checksumming: on
tx-checksum-ipv4: off [fixed]
tx-checksum-ip-generic: on
tx-checksum-ipv6: off [fixed]
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: on
scatter-gather: on
tx-scatter-gather: on
tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
tx-tcp-segmentation: off
tx-tcp-ecn-segmentation: off [fixed]
tx-tcp-mangleid-segmentation: off
tx-tcp6-segmentation: off
generic-segmentation-offload: off
generic-receive-offload: off
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: on
highdma: on [fixed]
rx-vlan-filter: on [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: on
tx-gre-csum-segmentation: on
tx-ipxip4-segmentation: on
tx-ipxip6-segmentation: on
tx-udp_tnl-segmentation: on
tx-udp_tnl-csum-segmentation: on
tx-gso-partial: on
tx-tunnel-remcsum-segmentation: off [fixed]
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
tx-udp-segmentation: on
tx-gso-list: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
rx-gro-hw: off [fixed]
tls-hw-record: off [fixed]
rx-gro-list: off
macsec-hw-offload: off [fixed]
rx-udp-gro-forwarding: off
hsr-tag-ins-offload: off [fixed]
hsr-tag-rm-offload: off [fixed]
hsr-fwd-offload: off [fixed]
hsr-dup-offload: off [fixed]