Contains some notes about use of a HP USB-C to RJ45 Adapter G2
Using Kernel 4.18.0-553.51.1.el8_10.x86_64
The output of dmesg
after plugged into a front panel USB-C port. There was a delay of several minutes before connected to an Ethernet switch and the following output ends with the link coming up:
[May10 13:07] pci 0000:03:00.0: [8086:15d3] type 01 class 0x060400
[ +0.000068] pci 0000:03:00.0: enabling Extended Tags
[ +0.000085] pci 0000:03:00.0: supports D1 D2
[ +0.000002] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ +0.000065] pci 0000:03:00.0: 15.752 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x2 link at 0000:00:1c.4 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[ +0.000185] pci 0000:03:00.0: Adding to iommu group 25
[ +0.000116] pci 0000:04:00.0: [8086:15d3] type 01 class 0x060400
[ +0.000068] pci 0000:04:00.0: enabling Extended Tags
[ +0.000085] pci 0000:04:00.0: supports D1 D2
[ +0.000001] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ +0.000124] pci 0000:04:00.0: Adding to iommu group 26
[ +0.000034] pci 0000:04:01.0: [8086:15d3] type 01 class 0x060400
[ +0.000054] pci 0000:04:01.0: enabling Extended Tags
[ +0.000079] pci 0000:04:01.0: supports D1 D2
[ +0.000001] pci 0000:04:01.0: PME# supported from D0 D1 D2 D3hot D3cold
[ +0.000103] pci 0000:04:01.0: Adding to iommu group 27
[ +0.000031] pci 0000:04:02.0: [8086:15d3] type 01 class 0x060400
[ +0.000069] pci 0000:04:02.0: enabling Extended Tags
[ +0.000079] pci 0000:04:02.0: supports D1 D2
[ +0.000001] pci 0000:04:02.0: PME# supported from D0 D1 D2 D3hot D3cold
[ +0.000156] pci 0000:04:02.0: Adding to iommu group 28
[ +0.000045] pci 0000:04:04.0: [8086:15d3] type 01 class 0x060400
[ +0.000058] pci 0000:04:04.0: enabling Extended Tags
[ +0.000083] pci 0000:04:04.0: supports D1 D2
[ +0.000001] pci 0000:04:04.0: PME# supported from D0 D1 D2 D3hot D3cold
[ +0.000106] pci 0000:04:04.0: Adding to iommu group 29
[ +0.000038] pci 0000:03:00.0: PCI bridge to [bus 04-08]
[ +0.000008] pci 0000:03:00.0: bridge window [mem 0x94000000-0x941fffff]
[ +0.000006] pci 0000:03:00.0: bridge window [mem 0x380000000000-0x3800008fffff 64bit pref]
[ +0.000039] pci 0000:04:00.0: PCI bridge to [bus 05]
[ +0.000008] pci 0000:04:00.0: bridge window [mem 0x94100000-0x941fffff]
[ +0.000043] pci 0000:04:01.0: PCI bridge to [bus 06]
[ +0.000092] pci 0000:07:00.0: [8086:15d4] type 00 class 0x0c0330
[ +0.000028] pci 0000:07:00.0: reg 0x10: [mem 0x94000000-0x9400ffff]
[ +0.000100] pci 0000:07:00.0: enabling Extended Tags
[ +0.000105] pci 0000:07:00.0: supports D1 D2
[ +0.000001] pci 0000:07:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ +0.000083] pci 0000:07:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:04:02.0 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[ +0.000071] pci 0000:07:00.0: Adding to iommu group 28
[ +0.000028] pci 0000:04:02.0: ASPM: current common clock configuration is inconsistent, reconfiguring
[ +0.000028] pci 0000:04:02.0: PCI bridge to [bus 07]
[ +0.000008] pci 0000:04:02.0: bridge window [mem 0x94000000-0x940fffff]
[ +0.000052] pci 0000:04:04.0: PCI bridge to [bus 08]
[ +0.000054] pci_bus 0000:04: Allocating resources
[ +0.000017] pci 0000:04:01.0: bridge window [io 0x1000-0x0fff] to [bus 06] add_size 1000
[ +0.000002] pci 0000:04:01.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 06] add_size 200000 add_align 100000
[ +0.000004] pci 0000:04:01.0: bridge window [mem 0x00100000-0x000fffff] to [bus 06] add_size 200000 add_align 100000
[ +0.000002] pci 0000:04:02.0: bridge window [io 0x1000-0x0fff] to [bus 07] add_size 1000
[ +0.000002] pci 0000:04:02.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 07] add_size 200000 add_align 100000
[ +0.000003] pci 0000:04:04.0: bridge window [io 0x1000-0x0fff] to [bus 08] add_size 1000
[ +0.000002] pci 0000:04:04.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 08] add_size 200000 add_align 100000
[ +0.000003] pci 0000:04:04.0: bridge window [mem 0x00100000-0x000fffff] to [bus 08] add_size 200000 add_align 100000
[ +0.000003] pci 0000:03:00.0: bridge window [io 0x1000-0x0fff] to [bus 04-08] add_size 4000
[ +0.000003] pci 0000:03:00.0: BAR 13: no space for [io size 0x4000]
[ +0.000002] pci 0000:03:00.0: BAR 13: failed to assign [io size 0x4000]
[ +0.000003] pci 0000:03:00.0: BAR 13: no space for [io size 0x4000]
[ +0.000001] pci 0000:03:00.0: BAR 13: failed to assign [io size 0x4000]
[ +0.000006] pci 0000:04:01.0: BAR 14: no space for [mem size 0x00200000]
[ +0.000001] pci 0000:04:01.0: BAR 14: failed to assign [mem size 0x00200000]
[ +0.000003] pci 0000:04:01.0: BAR 15: assigned [mem 0x380000000000-0x3800001fffff 64bit pref]
[ +0.000003] pci 0000:04:02.0: BAR 15: assigned [mem 0x380000200000-0x3800003fffff 64bit pref]
[ +0.000002] pci 0000:04:04.0: BAR 14: no space for [mem size 0x00200000]
[ +0.000002] pci 0000:04:04.0: BAR 14: failed to assign [mem size 0x00200000]
[ +0.000002] pci 0000:04:04.0: BAR 15: assigned [mem 0x380000400000-0x3800005fffff 64bit pref]
[ +0.000002] pci 0000:04:01.0: BAR 13: no space for [io size 0x1000]
[ +0.000002] pci 0000:04:01.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000002] pci 0000:04:02.0: BAR 13: no space for [io size 0x1000]
[ +0.000001] pci 0000:04:02.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000002] pci 0000:04:04.0: BAR 13: no space for [io size 0x1000]
[ +0.000002] pci 0000:04:04.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000003] pci 0000:04:04.0: BAR 14: no space for [mem size 0x00200000]
[ +0.000002] pci 0000:04:04.0: BAR 14: failed to assign [mem size 0x00200000]
[ +0.000001] pci 0000:04:04.0: BAR 13: no space for [io size 0x1000]
[ +0.000002] pci 0000:04:04.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000002] pci 0000:04:02.0: BAR 13: no space for [io size 0x1000]
[ +0.000002] pci 0000:04:02.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000002] pci 0000:04:01.0: BAR 14: no space for [mem size 0x00200000]
[ +0.000001] pci 0000:04:01.0: BAR 14: failed to assign [mem size 0x00200000]
[ +0.000002] pci 0000:04:01.0: BAR 13: no space for [io size 0x1000]
[ +0.000002] pci 0000:04:01.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000002] pci 0000:04:00.0: PCI bridge to [bus 05]
[ +0.000009] pci 0000:04:00.0: bridge window [mem 0x94100000-0x941fffff]
[ +0.000017] pci 0000:04:01.0: PCI bridge to [bus 06]
[ +0.000014] pci 0000:04:01.0: bridge window [mem 0x380000000000-0x3800001fffff 64bit pref]
[ +0.000012] pci 0000:04:02.0: PCI bridge to [bus 07]
[ +0.000009] pci 0000:04:02.0: bridge window [mem 0x94000000-0x940fffff]
[ +0.000006] pci 0000:04:02.0: bridge window [mem 0x380000200000-0x3800003fffff 64bit pref]
[ +0.000012] pci 0000:04:04.0: PCI bridge to [bus 08]
[ +0.000014] pci 0000:04:04.0: bridge window [mem 0x380000400000-0x3800005fffff 64bit pref]
[ +0.000011] pci 0000:03:00.0: PCI bridge to [bus 04-08]
[ +0.000009] pci 0000:03:00.0: bridge window [mem 0x94000000-0x941fffff]
[ +0.000006] pci 0000:03:00.0: bridge window [mem 0x380000000000-0x3800008fffff 64bit pref]
[ +0.001953] pcieport 0000:04:01.0: enabling device (0004 -> 0006)
[ +0.000321] pcieport 0000:04:04.0: enabling device (0004 -> 0006)
[ +0.001235] xhci_hcd 0000:07:00.0: xHCI Host Controller
[ +0.000142] xhci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 3
[ +0.001113] xhci_hcd 0000:07:00.0: hcc params 0x200077c1 hci version 0x110 quirks 0x0000000200009810
[ +0.000300] xhci_hcd 0000:07:00.0: xHCI Host Controller
[ +0.000037] xhci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 4
[ +0.000003] xhci_hcd 0000:07:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[ +0.000030] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.18
[ +0.000002] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ +0.000002] usb usb3: Product: xHCI Host Controller
[ +0.000001] usb usb3: Manufacturer: Linux 4.18.0-553.51.1.el8_10.x86_64 xhci-hcd
[ +0.000001] usb usb3: SerialNumber: 0000:07:00.0
[ +0.000140] hub 3-0:1.0: USB hub found
[ +0.000007] hub 3-0:1.0: 2 ports detected
[ +0.000368] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.18
[ +0.000003] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ +0.000002] usb usb4: Product: xHCI Host Controller
[ +0.000001] usb usb4: Manufacturer: Linux 4.18.0-553.51.1.el8_10.x86_64 xhci-hcd
[ +0.000002] usb usb4: SerialNumber: 0000:07:00.0
[ +0.000100] hub 4-0:1.0: USB hub found
[ +0.000008] hub 4-0:1.0: 2 ports detected
[ +0.000495] pci_bus 0000:04: Allocating resources
[ +0.000018] pcieport 0000:04:01.0: bridge window [io 0x1000-0x0fff] to [bus 06] add_size 1000
[ +0.000004] pcieport 0000:04:01.0: bridge window [mem 0x00100000-0x000fffff] to [bus 06] add_size 200000 add_align 100000
[ +0.000003] pcieport 0000:04:02.0: bridge window [io 0x1000-0x0fff] to [bus 07] add_size 1000
[ +0.000002] pcieport 0000:04:04.0: bridge window [io 0x1000-0x0fff] to [bus 08] add_size 1000
[ +0.000002] pcieport 0000:04:04.0: bridge window [mem 0x00100000-0x000fffff] to [bus 08] add_size 200000 add_align 100000
[ +0.000003] pcieport 0000:03:00.0: bridge window [io 0x1000-0x0fff] to [bus 04-08] add_size 4000
[ +0.000004] pcieport 0000:03:00.0: BAR 13: no space for [io size 0x4000]
[ +0.000002] pcieport 0000:03:00.0: BAR 13: failed to assign [io size 0x4000]
[ +0.000003] pcieport 0000:03:00.0: BAR 13: no space for [io size 0x4000]
[ +0.000001] pcieport 0000:03:00.0: BAR 13: failed to assign [io size 0x4000]
[ +0.000004] pcieport 0000:04:01.0: BAR 14: no space for [mem size 0x00200000]
[ +0.000002] pcieport 0000:04:01.0: BAR 14: failed to assign [mem size 0x00200000]
[ +0.000002] pcieport 0000:04:04.0: BAR 14: no space for [mem size 0x00200000]
[ +0.000002] pcieport 0000:04:04.0: BAR 14: failed to assign [mem size 0x00200000]
[ +0.000001] pcieport 0000:04:01.0: BAR 13: no space for [io size 0x1000]
[ +0.000002] pcieport 0000:04:01.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000002] pcieport 0000:04:02.0: BAR 13: no space for [io size 0x1000]
[ +0.000001] pcieport 0000:04:02.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000002] pcieport 0000:04:04.0: BAR 13: no space for [io size 0x1000]
[ +0.000002] pcieport 0000:04:04.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000003] pcieport 0000:04:04.0: BAR 14: no space for [mem size 0x00200000]
[ +0.000001] pcieport 0000:04:04.0: BAR 14: failed to assign [mem size 0x00200000]
[ +0.000002] pcieport 0000:04:04.0: BAR 13: no space for [io size 0x1000]
[ +0.000002] pcieport 0000:04:04.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000002] pcieport 0000:04:02.0: BAR 13: no space for [io size 0x1000]
[ +0.000001] pcieport 0000:04:02.0: BAR 13: failed to assign [io size 0x1000]
[ +0.000002] pcieport 0000:04:01.0: BAR 14: no space for [mem size 0x00200000]
[ +0.000002] pcieport 0000:04:01.0: BAR 14: failed to assign [mem size 0x00200000]
[ +0.000002] pcieport 0000:04:01.0: BAR 13: no space for [io size 0x1000]
[ +0.000002] pcieport 0000:04:01.0: BAR 13: failed to assign [io size 0x1000]
[ +0.322338] usb 4-1: new SuperSpeed USB device number 2 using xhci_hcd
[ +0.012587] usb 4-1: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=32.00
[ +0.000003] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[ +0.000002] usb 4-1: Product: USB 10/100/1000 LAN
[ +0.000001] usb 4-1: Manufacturer: Realtek
[ +0.000001] usb 4-1: SerialNumber: 002CC40EB
[ +0.050204] usbcore: registered new device driver r8152-cfgselector
[ +0.116649] r8152-cfgselector 4-1: reset SuperSpeed USB device number 2 using xhci_hcd
[ +0.069450] r8152 4-1:1.0: load rtl8153c-1 v2 08/19/21 successfully
[ +0.027621] r8152 4-1:1.0 eth0: v1.12.13
[ +0.000026] usbcore: registered new interface driver r8152
[ +0.017511] usbcore: registered new interface driver cdc_ether
[ +0.027749] r8152 4-1:1.0 enp7s0u1: renamed from eth0
[ +0.019586] IPv6: ADDRCONF(NETDEV_UP): enp7s0u1: link is not ready
[ +0.003400] IPv6: ADDRCONF(NETDEV_UP): enp7s0u1: link is not ready
[May10 13:10] IPv6: ADDRCONF(NETDEV_CHANGE): enp7s0u1: link becomes ready
[ +0.000282] r8152 4-1:1.0 enp7s0u1: carrier on
The ethtool
output after had connected to an Ethernet switch:
$ sudo ethtool enp7s0u1
[sudo] password for mr_halfword:
Settings for enp7s0u1:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/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
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/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
An IP address has been allocated by DHCP from the broadband router:
$ ip addr show dev enp7s0u1
7: enp7s0u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 0c:37:96:cc:40:eb brd ff:ff:ff:ff:ff:ff
inet 192.168.0.81/24 brd 192.168.0.255 scope global dynamic noprefixroute enp7s0u1
valid_lft 84951sec preferred_lft 84951sec
inet6 fe80::beb8:2586:4b:278/64 scope link noprefixroute
valid_lft forever preferred_lft forever
When the adapter was plugged in there were no other front panel USB ports in use. The dmesg
output showed PCIe devices being added. For the identities of the added devices:
8086:15d3
is aPCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step)
8086:15d4
is aUSB controller: Intel Corporation JHL6540 Thunderbolt 3 USB Controller (C step)
The output from lsusb
for the Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter which enumerated on USB:
$ sudo lsusb -s 4:2 -v
Bus 004 Device 002: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.20
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x0bda Realtek Semiconductor Corp.
idProduct 0x8153 RTL8153 Gigabit Ethernet Adapter
bcdDevice 32.00
iManufacturer 1 Realtek
iProduct 2 USB 10/100/1000 LAN
iSerial 6 002CC40EB
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0039
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 288mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 11
bMaxBurst 0
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0062
bNumInterfaces 2
bConfigurationValue 2
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 288mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 6 Ethernet Networking
bInterfaceProtocol 0
iInterface 5 CDC Communications Control
CDC Header:
bcdCDC 1.10
CDC Union:
bMasterInterface 0
bSlaveInterface 1
CDC Ethernet:
iMacAddress 3 0C3796CC40EB
bmEthernetStatistics 0x00000000
wMaxSegmentSize 1514
wNumberMCFilters 0x0000
bNumberPowerFilters 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 11
bMaxBurst 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 4 Ethernet Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 3
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x0016
bNumDeviceCaps 2
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000002
HIRD Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x02
Latency Tolerance Messages (LTM) Supported
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 2
Lowest fully-functional device speed is High Speed (480Mbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 2047 micro seconds
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0010
(Bus Powered)
Latency Tolerance Messaging (LTM) Enabled
Which is running at 5G speed:
$ lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
|__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
<<snip>>
Was able to run switch_test on ten 100M ports and achived a total of 1000M bi-directional traffic on the HP USB-C to RJ45 Adapter G2:
[mr_halfword@skylake-alma Release]$ ./switch_test -i enp7s0u1 -p 15-24 -r 100
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250510T170528_per_port_counts_linux.csv
Using interface enp7s0u1 (No description available)
Test interval = 10 (secs)
Frame debug enabled = No
Press Ctrl-C to stop test at end of next test interval
17:05:38.170
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810750 0 810586 0 8 0 0 81074.8 100.01
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
17:05:48.170
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810640 0 810621 0 0 0 0 81063.8 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
17:05:58.170
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810659 0 810662 0 0 0 0 81066.2 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
17:06:08.170
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810640 0 810642 0 0 0 0 81064.0 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
^C
17:06:18.170
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810632 0 810642 0 0 0 0 81063.2 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
Max pending rx frames = 3 out of 36
After adding an option to set the snaplen still achieves full bandwidth on the Ethernet link:
[mr_halfword@skylake-alma Release]$ ./switch_test -i enp7s0u1 -p 15-24 -r 100 -l 32768
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250518T154136_per_port_counts_linux.csv
Using interface enp7s0u1 (No description available)
Test interval = 10 (secs)
Frame debug enabled = No
Rx filter enabled = No
Use pcap_open() = No
snaplen = 32768
Press Ctrl-C to stop test at end of next test interval
15:41:46.938
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810763 0 810586 0 8 0 0 81076.2 100.02
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
15:41:56.938
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810638 0 810641 0 0 0 0 81063.9 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
15:42:06.938
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810632 0 810643 0 0 0 0 81062.6 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
^C
15:42:16.938
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810640 0 810621 0 0 0 0 81063.5 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
Max pending rx frames = 3 out of 36
Whereas if increase the snaplen to 65536 starts to miss some frames:
[mr_halfword@skylake-alma Release]$ ./switch_test -i enp7s0u1 -p 15-24 -r 100 -l 65536
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250518T155014_per_port_counts_linux.csv
Using interface enp7s0u1 (No description available)
Test interval = 10 (secs)
Frame debug enabled = No
Rx filter enabled = No
Use pcap_open() = No
snaplen = 65536
Press Ctrl-C to stop test at end of next test interval
15:50:24.959
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810762 0 810547 0 8 0 39 81075.8 100.02
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 S.S.....S
16 . S.SS.S..
17 SS S.S....
18 ..S S.S...
19 ...S S.S..
20 ..... SSS.
21 S....S .SS
22 S...... .S
23 .S...... .
24 S.SS....S
PCAP statistics : ps_recv=810614 ps_drop=39 ps_ifdrop=810614
Total test intervals with failures = 1 : last failure NOW
15:50:34.959
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810630 0 810638 0 0 0 4 81062.8 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .....S...
16 . ........
17 .. ......S
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 ..S......
PCAP statistics : ps_recv=1621256 ps_drop=43 ps_ifdrop=1621256
Total test intervals with failures = 2 : last failure NOW
^C
15:50:44.959
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810640 0 810230 0 0 0 412 81063.8 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 SSSSSSSSS
16 S SSSSSSSS
17 SS SSSSSSS
18 SSS SSSSSS
19 SSSS SSSSS
20 SSSSS SSSS
21 SSSSSS SSS
22 SSSSSSS SS
23 SSSSSSSS S
24 SSSSSSSSS
PCAP statistics : ps_recv=2431898 ps_drop=455 ps_ifdrop=2431898
Total test intervals with failures = 3 : last failure NOW
Max pending rx frames = 4 out of 36
Running Windows 11 Pro for Workstations Version 24H2 (OS Build 26100.3915)
Plugged into a front panel USB-C port, and was detected as a network device. Output ipconfig /all
. Has a 1G link to a switch, which is configured for running switch_test with no DHCP server available and therefore no IP address allocated:
Ethernet adapter Ethernet 8:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek USB GbE Family Controller
Physical Address. . . . . . . . . : 0C-37-96-CC-40-EB
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::6361:2f8f:d214:a97%73(Preferred)
Autoconfiguration IPv4 Address. . : 169.254.69.26(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 1225537430
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2F-7A-41-99-98-03-9B-6A-7E-A1
NetBIOS over Tcpip. . . . . . . . : Enabled
Built switch_test using C:\npcap-sdk-1.15
.
Attempting to run switch_test failed with:
C:\Users\mr_halfword\Git-projects\switch_test\Release>switch_test.exe -i \Device\NPF_{E977075E-F7BA-487C-9146-B92466131E3A} -p 15-24 -r 100
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250510T195155_per_port_counts_windows.csv
Using interface \Device\NPF_{E977075E-F7BA-487C-9146-B92466131E3A} (Realtek USB GbE Family Controller)
Test interval = 10 (secs)
Frame debug enabled = No
Press Ctrl-C to stop test at end of next test interval
Error sending the packet: send error: PacketSendPacket failed: A device attached to the system is not functioning. (31)
The MTU is 1500:
C:\Users\mr_halfword\Git-projects\switch_test\Release>netsh interface ipv4 show subinterface "Ethernet 8"
MTU MediaSenseState Bytes In Bytes Out Interface
---------- --------------- ------------ ------------ -------------
1500 1 0 74691 Ethernet 8
Tried increasing the MTU by 4 bytes (as administrator), but failed:
C:\Windows\System32>netsh interface ipv4 set subinterface "Ethernet 8" mtu=1504 store=persistent
The parameter is incorrect.
Can reduce the MTU, but get The parameter is incorrect
trying to increase it.
The driver properties are the following, none of which relate to jumbo frame or MTU:
All of the offloads are set to "Tx & Rx Enabled".
Based upon Unable to set MTU size on windows network adapter disabled all the offloads. However:
- Still unable to increase the MTU.
- switch_test still fails with
Error sending the packet: send error: PacketSendPacket failed
.
Found a RTL8153 datasheet which contains:
Support jumbo frame to 9K bytes
The original driver was automatically installed by Windows, but ommitted to record the driver version.
Selected Uninstall Device followed by removing and re-inserting to reset the driver settings back to default. Was still named "Ethernet 8" but the \Device\NPF_{GUID}
network interface name used by PCAP changed the GUID part.
From Realtek USB 1G / 2.5G / 5G / 10G Ethernet Family Controller Software which listed RTL8153 devices downloaded Win11 Auto Installation Program (NetAdapterCx) version 1152.17.20 from March 2025. Installed and that updated the driver to:
- Driver Provider: Realtek
- Driver Date: 28/02/2025
- Driver Version: 1153.17.20.1029
- Digital Signer: Microsoft Windows Hardware Compatibility Publisher
With the updated driver, there are more Advanced proprties including "Jumbo Frame":
Initially:
- Still unable to increase the MTU.
- switch_test still fails with
Error sending the packet: send error: PacketSendPacket failed
.
In the driver properties set Jumbo Frame to "4088 bytes".
Could then update the MTU:
C:\Windows\System32>netsh interface ipv4 set subinterface "Ethernet 8" mtu=1504 store=persistent
Ok.
Which was read back:
C:\Users\mr_halfword\Git-projects\switch_test\Release>netsh interface ipv4 show subinterface "Ethernet 8"
MTU MediaSenseState Bytes In Bytes Out Interface
---------- --------------- ------------ ------------ -------------
1504 1 0 8000 Ethernet 8
switch_test can now run. However, the throughput is ~20 times lower than under AlmaLinux:
C:\Users\mr_halfword\Git-projects\switch_test\Release>switch_test.exe -i \Device\NPF_{DC221D9D-6EC6-4301-8EBB-CF0EFFD195C6} -p 15-24 -r 100
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250510T222054_per_port_counts_windows.csv
Using interface \Device\NPF_{DC221D9D-6EC6-4301-8EBB-CF0EFFD195C6} (Realtek USB GbE Family Controller)
Test interval = 10 (secs)
Frame debug enabled = No
Press Ctrl-C to stop test at end of next test interval
22:21:04.653
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
41461 41461 41455 0 8 0 0 4146.0 5.11
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
22:21:14.654
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
40859 40859 40859 0 0 0 0 4085.9 5.04
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
22:21:24.666
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
41047 41046 41046 0 0 0 0 4104.7 5.06
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
22:21:34.665
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
41605 41606 41606 0 0 0 0 4160.6 5.13
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
22:21:44.663
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
44130 44130 44129 0 0 8 0 4413.0 5.44
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
Max pending rx frames = 1 out of 36
The order of performance between Windows and Linux using PCAP is simular to have seen with PCIe based 1 GbE network adapters. I.e. not related to use of the USB interface.
The following were enabled for the connection:
- Client for Microsoft Networks
- File and Printer Sharing for Microsoft Networks
- Npcap Packet Driver (NPCAP)
- QoS Pascket Scheduler
- Bridge Driver
- Nested Network Virtualization
- Internet Protocol Version 4 (TCP/IPv4)
- Microsoft LLDP Protocol Driver
- Internet Protocol Version 6 (TCP/IPv6)
- Link-Layer Topology Discovery Responder
- Link-Layer Topology Discovery Mapper I/O Driver
Disabling everything except "Npcap Packet Driver (NPCAP)" still allowed the switch_test to run. However, didn't cause the archive data rate to increase. When trying different options with 10 ports the per-port rate can vary between 5 and 11 Mbps from run-to-run.
This is the result of a new -o
option which uses pcap_open
with PCAP_OPENFLAG_NOCAPTURE_LOCAL
to not capture the transmitted frames. This means "Tx Copy" is now reported as zero under Windows as well as Linux:
C:\Users\mr_halfword\Git-projects\switch_test\Release>switch_test.exe -i \Device\NPF_{DC221D9D-6EC6-4301-8EBB-CF0EFFD195C6} -p 15-24 -r 100 -o
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250518T131700_per_port_counts_windows.csv
Using interface \Device\NPF_{DC221D9D-6EC6-4301-8EBB-CF0EFFD195C6} (Realtek USB GbE Family Controller)
Test interval = 10 (secs)
Frame debug enabled = No
Rx filter enabled = No
Use pcap_open() = Yes
Press Ctrl-C to stop test at end of next test interval
13:17:10.811
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
113082 0 113067 0 8 0 0 11308.2 13.95
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
13:17:20.811
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
113206 0 113210 0 0 0 0 11320.6 13.97
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
13:17:30.811
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
114011 0 114014 0 0 0 0 11401.1 14.06
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
13:17:40.811
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
112810 0 112811 0 0 0 0 11281.0 13.92
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
13:17:50.812
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
113730 0 113726 0 0 0 0 11373.0 14.03
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
Max pending rx frames = 1 out of 36
The above is the highest frame rate seen under Windows so far. However, on other runs with the same options have seen a per-port frame rate of 5.7 Mbps. Therefore, preventing the receipt of the transmitted frames isn't a reliable way of increasing the transmited frame rate.
Running with the snaplen increased to 65536, compared to the 26 needed by the test, didn't reduce performance:
C:\Users\mr_halfword\Git-projects\switch_test\Release>switch_test.exe -i \Device\NPF_{DC221D9D-6EC6-4301-8EBB-CF0EFFD195C6} -p 15-24 -r 100 -l 65536 -o
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250518T150207_per_port_counts_windows.csv
Using interface \Device\NPF_{DC221D9D-6EC6-4301-8EBB-CF0EFFD195C6} (Realtek USB GbE Family Controller)
Test interval = 10 (secs)
Frame debug enabled = No
Rx filter enabled = No
Use pcap_open() = Yes
snaplen = 65536
Press Ctrl-C to stop test at end of next test interval
15:02:17.864
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
111498 0 111492 0 0 0 0 11149.7 13.75
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
15:02:27.864
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
113939 0 113935 0 0 0 0 11394.0 14.06
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
15:02:37.864
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
114192 0 114189 0 0 0 0 11419.2 14.09
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
15:02:47.864
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
113387 0 113386 0 0 0 0 11338.7 13.99
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
Max pending rx frames = 1 out of 36
The same PC as used for the Windows 11 tests, but booted from a openSUSE Leap 15.5 live image on a SDCARD in a USB to SDCARD adapter. Kernel 5.14.21-150500.55.62-default
.
Has enumerated as interface eth15
:
linux@DESKTOP-BVUMP11:~/switch_test/Release> sudo /usr/sbin/ethtool enp6s0u2
Settings for eth15:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/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
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/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
With the default snaplen the test passes with the full bandwidth achieved:
linux@DESKTOP-BVUMP11:~/switch_test/Release> ./switch_test -i eth15 -p 15-24 -r 100
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250518T171249_per_port_counts_linux.csv
Using interface eth15 (No description available)
Test interval = 10 (secs)
Frame debug enabled = No
Rx filter enabled = No
Use pcap_open() = No
snaplen = 26
Press Ctrl-C to stop test at end of next test interval
17:12:59.573
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810471 0 810294 0 8 0 0 81047.0 99.98
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
17:13:09.572
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810649 0 810663 0 0 9 0 81065.0 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
17:13:19.572
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810644 0 810642 0 0 3 0 81064.4 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
^C
17:13:29.572
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810654 0 810643 0 0 2 0 81064.7 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
Max pending rx frames = 3 out of 36
With a snaplen of 65536 get some missed frames:
linux@DESKTOP-BVUMP11:~/switch_test/Release> ./switch_test -i eth15 -p 15-24 -r 100 -l 65536
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250518T175505_per_port_counts_linux.csv
Using interface eth15 (No description available)
Test interval = 10 (secs)
Frame debug enabled = No
Rx filter enabled = No
Use pcap_open() = No
snaplen = 65536
Press Ctrl-C to stop test at end of next test interval
17:55:15.149
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810428 0 810165 0 8 2 88 81042.7 99.97
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 SSSSSS..S
16 S SSSSSS..
17 SS SSSSSS.
18 .SS .SSSSS
19 ..SS SSSSS
20 S...S SSSS
21 SSS.SS SSS
22 SSSS.SS SS
23 SSSSS..S S
24 SSSSSS..S
PCAP statistics : ps_recv=810283 ps_drop=88 ps_ifdrop=0
Total test intervals with failures = 1 : last failure NOW
17:55:25.149
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810652 0 810428 0 0 10 214 81063.6 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 SSSSS.SSS
16 S SSSSS.SS
17 SS SSSSS.S
18 SSS SSSSS.
19 SSSS S.SSS
20 .SSSS SSSS
21 S.SSSS SSS
22 SS.SSSS SS
23 SSSSSSSS S
24 SSSSSSSSS
PCAP statistics : ps_recv=1620956 ps_drop=311 ps_ifdrop=0
Total test intervals with failures = 2 : last failure NOW
^C
17:55:35.149
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810640 0 810633 0 0 3 9 81064.5 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . .....SS.
17 .. ......S
18 ... ......
19 S... .....
20 .S... ....
21 ..S... ...
22 ...S... ..
23 ....SS.. .
24 .........
PCAP statistics : ps_recv=2431601 ps_drop=320 ps_ifdrop=0
Total test intervals with failures = 3 : last failure NOW
Max pending rx frames = 3 out of 36
With a snaplen of 32768 some missed frames on the 1st test iteration:
linux@DESKTOP-BVUMP11:~/switch_test/Release> ./switch_test -i eth15 -p 15-24 -r 100 -l 32768
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250518T175616_per_port_counts_linux.csv
Using interface eth15 (No description available)
Test interval = 10 (secs)
Frame debug enabled = No
Rx filter enabled = No
Use pcap_open() = No
snaplen = 32768
Press Ctrl-C to stop test at end of next test interval
17:56:26.169
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810427 0 810219 0 0 0 38 81042.7 99.97
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 SSSSS....
16 . S..SS...
17 .. SSSSS..
18 ... SS.SS.
19 .... .SSSS
20 ..... SSSS
21 S..... .SS
22 SS..... .S
23 SSS..... .
24 SSSS.....
PCAP statistics : ps_recv=810278 ps_drop=38 ps_ifdrop=0
Total test intervals with failures = 1 : last failure NOW
17:56:36.168
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810653 0 810643 0 0 0 0 81064.5 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 1 : last failure 17:56:26.169
17:56:46.168
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810640 0 810642 0 0 0 0 81064.8 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 1 : last failure 17:56:26.169
^C
17:56:56.168
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810647 0 810662 0 0 0 0 81064.7 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 1 : last failure 17:56:26.169
Max pending rx frames = 3 out of 36
With a snaplen on 16384 the test was successful and achived the full bandwidth:
linux@DESKTOP-BVUMP11:~/switch_test/Release> ./switch_test -i eth15 -p 15-24 -r 100 -l 16384
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250518T175752_per_port_counts_linux.csv
Using interface eth15 (No description available)
Test interval = 10 (secs)
Frame debug enabled = No
Rx filter enabled = No
Use pcap_open() = No
snaplen = 16384
Press Ctrl-C to stop test at end of next test interval
17:58:02.536
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810435 0 810270 0 0 0 0 81043.5 99.98
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
17:58:12.536
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810650 0 810643 0 0 0 0 81064.1 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
17:58:22.536
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810631 0 810621 0 0 0 0 81063.7 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
^C
17:58:32.536
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810667 0 810679 0 0 0 0 81067.0 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
Max pending rx frames = 3 out of 36
Also left running for 65 minutes with no errors:
linux@DESKTOP-BVUMP11:~/switch_test/Release> ./switch_test -i eth15 -p 15-24 -r 100 -l 16384
Bit rate on interface to injection switch = 1000 (Mbps)
Requested bit rate to be generated on each switch port under test = 100.00 (Mbps)
Not limiting frame rate, as bit-rate on interface to injection switch doesn't exceed the total across all switch ports under test
Writing per-port counts to 20250518T191734_per_port_counts_linux.csv
Using interface eth15 (No description available)
Test interval = 10 (secs)
Frame debug enabled = No
Rx filter enabled = No
Use pcap_open() = No
snaplen = 16384
Press Ctrl-C to stop test at end of next test interval
19:17:44.996
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810491 0 810333 0 8 0 0 81049.1 99.98
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
19:17:54.996
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810654 0 810643 0 0 0 0 81064.7 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
<<snip>>
20:23:54.996
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810654 0 810642 0 0 0 0 81065.4 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
^C
20:24:04.996
Tx Test Tx Copy Rx Test Rx Unexpected Rx Flooded Rx Other missed frames tx rate (Hz) per port Mbps
810642 0 810643 0 0 0 0 81063.7 100.00
Summary of missed frames : '.' none missed 'S' some missed 'A' all missed
Source Destination ports --->
port 1111122222
5678901234
15 .........
16 . ........
17 .. .......
18 ... ......
19 .... .....
20 ..... ....
21 ...... ...
22 ....... ..
23 ........ .
24 .........
Total test intervals with failures = 0
Max pending rx frames = 3 out of 36