[HN Gopher] Faster Linux 2.5G Networking with Realtek RTL8125B
       ___________________________________________________________________
        
       Faster Linux 2.5G Networking with Realtek RTL8125B
        
       Author : geerlingguy
       Score  : 36 points
       Date   : 2021-12-21 20:45 UTC (2 hours ago)
        
 (HTM) web link (www.jeffgeerling.com)
 (TXT) w3m dump (www.jeffgeerling.com)
        
       | daneel_w wrote:
       | PCI-E cards with this chip cost about $15 today, and 2.5G
       | Ethernet switches just over $100. Post-gigabit networking has
       | become truly affordable.
        
         | gsich wrote:
         | What, where?
        
         | netr0ute wrote:
         | > just over $100
         | 
         | This is pretty expensive considering that you can get a 10G
         | switch instead for around $40 more.
        
           | makomk wrote:
           | Believe it or not, the fact that 2.5G switches are cheaper
           | than 10G switches at all is an improvement. There seems to be
           | a weird lack of interest in shipping it as a consumer
           | technology.
        
             | flemhans wrote:
             | Why do Ethernet standards mostly come in 10x orders of
             | magnitude, anyway?
             | 
             | 10 -> 100 -> 1000 -> 10G -> 100G
             | 
             | I know there are some oddball 25G, 40G, and 2.5G out there
             | too, but always wondered this.
        
           | cedivad wrote:
           | Not a copper one though.
        
       | mattst88 wrote:
       | I've always been confused by the situation with Realtek Linux
       | drivers.
       | 
       | Does anyone know why they are not contributing to the kernel
       | directly? (Just a guess: their drivers are from the same codebase
       | as the Windows driver and use a bunch of abstraction layers that
       | wouldn't be acceptable in Linux)
        
         | KarlKemp wrote:
         | Do they publish source code or binary drivers? If it's the
         | latter, the article points at why they might not want their
         | competitors to read their source code: the drivers matter a
         | lot, and starting from theirs might well cut the development
         | costs for a competing product in half.
        
           | gsich wrote:
           | Source code and no BLOBs.
        
         | morning_gelato wrote:
         | Realtek does contribute directly to the kernel, but I think it
         | depends on which internal team is handling the device support.
         | For their PCIe 802.11ac and 802.11ax wifi cards Realtek devs
         | wrote and upstreamed rtw88[1] and rtw89[2] respectively.
         | 
         | [1]
         | https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
         | 
         | [2]
         | https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
        
           | pantalaimon wrote:
           | Wasn't rtw88 supposed to abstract away the transport so it
           | could be used with PCIe, USB and SDIO? [0] The later two
           | never materialized (there is the out of tree rtw88-usb [1]
           | but it's not very active and not maintained by Realtek)
           | 
           | [0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/
           | lin...
           | 
           | [1] https://github.com/ulli-kroll/rtw88-usb
        
       | formerly_proven wrote:
       | I'm guessing the story is overall similar to how gigabit ethernet
       | was ~ten years ago: Use Intel if you want working hardware and
       | drivers that actually achieve line-rate throughput. Back then the
       | RTL chips were a trashfire and couldn't do gigabit even on
       | Windows. Nowadays the RTL chips can do that. And here we are
       | again with bad / proprietary _network_ drivers for RTL chips.
        
         | gsich wrote:
         | The driver from Realtek is GPL2. Maybe the code quality is not
         | good enough for the kernel.
         | 
         | https://www.realtek.com/en/component/zoo/category/network-in...
        
           | my123 wrote:
           | They are upstream nowadays.
           | 
           | Supported mainline by the r8169 driver.
        
             | gsich wrote:
             | Yeah, but according to the blog post there must be some
             | difference. "Supported" but not "fully supported". Mainline
             | has 8k lines, Realteks driver has 15k lines in only 1 .c
             | file and there are some more.
        
         | my123 wrote:
         | For 2.5GbE, this became very much not the case.
         | 
         | > Use Intel if you want working hardware
         | 
         | Sadly Intel totally dropped the ball on this.
         | 
         | i225-V (Foxville) NIC early steppings were awful. And no driver
         | can fix that, it required Intel to produce a new stepping...
         | countless motherboards are affected by that one...
         | 
         | Realtek NICs are fine at this point in time.
        
           | makomk wrote:
           | Yeah, Intel managed to incorrectly implement the 2.5GbE
           | standard with the result that if you connected older
           | steppings of their NIC to a standards-compliant device
           | massive packet loss and effective data transfer speeds
           | apparently as low as kilobytes/sec in some cases ensued. The
           | only workaround was to force it to gigabit mode. They took an
           | age to release a stepping that fixed this and I think there
           | may have been other issues too, so a whole bunch of
           | motherboards ended up shipping with 2.5Gb support that was
           | effectively unusable.
        
           | bcrl wrote:
           | Not all Realtek NICs are fine at this point in time. For some
           | models of Realtek NIcs the Linux driver has to memcpy() data
           | for _every single packet_ in order to work around a hardware
           | bug. It 's entirely possible that the Linux driver has that
           | kind of workaround enabled for newer hardware that doesn't
           | need it anymore, but getting that kind of driver change
           | merged tends to be a bit of an uphill battle without having
           | the hardware manufacturer actively involved in maintenance of
           | the mainline open source driver.
        
         | nightfly wrote:
         | Isn't it the same for wifi? On nearly every laptop I've owned
         | I've ended up swapping for an Intel wireless card eventually.
        
           | formerly_proven wrote:
           | Yes, and even the generational changes can be quite worth it
           | - I recently swapped a 2016 Intel 8265 wifi card with a newer
           | AX210 (- which costs basically nothing) and even without
           | utilizing the updated standards I got 50-80 % more bandwidth
           | under exactly the same conditions.
        
       ___________________________________________________________________
       (page generated 2021-12-21 23:00 UTC)