My current setup is a Linksys WRT1900AC v1. Which treats me well, but i thought i'd spend the weekend upgrading. So i took a Dell Inc. OptiPlex 9020M (Small Form Factor PC) Intel(R) Core(TM) i5-4590T CPU @ 2.00GHz and installed OpenWrt 23.05.2. The built in ethernet connects to a dumb 1GB 8 port switch. I added a USB ethernet adapter and installed kmod-usb-net-rtl8152 package then configured the usb eth1 as wan. I had everything working. Then i tried to implement SQM. I never had good luck with SQM and the WRT1900AC which actually made my bufferbloat results worse. I assumed it was a CPU bottlekneck with the old Linksys. When i enabled SQM with the Dell PC, i get worse results then with it disabled.
Thoughts? Should i have good SQM with the Linksys or with the x86? I assume it should definitely be good with the dell, unless the USB adapter is the issue? I see people report using USB with a Pi, so i figured it should have easily worked with eh newer Dell? When setting SQM i even set it to 100MB slower than what my speed test results are.
My internet is cable modem is supposed to be 940Mbs down and 50Mbs up. I get close to that if connect directly to the modem. The linksys gives me close to 570Mbs. The Dell gave me a little less. I'm unable to enable hardware or software offload on the linksys with the latest 23.05.2 (I'm pretty sure it worked with the old versions and gave faster results when enabled).
I really was expecting an A+ rating with the waveform bufferbloat test with the Dell i5? But i saw overall slower results with a normal speedtest. I even then set the SQM to a max of 400000 kbit/s which is a lot slower than the max in any of my speedtest.
I have tested sqm/cake on an ivy-bridge celeron 1037u (so one generation older and a lower (a bit over half as fast) clocked dual-core CPU) at full 1 GBit/s wirespeed (2* e1000e (82574L) onboard) with lots of headroom left (~35% on one core, while being clocked down to 800 MHz), I wouldn't even be surprised if it could achieve 5 GBit/s with corresponding network cards). Your system should be much faster than that.
@slh, this at least gives me something to think about. I'm not sure where to start, but at least i know i need to post some more info most likely.
Do you think i should focus on my x86 build or linksys? I thought the dell would be much better solution in the long term if i can get as good or better performance.
I never had mvebu based devices, but I'm very happy with OpenWrt on x86_64 (although I did switch the hardware to an Atom j1900, which is good for ~830 MBit/s with sqm/cake - I only need half of that and the lower idle power consumption and four ethernet ports offset the downgrade for me)…
htop/ top (both) would be the first things I'd look at.
This CPU can do 10gig nat with ease. I think that te problem is with this usb nic, remember to put CPU core irqbalance to split load on four cores instead all on first.
Indeed I had similar results albeit with a different (lower end) cpu (n3060) and a newer kernel (6.2 and a different distro tomatoX64) but plain pppoe nat was limited to about 160mbps dw/250mbps up without sqm enabled with a usb3gig adapter - altough there are reports of 500mbps sqm enabled results with the same cpu on these forums so definitely try to remove the usb3 nic from the equation if possible.
Awesome... I don't remember reading about the irq balance. But that looks like something I should look into! I don't think it's cpu limited from watching htop, but it does at times get "highish" so maybe? I'm going to play with that setting and package some. Thanks for that info.
I'm trying to repurpose stuff I have and keep costs down (and invest in better access points) if possible, and that's why I was trying to reuse the PC I have.
I have a large managed switch not being used (it's overkill, takes up limited space, and I don't want the fan noise), but I could be tempted to try it with vlan tagging with the 1 port maybe and cable modem? Does anyone know of a good tutorial for that? I understand the broad concept of vlans, but I've never really configured them myself.
Mostly Realtek nic's are poor, try to avoid them, better to buy Intel nic. But then again Intel throw at the market crap like Intel early i225 and i225 b3/ i226 have stil some problems. I personalny still have nice utm based on atom c2558 with inegrated four intel nics -something like i210 , and this works under pfsense very good. And from two months ago i had the oportunity to test openwrt on vm on my Lenovo Tiny m920q with dual 10gig Intel x520 and this is alot times faster than my previous Soho devices. After some time i can tell that this is good solutions to go with router on vm. Beside this i van run windows 10 rdp jump host and all od this don't use top much of energy.
I've had way more problems (including data corruption, hello tx unit hang) with various Intel ethernet cards in the past, than I ever experienced with Realtek - and I have/ had well over two dozens of each. Very early Realtek ethernet cards (rtl8029/ rtl8039, 10- and 100 MBit/s ISA/ PCI) had a bad reputation, which was partially well deserved (especially the windows drivers were bad, but the linux drivers are pretty good and got it to full speed), but modern PCIe r8168 and r8125 chipsets may not be outstanding, but they're 'boring' and unobtrusive (in a good sense). That doesn't go as far as actively avoiding Intel network cards, that really isn't a deciding factor for me - if it's Intel, o.k. - if it's Realtek, fine - either will do.
I still haven't made the purchase yet. Do you think I'll have to add drivers afterwards like I do with the USB with the realtek? There's a couple models I was looking at. The one I posted, but there is a 2.5G variant with a different chipset RTL8125B I was eyeing up. I'm keep you guys posted how it goes, but if you know what will work without adding drivers, I think that would simplify things if I can just use stock.
There are no USB network card drivers preinstalled, as those are addon (could be anything) and not default/ common to the devices in question; the most common PCIe network drivers are preinstalled for x86_64 though.
If you really making a purchase, I suggest you go straight to get M.2 A+E Realtek RTL8125B 2.5G RJ45, it won't cost a lot more, however it has 2.5G, and even running with 1G only it performs much better than the cheap RTL8111
No, stock won't include those new USB NIC driver, however, you can use firmware selector to help you build an image to include driver together so that it works out of the box.