I've been trying to upgrade my pair of RT-AX92U to 2.5 or even 5Gbe after reading this post:
https://wu.renjie.im/blog/network/ax88u-nbase-t/
Nearly 2 years later, I finally have compiled a stable driver for Realtek RTL8156B. Driver version is 2.16.3. And I posted the binary on Renjie's blog:
http://disq.us/p/2qdy0v4
I think the cause of the bandwidth limitation is because the driver needs to be loaded manually. You can't achieve 2.5Gbe with default drivers (cdc_ncm or cdc_ether) because the CPU is saturated.
Before installing Merlin on my pair of routers, I needed a USB stick to be able to load a script at startup (the usb_mount nvram variable).
The script unloads the default drivers and loads my own compiled driver. Then I include the eth8 interface (with the right driver) to br0.
Now with Merlin, I don't need the USB stick anymore, the firmware loads the script at boot time.
Install Merlin, copy driver file to /jffs/drivers and put this in services-start :
Bash:
rmmod cdc_mbim
rmmod cdc_ncm
insmod /jffs/drivers/r8152-2.16.3.ko
sleep 3
nvram set br0_ifnames="$(nvram get br0_ifnames) eth8"
nvram set lan_ifnames="$(nvram get lan_ifnames) eth8"
nvram set wired_ifnames="$(nvram get wired_ifnames) eth8"
brctl addif br0 eth8
ls -1 /sys/class/net/*/queues/*x-0/*ps_cpus | xargs -I{} bash -c "echo '1' > {}"
ifconfig eth8 txqueuelen 2500
echo enable > /sys/class/net/eth8/rtl_adv/sg_en
ifconfig eth8 up
ethtool -G eth8 rx 4096
echo 2500 > /proc/sys/net/core/netdev_max_backlog
/sbin/asus_usb_interface 2-2:1.0 add
Then I put the 5Gbe stick on my NUC and performed some iperf3 tests.
RTAX952U Realtek 2.5Gbe as iperf3 server and NUC 5Gbe as iperf3 client :
Code:
[CODE][ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 27.00-28.00 sec 276 MBytes 2.32 Gbits/sec 0 1.51 MBytes
[ 5] 28.00-29.00 sec 276 MBytes 2.32 Gbits/sec 0 1.51 MBytes
[/CODE]
=> The bandwidth is limited by the Realtek stick, no RETR
NUC 5Gbe as iperf3 server and RTAX952U Realtek 2.5Gbe as iperf3 client :
Code:
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 26.00-27.00 sec 214 MBytes 1.79 Gbits/sec 319 188 KBytes
[ 5] 27.00-28.00 sec 187 MBytes 1.57 Gbits/sec 406 83.4 KBytes
=> The bandwidth is throttled and we see a lot of RETR, but it is a a real bump on the default 1Gbe.
In AI Mesh mode, there was a watchdog which made the router reboot after about 20 minutes. I never figured it out. Switched to AP mode.
In AP Mode, eveything is working well, except bandwidth limitation and RTR in iperf3 in one way.
My experience with an AQC111U is very bad: the driver I compiled is not stable and make the router reboot as soon as I add the interface to the bridge. The native driver is not very stable I think.