# \[TRACKING\] Framework 13 AMD supplied Realtek USB-C 2.5Gbit NIC frequent resets in Left hand Extension slots

**URL:** <https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160>\
**Category:** Linux\
**Created:** [December 16, 2023, 8:40pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160 "2023-12-16T20:40:30Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![jwp](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/jwp/32/19340_2.png) [@jwp](https://community.frame.work/u/jwp)\
**Post date:** [December 16, 2023, 8:40pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160/1 "2023-12-16T20:40:30Z")

</div>

I was recently testing the supplied framework USB-C to Ethernet adaptor card (transparent one) with the AMD Framework. I get frequent disconnects and resets of the BUS leading to flapping of the NIC. This is particularly problematic when i.e running Firmware updates to connected routers etc (I encountered it when running tftp flash).

The behavior is more stable when the expansion card is in the back right expansion slot.

I also have never been able to achieve reasonable speeds from this NIC chipset. Even when connected at 2.5Gbit with a 10G capable 803.bz port on a switch I am only able to push sub 930mbit transfers through the adapter.

I have collected dmesg and journal output. But am wondering if others are seeing the same terrible performance from the supplied NIC. I am a bit disapointed, as in my collection of dozens of USB NIC adapters this is by far the flakiest I have encountered and leaves me wishing there was a real PHY MAC breakout on the FW.

Conversly Thunderbolt networking at 20GBit seems fine over the rear ports. But that’s not helpful when you need an RJ45.

---

<div class="post-metadata">

**Author:** ![DHowett](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/dhowett/32/1990_2.png) [@DHowett](https://community.frame.work/u/DHowett)\
**Post date:** [December 16, 2023, 11:22pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160/2 "2023-12-16T23:22:51Z")

</div>

It might be worth reaching out to Support about this! I’ve got the same NIC, roughly the same laptop, on Linux and Windows and I can readily push 2300MBit – even on the left ports – reliably.

---

<div class="post-metadata">

**Author:** ![jwp](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/jwp/32/19340_2.png) [@jwp](https://community.frame.work/u/jwp)\
**Post date:** [December 17, 2023, 7:01pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160/3 "2023-12-17T19:01:47Z")

</div>

Thanks for the reference point. This is with an 6.7rc kernel and firmware blobs from next ; so it’s possible it’s something in an update. What is your working kernel version / distro-blob combination so I can test?

---

<div class="post-metadata">

**Author:** ![Matt\_Hartley](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/matt_hartley/32/13623_2.png) [@Matt\_Hartley](https://community.frame.work/u/Matt_Hartley)\
**Post date:** [December 20, 2023, 8:21pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160/4 "2023-12-20T20:21:04Z")

</div>

> [@jwp](#):
>
> I also have never been able to achieve reasonable speeds from this NIC chipset. Even when connected at 2.5Gbit with a 10G capable 803.bz port on a switch I am only able to push sub 930mbit transfers through the adapter.

This may be bug worthy. Haven’t tested it recently on Fedora, mostly Ubuntu, so it would be interesting to do some comparison testing with older kernels, see if the behavior reflects similar there.

I know you how to do this stuff, so I look forward to seeing what you find and I will then circle back for my own testing on 6.6.6-200 - seriously though, thank you very much for pushing on this with the RC kernel. It’s greatly appreciated. 🙂

---

<div class="post-metadata">

**Author:** ![Matt\_Hartley](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/matt_hartley/32/13623_2.png) [@Matt\_Hartley](https://community.frame.work/u/Matt_Hartley)\
**Post date:** [December 20, 2023, 8:27pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160/5 "2023-12-20T20:27:25Z")

</div>

> [@DHowett](#):
>
> It might be worth reaching out to Support about this! I’ve got the same NIC, roughly the same laptop, on Linux and Windows and I can readily push 2300MBit – even on the left ports – reliably.

Which distro and kernel by chance? @jwp is doing awesome things by helping us to stay ahead of things as we move past the 6.6.6 kernel.

---

<div class="post-metadata">

**Author:** ![jwp](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/jwp/32/19340_2.png) [@jwp](https://community.frame.work/u/jwp)\
**Post date:** [December 20, 2023, 8:28pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160/6 "2023-12-20T20:28:11Z")

</div>

Yeah it’s on my list of things to circle back on over x-mas. Will get you some actual metrics from flent/iperf3 and similar once I’ve got a bit of time.

Sounds like @DHowett was mentioning windows - which I believe likely works fine RTL are particularly well known for having opaque driver stacks in linux, but are well known for having badly documented quirks (lots of examples from Openwrt experience with their switch SoC’s)

---

<div class="post-metadata">

**Author:** ![Matt\_Hartley](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/matt_hartley/32/13623_2.png) [@Matt\_Hartley](https://community.frame.work/u/Matt_Hartley)\
**Post date:** [December 20, 2023, 8:31pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160/7 "2023-12-20T20:31:10Z")

</div>

> [@jwp](#):
>
> Yeah it’s on my list of things to circle back on over x-mas. Will get you some actual metrics from flent/iperf3 and similar once I’ve got a bit of time.

🎉 🙂

---

<div class="post-metadata">

**Author:** ![DHowett](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/dhowett/32/1990_2.png) [@DHowett](https://community.frame.work/u/DHowett)\
**Post date:** [December 20, 2023, 8:46pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160/8 "2023-12-20T20:46:37Z")

</div>

> [@jwp](#):
>
> This is with an 6.7rc kernel and firmware blobs from next ; so it’s possible it’s something in an update. What is your working kernel version / distro-blob combination so I can test?

Sorry about the delay here!

I’ve been using the slightly out-of-date 6.5 series (6.5.13 at the most recent) on Debian unstable. It hasn’t reported loading any firmware–nor do I seem to have any on disk (!).

This one lit up with the `r8152` module.

```auto
(tycho) ~ % lsmod | grep r8
r8152 151552 0

```

### iperf3, 12 streams, `-R`, front left bay

```auto
[ID] Interval Transfer Bitrate Retr
[5] 0.00-10.00 sec 235 MBytes 197 Mbits/sec 0 sender
[5] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[7] 0.00-10.00 sec 238 MBytes 199 Mbits/sec 0 sender
[7] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[9] 0.00-10.00 sec 238 MBytes 200 Mbits/sec 0 sender
[9] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[11] 0.00-10.00 sec 238 MBytes 200 Mbits/sec 0 sender
[11] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[13] 0.00-10.00 sec 234 MBytes 196 Mbits/sec 0 sender
[13] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[15] 0.00-10.00 sec 235 MBytes 197 Mbits/sec 0 sender
[15] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[17] 0.00-10.00 sec 234 MBytes 196 Mbits/sec 0 sender
[17] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[19] 0.00-10.00 sec 234 MBytes 196 Mbits/sec 0 sender
[19] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[21] 0.00-10.00 sec 238 MBytes 200 Mbits/sec 0 sender
[21] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[23] 0.00-10.00 sec 238 MBytes 199 Mbits/sec 0 sender
[23] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[25] 0.00-10.00 sec 234 MBytes 196 Mbits/sec 0 sender
[25] 0.00-10.00 sec 232 MBytes 194 Mbits/sec receiver
[27] 0.00-10.00 sec 233 MBytes 196 Mbits/sec 0 sender
[27] 0.00-10.00 sec 231 MBytes 194 Mbits/sec receiver
[SUM] 0.00-10.00 sec 2.76 GBytes 2.37 Gbits/sec 0 sender
[SUM] 0.00-10.00 sec 2.72 GBytes 2.33 Gbits/sec receiver

```

_(similar results without `-R` and with a single stream)_

---

<div class="post-metadata">

**Author:** ![jwp](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/jwp/32/19340_2.png) [@jwp](https://community.frame.work/u/jwp)\
**Post date:** [December 20, 2023, 8:55pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160/9 "2023-12-20T20:55:16Z")

</div>

can you post the modinfo output of r8152 as well as the ethtool and ethtool -K

rtl drivers often don’t ship seperate firmware but rely on a heap of ‘magic’ init inside the driver itself - if you look at the r8152.c directly you’ll see random blobs to init things which is typical realtek.

---

<div class="post-metadata">

**Author:** ![DHowett](https://sea1.discourse-cdn.com/flex001/user_avatar/community.frame.work/dhowett/32/1990_2.png) [@DHowett](https://community.frame.work/u/DHowett)\
**Post date:** [December 20, 2023, 8:59pm UTC](https://community.frame.work/t/tracking-framework-13-amd-supplied-realtek-usb-c-2-5gbit-nic-frequent-resets-in-left-hand-extension-slots/42160/10 "2023-12-20T20:59:37Z")

</div>

Absolutely.

### modinfo r8152

```auto
filename: /lib/modules/6.5.0-5-amd64/kernel/drivers/net/usb/r8152.ko
version: v1.12.13
license: GPL
description: Realtek RTL8152/RTL8153 Based USB Ethernet Adapters
author: Realtek linux nic maintainers <nic_swsd@realtek.com>
firmware: rtl_nic/rtl8156b-2.fw
firmware: rtl_nic/rtl8156a-2.fw
firmware: rtl_nic/rtl8153c-1.fw
firmware: rtl_nic/rtl8153b-2.fw
firmware: rtl_nic/rtl8153a-4.fw
firmware: rtl_nic/rtl8153a-3.fw
firmware: rtl_nic/rtl8153a-2.fw
srcversion: 3897263EC6084D6DCA3A615
alias: usb:v2357p0601d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0955p09FFd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v13B1p0041d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v17EFpA387d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v17EFp721Ed*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v17EFp7214d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v17EFp720Cd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v17EFp7205d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v17EFp3082d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v17EFp3069d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v17EFp3062d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v17EFp3054d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v17EFp304Fd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04E8pA101d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v045Ep0C5Ed*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v045Ep0927d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v045Ep07C6d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v045Ep07ABd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp8156d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp8155d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp8153d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp8152d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp8053d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp8050d*dc*dsc*dp*ic*isc*ip*in*
depends: usbcore,mii
retpoline: Y
intree: Y
name: r8152
vermagic: 6.5.0-5-amd64 SMP preempt mod_unload modversions 
sig_id: PKCS#7
signer: Debian Secure Boot CA
sig_key: 32:A0:28:7F:84:1A:03:6F:A3:93:C1:E0:65:C4:3A:E6:B2:42:26:43
sig_hashalgo: sha256
signature: 3B:AC:C9:C4:B2:B4:F0:FF:BA:06:75:B0:01:86:78:99:1A:A7:D5:42:
[...truncated...]
           		6A:2A:5A:D3:65:B8:BB:4B:89:1C:CF:C0:6D:84:8C:80

```

### ethtool +/- `-k` (assumption: you wanted `show-features`, not to set features)

```auto
Settings for enx9cbf0d002427:
	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: 100baseT/Half 100baseT/Full
	                                     1000baseT/Full
	                                     2500baseT/Full
	Link partner advertised pause frame use: No
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 2500Mb/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

```

```auto
Features for enx9cbf0d002427:
rx-checksumming: on
tx-checksumming: on
	tx-checksum-ipv4: on
	tx-checksum-ip-generic: off [fixed]
	tx-checksum-ipv6: on
	tx-checksum-fcoe-crc: off [fixed]
	tx-checksum-sctp: off [fixed]
scatter-gather: on
	tx-scatter-gather: on
	tx-scatter-gather-fraglist: on
tcp-segmentation-offload: on
	tx-tcp-segmentation: on
	tx-tcp-ecn-segmentation: off [fixed]
	tx-tcp-mangleid-segmentation: off
	tx-tcp6-segmentation: on
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: off [fixed]
rx-vlan-filter: off [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: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: off [fixed]
tx-tunnel-remcsum-segmentation: off [fixed]
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
tx-udp-segmentation: off [fixed]
tx-gso-list: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
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]

```

In the meantime, I’ve restarted testing after pulling `rtl8156b-2.fw` from Debian unstable. (Sorry, grabbed the wrong binary earlier.)
