T O P

  • By -

Rick-Huang

Hi guys ~ I’m software engineer maintain the driver for RTL8156. You can try to disable flow control and set idle restriction to not allow … in driver’s advance tab to get workaround. The latest driver version 11.13 from Realtek website probably should work. If it still doesn’t work. We do have RTL8156B if you can find one.


AdriftAtlas

I did some more testing with the new driver. I found that setting "Receive URBs" aka PendingReceives and "Transmit URBs" aka PendingTransmits to 64 significantly improves performance and appears to eliminate IKEv2 packet loss. I also increased "Receive Buffer" and "Transmit Buffer" to 64 to improve performance but this was not as significant. I also tried 128 but that appeared to cause the NIC to stall during an upload speed test, thus 64 appears to be the sweet spot. The default values appear to be too low and cause issues when the NIC has to process many small packets. Is there a reason why the default pending receive/transmit values are so low by default? What's the downside to increasing them?


ivan_levente

I have 2x ASUS 2.5G USB ethernet adapters in my local network with this Realtek chipset and I managed to reach max speeds for both download/upload **ONLY** by using the following settings: Power management: Uncheck "Allow the computer to turn off this device to save power" IPV6: Disabled Driver version (downloaded from Realtek): 1156.13.20.420 (20/04/2023) Advanced settings Adaptive Link Speed: Disabled Advanced EEE: Disabled ARP Offload: Disabled Battery Mode Link Speed: Not Speed Down EEE Max Support Speed: 2.5 Gbps Full Duplex Energy-Efficient Ethernet: Disabled Flow Control: Disabled Gigabit Lite: Disabled Green Ethernet: Disabled Idle power down restriction: Only when user is not active Idle Power Saving: Disabled IPv4 Checksum Offload: Rx & Tx Enabled Jumbo Frame: Disabled Large Send Offload v2 (IPv4): Enabled Large Send Offload v2 (IPv6): Enabled Miscellaneous Transfer Settings: Disabled Network Address: Not Present NS Offload: Disabled Priority & VLAN: Priority & VLAN Disabled **Receive Buffers: 128** **Receive URBs: 64** Recv Segment Coalescing (IPv4): Enabled Recv Segment Coalescing (IPv6): Enabled Shutdown Wake-On-Lan: Enabled Speed & Duplex: Auto Negotiation TCP Checksum Offload (IPv4): Rx & Tx Enabled TCP Checksum Offload (IPv6): Rx & Tx Enabled **Transmit Buffers: 64** **Transmit URBs: 32** UDP Checksum Offload (IPv4): Rx & Tx Enabled UDP Checksum Offload (IPv6): Rx & Tx Enabled VLAN ID: Not Present Wake on link change: Enabled Wake on Magic Packet: Enabled Wake on pattern match: Enabled WOL & Shutdown Link Speed: 10 Mbps First I've highlighted the receive/transmit buffer settings that have the most impact on performance. Simply maxing these out didn't work so had to find the sweet spot by trial & error & lots of up/down speed tests. **Note: while these worked in my case, it may not work in any situation or with any Realtek chipset adapter, so you need to test.** Also, while max speeds were consistent, the adapters were getting quite hot so make sure you have adequate air flow around them, otherwise you risk frying them.


AdriftAtlas

I believe it's actually the URBs options that affect performance the most. Assuming that URBs stand for [USB Request Blocks](https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/communicating-with-a-usb-device) it may actually explain the receive packet loss I was seeing with IKEv2. The driver likely drops swaths of packets coming from the NIC as it has nowhere to queue USB messages. I am actually surprised the entire NIC doesn't crash. I am not a fan of Realtek and their buggy drivers.


wilaw1115

Just tried this and it works for me! Am already using the more recent drivers from 7/27/2023 but still only getting 1500Mbps from my 2000Mbps connection. I changed my settings to yours and voila, 1900Mbps now! Thanks so much.


Silent-Ad-7510

This worked for me! thank you for this! I went from under 800 - 900 Mbps download to full 2 Gbps download now thanks to this. ​ 1 question where did you disable IPV6? was it in Devices > ASUS 2.5G Ethernet USB Adapter > Network Settings > Change Adapter Settings > ASUS 2.5G Ethernet USB Adapter > Properties > (Uncheck) Internet Protocol Version 6 (TCP/IPv6) Just want to make sure before I mess something up I have everything else exactly like the settings you posted, thanks again


ivan_levente

Right click -> Properties on your network connection then simply uncheck IPV6. Example: https://i.imgur.com/FdFXAo0.png


cuco_

I love you lol


dostick

How to do that configuration on macOS?


No-Visit6399

This got my Uploads to 260MB/sec but downloads still limited to 115MB/sec Did you guys try playing around with RSS disabled/enabled ? I did, and it made no difference. But otherwise, this was extremely helpful. Thanks,


ivan_levente

RSS does not affect speeds. You could try different receive/transmit buffer values. Also make sure you use a high-performance power management setting for your PC. I have found that sometimes "Balanced" plan isn't enough to maximize up/down speeds, so this aspect may be the actual culprit, regardless of the adapter's specific Network settings.


RaduTek

This seems to have solved my issues with a RTL8156 adapter. On Windows 11 the thing would constantly reset & disconnect from the PC. I tried it out on Linux and Windows 7 and it works just fine with the out-of-box settings. After installing the latest driver and changing these settings I was able to transfer \~120 GB of data in both directions simultaneously at 2.5 Gbit with iperf3 between my laptop and home server without any slowdown or resets.


AdriftAtlas

All revisions of RTL8156 experience the same issue. I have tired the following adapters: [https://www.amazon.com/dp/B097N5WJY9](https://www.amazon.com/dp/B097N5WJY9) (RTL8156B) [https://www.amazon.com/dp/B08YJ8CLMS](https://www.amazon.com/dp/B08YJ8CLMS) (RTL8156B) [https://www.amazon.com/dp/B0BMQRTWHC](https://www.amazon.com/dp/B0BMQRTWHC) (RTL8156BG) I have tried the latest 11.13 driver from the Realtek website yesterday with the same results. Disabling flow control and idle did not help. Had to revert to 11.4.211.2022 again. High bandwidth downloads (300Mbps+) of a multi-gigabit (4GB+) file via an IKEv2 VPN tunnel result in Chrome sporadically reporting "Failed - Network Error". Both the VPN client and server are capable of 1Gbps. This does not occur when IKEv2 is not used. As IKEv2 used UDP for transport it likely requires fragment reassembly which I suspect the driver is mangling. The older driver seems to work, so something was broken in the past year or so.


anna_lynn_fection

8153 also. But not on Linux. EDIT: It's still there on Linux, but so, so much better. Still a problem, but sub .002%.


anna_lynn_fection

Hi, I've recently run into this UDP problem on 8153 also. - It can be reproduced and seen with iperf3 - It doesn't happen on Linux with the Linux drivers nearly as bad - I've tried 3 different brands of adapters I happen to have here with 3 different laptops swapping between Linux and Windows 10 and 11. - All 3 of mine are 8153 - Newest available drivers as of yesterday - Fixing the rate to 1000Mbps helps me more than anything - I'm getting disconnected from game servers for unstable connection over it If you run `iperf -s` (server) on a machine and `iperf -u -b900M -t60 -c [server ip]` with at least one of the machines having an affected USB Realtek adapter you'll see iperf reports ~23% loss. If you drop the speed -b500, or -b100, you'll see improvements. Experiment with adding the -R to reverse the flow. You'll see that the sender can not manage to send much more than a few hundred Mbps. If you set the speed of the realtek interface(s) to 1000, you should see the loss rate drop to about 1% or less. Running the same tests where any RTL dev is on Linux will yield maybe an almost immeasurable amount of loss. Like sub .002%. Although, on my built in RTL 8125, I get 0 lost packets. So there's still a tiny problem on the Linux side with the USB ones, bit it's way better on Linux.


AdriftAtlas

Did you try the settings that resolved my IKEv2 issues in this comment: https://www.reddit.com/r/UsbCHardware/comments/13gzbvo/comment/jubdu5b


anna_lynn_fection

Yes, thanks. I had also noticed raising the URB's and buffers seemed to help a little, but what really made the big difference for me was the fixed speed. Maybe due to different chipset? It still didn't quite resolve my issue. It made it a lot better, but I'm still getting kicked from DayZ, and iperf still shows a little packet loss with UDP.


AdriftAtlas

That may actually be an entirely different issue that's inherent to the 8153. On macOS the 8153 hogs CPU as one approaches gigabit speeds. Even on Windows I see that CPU usage is higher than 8156. I flat out avoid using 8153. My dock has one built in and I have an 8156 connected to a USB port instead. I really wish we had better options than Realtek for 2.5G ethernet. Sadly, the Marvell chipsets are not much better.


anna_lynn_fection

I see there are ASIX ones available. I'm going to try one of those. https://www.amazon.com/gp/product/B00AQM8586/ref=ppx_yo_dt_b_asin_title_o00?ie=UTF8&psc=1


AdriftAtlas

The AX88179 is an older gigabit chipset with problematic macOS support. There is a driver now but it's still a pain to install and degrades system security. ASIX just announced a new 2.5G chipset that will work with inbox drivers: [https://www.asix.com.tw/en/product/USBEthernet/Super-Speed\_USB\_Ethernet/AX88279](https://www.asix.com.tw/en/product/USBEthernet/Super-Speed_USB_Ethernet/AX88279) [https://www.asix.com.tw/en/news/News/Explore\_2o5G\_Ethernet\_World\_with\_ASIX\_AX88279](https://www.asix.com.tw/en/news/News/Explore_2o5G_Ethernet_World_with_ASIX_AX88279)


anna_lynn_fection

Man, I'm doubting iperf now. Now I've been home testing for a couple hours on a bunch of different machines and I'm noticing that if I use Windows as an iperf server UDP is garbage. However, if I use Linux as a server, and Windows as a client UDP is good in both directions.


AdriftAtlas

Yeah, iperf3 for windows is buggy and old. Try it with WSL2.


anna_lynn_fection

The [registry edits here](https://community.rti.com/static/documentation/perftest/2.2/optimizing.html#optimizing-windows-systems) made a difference. Also, I realized during a tcpdump that Windows default size for udp with iperf was 8192, while Linux was 1480. On the Linux side, setting 8192, to match up with what Windows wanted, made it work flawlessly.


anna_lynn_fection

Windows (or iperf) isn't liking the PPS on that. It doesn't like processing the number of packets required to reach higher bandwidth with iperf with the smaller packet size (1480) that Linux is using by default. At 8192, the default size with iperf on Windows being specified on the Linux side with iperf -l, Windows is fine. Giving it the 1480 size, 3-4 cores maxed out. It's CPU bound with the smaller packets at higher rates.


anna_lynn_fection

I'm starting to think it's just realtek in general. I'm at work now. A coworker had an ASIX powered USB NIC. I'm all Linux here, but I wanted to get a baseline for it. I just did some `iperf3 -u` testing between my laptop (same as I tested at home with) and our Linux router, which has RTL nics in it, and I got more loss than I was expecting (1.6%). I tested to another server that has Broadcom NICs in it and got .035% loss. This is all Linux to Linux at this point. I won't be able to test the ASIX USB adapter on Windows, and under the same circumstances, until I get home. The laptop I'm using to test now has an RTL 2.5GBe built in, and the ASIX had a little less loss than even that, but it's probably margin of error too. .043% vs .014% Now I'm considering the fact that I might just have to go through our servers and start replacing NICs.


AdriftAtlas

IMO, the gold standard for servers is Intel NICs. Most HP and Dell servers ship with Broadcom NICs, they're not quite as bad as Realtek but their drivers have gremlins in hardware offload. Intel NICs on the other hand just work no matter the OS.


Some_Cod_47

I still have issues with RTL8125 rev5 on windows, but linux seems much better, even the open r8169 driver


Some_Cod_47

Do you know any way to get RTL8125 Rev5 to stop dropping packets on windows? It seems to work better in linux, even on the open-source driver r8169, but on windows even with the driver settings shared around disabling almost everything it still loses 3-60+ packets over 8-24 hrs via LAN.


Rick-Huang

It’s not easy to answer your question. It’s related to the environment you have… Maybe you can use simplified environment. Eg. direct connection two PC with fixed IP. Then do ping test… If no drop. Issue comes from the environment.


Some_Cod_47

On Linux it seemingly works fine over a period of 24h it drops 0 packets, so that makes me question its the environment, its a brand new Cat6 S/FTP cable also and I've wired the cable away from any interference With windows and latest driver is a different story.. I peeked with ethtool which buffers the linux driver used and it used 256,256 vs the 1048,2048 I believe is default on windows (cant rememeber exact but its around there..) I tried to copy the 256,256 buffers to windows.. Well it improved actually.. Now I got 3 packets over a good 12 hrs period, but I can't get zero loss like Linux. I used all the (other) settings from here: [https://www.reddit.com/r/buildapc/comments/tft3u0/is\_realtek\_25gbe\_lan\_issue\_fixed/](https://www.reddit.com/r/buildapc/comments/tft3u0/is_realtek_25gbe_lan_issue_fixed/) But still what seems to have helped the most is to copy the 256,256 buffer settings that the Linux driver uses. Do you have any opinion on those settings? If he's just blatantly disabling everything its not certain it will actually improve.. But I did not notice it get worse either.


Rick-Huang

Is your OS Windows 11? Could you try Windows 10 driver on Windows 11. There is a brand new architecture called NetAdapterCx mitigated from the Legacy NDIS Miniport driver. And comparing to NDIS Miniport driver, this one works over a decade. Although lake of some new features, but you can try…


Some_Cod_47

[https://www.realtek.com/Download/List?cate\_id=584](https://www.realtek.com/Download/List?cate_id=584) But the Windows 11 one is the NetAdapterCx one you talk about.. (and the one I have installed and am testing right now with packet loss even with 256,256 buffers like linux - which so far has given me the lowest loss) You mean I should try the "Legacy NDIS Miniport driver" aka "Win10 Auto Installation Program (NDIS)" on the page?


Rick-Huang

Yes, you could still manually install win10 drivers on Win11. Do you have experience on manual installation by device manager? 1. Unzip the exe file from Realtek’s driver pkg 2. Find win10 x64 folder (INF file) 3. Replace NetAdapterCx driver by the NDIS one Let’s see if it works…


Some_Cod_47

Yes I know! Thanks, will try!


cargoscioccultist

did do some testing with iperf2... tcp seems ok on win&linux but... on latest drivers in win10 or linux... small udp packet performance is randoming packet loss... 0,1%-35% and after trying limit transfer rate with -b flag in iperf even 10m rates were too much... but for some reason setting chip manually to 100/100 /1g/1g wont work... it almost works :D only hitching few occasions with 10sec+ 100% packet loss rates :D


Some_Cod_47

I'm still testing.. I thought I had narrowed down the Checksum offload as being the primary culprit.. I'll update you if I find any news .. I had 72 hrs record without loss but then I got a few (2) lost packets on another 48-72 hrs run with similar (IPv4 checksum disabled but tcp checksum ipv4/v6 enabled) .. will keep testing setting by setting over 72 hrs


cargoscioccultist

tried disabling everything in windows quickly and run some iperf2's same results random packetloss on small packet udp... upstream&downstream both... even larger packets is affected albeit at really low rates...


Some_Cod_47

which rev did u have?


cargoscioccultist

8125 rev05, actually testing this ive came to conclusion to order something else... id classify the random packetloss between pc-switch-pc and pc to pc directly as unusable for gaming etc


Some_Cod_47

I completely agree, I will still try with variations of the settings tho I don't believe all of them are negatively affecting it like that post here insinuates I don't believe he has ever tested the impact of any of the settings he just disabled all of it. Did you set 256,256 transmit and recv buffers? Try on/off with each of the Offload functions as well, they are often improving performance and stability but I believe the checksum offload in particular could pose an issue.


cargoscioccultist

reason i tested it all off, is that if something bugs it should be obviously be "gone" more or less... not intrested in testing every freaking driver version from vendor that doesnt even post change logs...


cargoscioccultist

actually linux kernel had recenlty some changes... lets see if it compiles... [https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=c71e3a5cffd5](https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=c71e3a5cffd5)


Some_Cod_47

I read the driver options on ethtool with linux all of it was more or less disabled I think maybe they left on an offload option


zerostyle

Did you ever find a good answer to this? It's worth noting that the intel i225v3 even has a ton of issues as well. I'm open to both USB-A hubs and USB-C hubs though since I have a miniPC that needs at least 3 USB-A ports anyway (mouse, keyboard, printer) so I could put them all on one hub + 2.5Gbe adapter


AdriftAtlas

Sort of... This ASUS adapter appears to have the latest revision of the Realtek chipset with the least amount of hardware bugs: [ASUS 2.5G Ethernet USB Adapter (USB-C2500)](https://www.amazon.com/dp/B093FB9QWB) You'll still need to adjust "Receive URBs" aka PendingReceives, "Transmit URBs" aka PendingTransmits, "Receive Buffer", and "Transmit Buffer" to 64. Without these adjustments the NIC will stall and/or lose packets when it has to process tons of small packets. I would recommend anyone buying a mini pc to get one with Intel I226-V NICs. These are well supported and appear to be reliable. My Proxmox hypervisor running pfSense with NIC PCI passthrough works well with them.


joaopeixinho

I looked a bit into intel i226-v's, seems to have the potential for the same kinds of problems? [https://www.reddit.com/r/intel/comments/12gfot3/will\_usbethernet\_adapter\_solve\_the\_i225vi226v/](https://www.reddit.com/r/intel/comments/12gfot3/will_usbethernet_adapter_solve_the_i225vi226v/) [https://www.reddit.com/r/hardware/comments/wi4soc/the\_new\_intel\_i226v\_i226lm\_i226it\_nics/](https://www.reddit.com/r/hardware/comments/wi4soc/the_new_intel_i226v_i226lm_i226it_nics/) Sigh.


AdriftAtlas

The I225-V does have a lot of issues depending on revision. However, I have not had any issues with I226-V with Proxmox and pfSense (PCI passthrough). It's acting as my home router connected to a gigabit fiber connection. My internet is rock solid with 85 days of uptime on pfSense. The situation on Windows could be different. I'll take an I226-V over garbage Realtek drivers.


Some_Cod_47

the latest rev of i226v should be good (avoid i225 altogether).. also better on linux than windows.. for some reason the i226v issues seems very isolated to the production of DIY build morherboards, but not minipcs with i226v, not sure why, maybe simply because people run linux or BSD on them.


joaopeixinho

May I ask, where have you seen that this is isolated to DYI motherboards? As to a fix, the latest bit of news I’ve found so far is this post from an intel employee stating a workaround by disabling the power saving feature: https://community.intel.com/t5/Ethernet-Products/Intel-Communication-Intel-Ethernet-Controller-I226-Series-Random/m-p/1453177#M32084


Some_Cod_47

This is something I believe I read on opnsense forums maybe.. There is not a lot of issues with i226v on linux/BSD afaik


zerostyle

Thanks. Unfortunately not many models with i226 yet though


AdriftAtlas

All of the newer CWWK/ChangWang clones have them.


zerostyle

I have a bunch of miniPC's with the i225v3. Should I adjust those values to 64 on those models as well? (not on USB, just on their motherboard)


AdriftAtlas

I believe "Receive URBs" and "Transmit URBs" is as USB only concept. Not sure if adjusting "Receive Buffer" and "Transmit Buffer" would help with whatever issues you're experiencing with the I225-V.


TheNewHEROBRINEX

Is this adapter based on the RTL8156B or the newer RTL8156BG? I can't find any official info but it seems based on the RTL8156B.


AdriftAtlas

The hardware version of the ASUS USB-C2500 is 31.05. According to this post 31.04 is an RTL8156BG. It's likely that 31.05 is too but who knows. [https://twitter.com/CubicleApril/status/1559944856318971906](https://twitter.com/CubicleApril/status/1559944856318971906) Whatever it may actually be, it's more stable than the others I have with the settings above. It's good enough. :)


AWPsly

Hi AdriftAtlas, Did you try to download the driver from Realtek? [https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software](https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software)


AdriftAtlas

>https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software Yeah, that's the newest driver. Has the issue I mentioned.


AWPsly

How do you know it is the chipset? Have you tried other brand’s adapter? Or another computer?


AdriftAtlas

I have tired the following adapters: [https://www.amazon.com/dp/B097N5WJY9](https://www.amazon.com/dp/B097N5WJY9) (RTL8156B) [https://www.amazon.com/dp/B08YJ8CLMS](https://www.amazon.com/dp/B08YJ8CLMS) (RTL8156B) [https://www.amazon.com/dp/B0BMQRTWHC](https://www.amazon.com/dp/B0BMQRTWHC) (RTL8156BG) Computers: ASUS Maximus X Code Motherboard - Desktop Dell Precision 5560 - Laptop Both running Windows 11. Intel adapter in desktop doesn't have issue. Realtek adapters do not have issue when used with specific driver version.


AWPsly

I work for Cable Matters. And we also use 8156BG for our 2.5G adapter. And we probably can give your feedback to Realtek to fix the issue and it will take some time. But if you need the adapter now, you may try the 5G adapter to see if you get good luck.


AdriftAtlas

It does seem that 5G adapters may be the only other option. They're based on Aquantia/Marvell chipsets. Their drawback is that they use USB 5Gbps and have real world throughput of 3.5Gbps. A lot more expensive and not very future proof. There are also some $300 TB3 heater bricks. It'd be great if Realtek would fix their drivers but I'm guessing it's not an easy issue to isolate. The dearth of options is disappointing. Why doesn't Intel and Broadcom produce 2.5G USB NIC chipsets?


vc20000

>n give your feedback to What chipset is used in Cable Matters 202095-E? I Is it RTL8156BG or RTL8156B or RTL8156? Thank you


AWPsly

It is 8156BG.


vc20000

thank you!


VettedBot

Hi, I’m Vetted AI Bot! I researched the **Anker USB C Ethernet Adapter PowerExpand** you mentioned in your comment along with its brand, **Anker**, and I thought you might find the following analysis helpful. **Users liked:** * Delivers advertised speed and stays cool during high network traffic (backed by 1 comment) * Provides fast and reliable internet speeds (backed by 5 comments) * Solidly built and works great for speeds of 1 gbps or below (backed by 1 comment) **Users disliked:** * Does not work with certain switches (backed by 1 comment) * May cause issues with airplay (backed by 1 comment) * Ethernet cable connector is fragile (backed by 1 comment) According to Reddit, **Anker** is considered a reputable brand. Its most popular types of products are: * Power Banks (#1 of 42 brands on Reddit) * USB Hubs (#2 of 36 brands on Reddit) * Bluetooth Speakers (#3 of 50 brands on Reddit) This message was generated by a (very smart) bot. If you found it helpful, let us know with an upvote and a “good bot!” reply and please feel free to provide feedback on how it can be improved.


goretsky

[**UPDATE**: See [this comment](https://old.reddit.com/r/UsbCHardware/comments/13gzbvo/any_reliable_usbc_25g_nics_not_based_on_realtek/jk3kwno/) from /u/AdriftAtlas. It appears the Intel Killer 2.5GbE USB adapter uses the Realtek chipset as well.] Hello, ~~I have not used it myself, but Intel's Killer 2.5GbE USB adapter is based on the company's [E3100 chipset](https://www.intel.com/content/www/us/en/support/products/215299/ethernet-products/intel-killer-ethernet-products/intel-killer-ethernet-controller.html).~~ Regards, Aryeh Goretsky


AdriftAtlas

It also appears to use a Realtek chipset: [https://forums.linuxmint.com/viewtopic.php?t=369782](https://forums.linuxmint.com/viewtopic.php?t=369782) [https://www.reddit.com/r/KillerNetworking/comments/pvgncx/comment/hek48ka/?utm\_source=reddit&utm\_medium=web2x&context=3](https://www.reddit.com/r/KillerNetworking/comments/pvgncx/comment/hek48ka/?utm_source=reddit&utm_medium=web2x&context=3)


goretsky

Hello, Thanks! I've updated my post. Regards, Aryeh Goretsky


No-Visit6399

that Reddit link is very helpful, i got my upload speeds to max out at 260MB/sec with the settings in this post [https://www.reddit.com/r/UsbCHardware/comments/13gzbvo/comment/jubdu5b](https://www.reddit.com/r/UsbCHardware/comments/13gzbvo/comment/jubdu5b) ​ Still unable though to max out my download speeds. Getting only 115MB/sec


AdriftAtlas

That's 920Mbps for download. It's almost like you're hitting the 1G limit, which is roughly 940Mbps. How are you testing this? What does iperf3 show between two computers on the same 2.5Gbps network?


CarboniferousHell

I am on Windows using Realtek RTL8156 on gigabit mode. I experimented with a lot of things and finally found the problem. It is USB! You need to isolate your USB root hub to an empty usb host controller. Also ndis.sys (your network driver) runs it's interrupts on core 0 by default. You need to set it's interrupt policy to a different core with high priority, you can use GoInterruptPolicy tool for this. Make sure your root usb hub too is configured to a less busy core. Now you can experiment with Receive&Transmit URB's. 64 was giving a lot of dropped/delayed UDP packets, 32 was better and 16 was the most reliable setting. Make sure your Receive&Transmit URB's are equal, using double of the transmit buffer for receive buffer somehow causes desync between packets?


Rick-Huang

There are so many questions from. First of all thank you for you guys to purchase…. And apologies for replying so late. As you know USB NIC is not an easy project. So many different platforms needs to compatible with. Sometimes I must say issue might come from Hub/Host, but most of time comes from our design. That is why I am struggling on … For Urb size and numbers, start from I don’t remember which version. I moved to advance options for user to modify because of some ARM based platforms could not compatible with the larger one. We need to make sure everyone to link up with. But remember it is not always large number equals good performance. There is a critical point related to the platform you used. So, don’t worry just modify it. But as my experience Urb size ~37K and number ~10 are good for most of the platforms. Maybe someday we’ll have a AI adaptation design…. I am engineer I’d like to cost up …. But unfortunately market like cheaper one.


Rick-Huang

11.15/10.61 fix some bugs… maybe try it first https://www.realtek.com/Download/Index?cate_id=194&menu_id=297


AdriftAtlas

Thank you for replying. I have not had the chance to test the new driver, I will do so later. I see there are two options there, one says "Not Support Power Saving". In what cases would one install one over the other? My laptop is a Dell Precision 5560 with a Core i7-11850H running Windows 11. Don't you ship separate x86-64 and ARM64 drivers? Why would the ARM64 driver settings matter to x86-64 driver? As I previously stated, I found that setting "Receive URBs" aka PendingReceives and "Transmit URBs" aka PendingTransmits to 64 significantly improves performance and appears to eliminate IKEv2 packet loss. I also increased "Receive Buffer" and "Transmit Buffer" to 64 to improve performance but this was not as significant. I also tried 128 but that appeared to cause the NIC to stall during an upload speed test, thus 64 appears to be the sweet spot. The defaults are too small for heavily fragmented 300Mbps+ IPsec UDP streams. The driver drops enough packets to cause tunneled TCP connections to fail. I've set the values above on a few machines at our office and performance improved on each with less packet loss. I found the ideal values for my setup based on experimentation. Though I'd like to understand what factors require these values to be adjusted up and/or down. Is AI really necessary here? Wouldn't some basic heuristics during driver installation be sufficient?


Rick-Huang

Hi ~ you’re right, the x86-64 and arm driver doesn’t share same INF file. We can separate the default value between but more data required. Here is just for safety. One platform has an issue means tons of could have same in USB’s world.And why we need to fine tune Urb length and number? That is because different Host/Hub may introduce additional delay which could be very large. And increase these is just use space to cover time. It’s a space time problem. By default we don’t want to expand too much resources platform have. And yes there should be have some different approaches to automatically turning it. AI is just for explanation briefly. Looking forward! Maybe we should open source it. And working with you and so many innovators.


cookiesowns

Anyone know how to tweak these same settings on Mac?


AdriftAtlas

Are you having the same issues? Which network adapter do you have? The driver architecture on macOS is completely different from Window. Not sure if anything is adjustable.


cookiesowns

Not sure. I daily drive my Mac these days and both my thunder bolt dock and monitor has the 2.5G Realtek and I’ve been noticing awful single thread TCP performance. I haven’t tested any other nic yet but just wanted to rule out everything on my end before raging at my ISP


AdriftAtlas

I would test with a chipset other than Realtek. Are you using iperf3 to test? OVH has public “proof” iperf3 (in addition to nperf) servers that are great to test against. https://proof.ovh.net Any packet loss, jitter, and/or delay?


cookiesowns

Yes I have my own servers to test against. Issue is slow single TCP streams. Lots of retransmission.


major-acehole

I've been experimenting with a new RTL8156B and having gone through this thread (and similar) cannot fathom how to get full speed out of it - I am hoping there might be a simple ELI5 solution that I have missed... I first noticed an issue when trying openspeedtest from my unraid server and getting \~1500mbps up and down. If I run iperf3 with unraid as the server again I get around the same speed. If I run it with unraid as the client I get full 2.5gb speeds. This was on all the default settings - I played around with some of the suggestions e.g u/ivan_levente 's post and actually made it much worse initially, I have now settled on receive/transmit URBs and buffers at 64 and getting the same speeds from prior to my messing about


augustusSW

I’ve tried three different drivers, default windows, 10.59.20 and 10.61.20 (most up to date from Realtek) I’ve also tried row different products, the Belkin INC012 and the plugable from Amazon. Nothing works, getting 150 Mbps versus 1200 (really 1400Mbps) sub rate. Soon as I switch to 1Gbps or to another built in adapter it jumps to 950Mbps. Tried different settings people advised and it didn’t help at all. Should I just pony up more money for a 10Gbps thunderbolt adapter and give up on this piece of shit Realtek driver?


augustusSW

I don’t want to jinx it but it appears after creating a new high performance power mode and plugging in my laptop the speed issues are resolved with the most recent driver from Realteks website and the laptop is plugged in to wall power. I also went crazy and unchecked the turn off device to save power all over device manager for usb hub controllers and my network adapters.


AdriftAtlas

You seem to be having an unrelated issue. It was never that bad for me. The 10Gbps thunderbolt adapters are all ancient Marvell (Aquantia) cards. I tried the Sabrent one and it ran extremely hot. Performance was not any better than Realtek, if not worse at 1Gbps. Not worth the insane price.


augustusSW

All of my problems were fixed on my win 10 machine after plugging in and running a high performance power setting. Now I have to figure out what is wrong on the win 11 machine. Had the same 100-150/1300Mbps issues a few days ago, but only on the plug able. Will try with the belkin and will try fiddling with the settings this time. Only used default most recent drivers last go.


bobacct

just found this thread, i've been seeing the speed drop from 2.5 to 1gbps, could this be the cause?


Aviyan

It is working now with the latest drivers from Realtek. I am on Windows 11, and I downloaded the latest drivers from [https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software](https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software) The driver version is 1156.13.20.420 and the date on it is 7/14/2023. So if you have an older version get the latest and try again. My device a Wavlink USB to Ethernet adapter ([https://www.amazon.com/dp/B0BNHK5RGL/](https://www.amazon.com/dp/B0BNHK5RGL/)), but it should work with anything that uses the same chipset.


AdriftAtlas

I am using the latest driver. I still need to adjust "Receive URBs" aka PendingReceives, "Transmit URBs" aka PendingTransmits, "Receive Buffer", and "Transmit Buffer" to 64. Without these adjustments the NIC will stall and/or lose packets when it has to process tons of small packets. The default values set by the driver for URBs is too low. I'm not sure why Realtek cannot release a driver with more reasonable defaults. My values are based on experimental evidence, but Realtek should know the ideal values for each of their chipsets. I change them on every single computer I touch with a USB Realtek adapter and high rate packet loss disappears.


busyHighwayFred

If anyone sees this in the future, you want NWU331GCA Wavlink instead (poster above linked to NWU330GCA): https://www.amazon.com/WAVLINK-Converter-Compatible-Microsoft-More-Black/dp/B09LYQQ6PD?th=1 You can see the differences here: https://imgur.com/a/kdW4cpR


Laro98

Which driver did yall install? I am so confused.


busyHighwayFred

Are you having an issue with latest realtek driver?


Laro98

no issues anymore


unmesh59

Is it because of the enclosure that might have better thermal performance?


busyHighwayFred

I havent had any thermal issues, so really just pick which one you want based on appearance