@pesa1234
testing out your rss patches in the 4.5.6 branch but doesn't seem to be working for me.
are you seeing increased throughput and/or lower cpu load when doing heavy receive terminating in the router?
Thanks.
On 4.5.6.rss.mtk also WED is broken...
In 4.5.7.rss.mtk it is ok but on this I'm importing new patches like the one you mentioned...
So, work in progress and thanks for sharing!!!
These are the new patches:
[999-9902-1-mtk-ethernet-rss_20250109-2.patch]
[999-9902-2-mtk-ethernet-rss-mt7986-mt7981-fix.patch]
[999-9902-3-mtk-ethernet-rss-dbg.patch]
Update:
I now see the same issue that @glassdoor is seeing, i.e. I now see OoO with standard OpenWrt master tree build only with h/w flow offload via the SoC PPE engine for download (i.e. WAN to LAN direction.). I do not see any OoO packets with s/w flow offload or turning off flow offload. Tho. turning off flow offload limits the max bandwidth that the E8450 can support.
I still see OoO UDP packets reported by the iperf3 server when sending from LAN to WAN direction.
So what I did was to enable the mt7531 switch SA learning. Default behaviour for DSA architecture is to disable all SA leaning of the switch and depended on the Linux network stack to managed the FDB. My theory was that because the mt7531 switch does not have up to date FDB, it needs to send ARPs periodically and thus is causing OoO packet.
But I'm still scratching my head why the LAN->WAN direction is causing OoO packets.
@glassdoor, @pesa1234 are you folks running MTK's source tree and not the standard OpenWrt source? Do you know if your builds' mt7531 driver enabled the switched SA learning bit for all ports?
FYI, the disabling of SA learning bit seems to be also causing WiFi roaming issues, as the Linux kernel is not updating the switch's CPU port FDB. So once WiFi client roam, traffic from client will not flow until the router's FDB times out,
I'm very impressed with what you are doing in this thread. I do have a question though: are the changes that have been proven reliable and beneficial in this custom branch being upstreamed to standard openwrt?
I'm not personally interested in running unstable software for my router (and I suspect I'm not the only one) and it seems a shame if the results of these experiments never reach a broader audience.
While 23.05 with SQM-Cake and AQL seems to work perfectly fine for my 500/500 DOCSIS, I would love eventually seeing support for iBF etc in upstream OpenWrt.
Just tried to compile and install the latest next-r4.5.7.rss.mtk just to try the HQoS.
It looks like it is not working for me , or maybe I’m doing something wrong.
I have put 423Mbps just for testing purposes , it looks like my bandwidth (up/down) is not being limited at all (asymmetric 2.5/500)
Any suggestion ? (getting C on waveform +66 on upload )
Ok , thanks @pesa1234 , I will revert back to the classic cake QoS
I’m testing the 4.5.8 right now , with Nginx instead of uHttpd. It looks like it is not crashing anymore.
The major problem I’m trying to solve now , is the Wi-Fi stopping working after some minutes , my mac and iphone can not complete the association (infinite spinning) despite the fact the logs says handshake completed
Trying to disable Wi-Fi Roaming in order to have as stock config as possible.
--update--
WED off , 802.11k,r off , WPA2 , still no wifi.
Trying to recompile 4.5.8 without mtkhnat_util and run it with no old-configurations , full stock
I installed the 4.5.8, made a clean install without any old configurations, configured the PPPoE connection , Wi-Fi networks to use WPA3, set the TX power, and entered the country code.
The clients are able to connect, but after three minutes, the connection completely dropped and no client is able to connect again.
No logs appear on logread , is the log module disbaled , should I do smth to see wifi logs ?
My setup differs from the standard configuration only for a Fritzbox with OpenWRT connected as a repeater via Ethernet.
Could someone suggest some debugging steps?
Otherwise Im force to install back the Semptember build
Thanks everyone
The .config file I used to compile it.
.config
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_glinet_gl-mt6000=y
CONFIG_ALL_KMODS=y
CONFIG_ALL_NONSHARED=y
CONFIG_DEVEL=y
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_BPF_TOOLCHAIN_BUILD_LLVM=y
# CONFIG_BPF_TOOLCHAIN_NONE is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_CROND_SPECIAL_TIMES=y
# CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOG_INFO=y
CONFIG_BUSYBOX_CONFIG_PKILL=y
CONFIG_HAS_BPF_TOOLCHAIN=y
CONFIG_IMAGEOPT=y
CONFIG_JSON_CYCLONEDX_SBOM=y
CONFIG_KERNEL_BUILD_DOMAIN="buildhost"
CONFIG_KERNEL_BUILD_USER="builder"
CONFIG_OPENSSL_ENGINE=y
CONFIG_OPENSSL_OPTIMIZE_SPEED=y
CONFIG_OPENSSL_WITH_ASM=y
CONFIG_OPENSSL_WITH_CHACHA_POLY1305=y
CONFIG_OPENSSL_WITH_CMS=y
CONFIG_OPENSSL_WITH_DEPRECATED=y
CONFIG_OPENSSL_WITH_ERROR_MESSAGES=y
CONFIG_OPENSSL_WITH_IDEA=y
CONFIG_OPENSSL_WITH_MDC2=y
CONFIG_OPENSSL_WITH_PSK=y
CONFIG_OPENSSL_WITH_SEED=y
CONFIG_OPENSSL_WITH_SRP=y
CONFIG_OPENSSL_WITH_TLS13=y
CONFIG_OPENSSL_WITH_WHIRLPOOL=y
# CONFIG_PACKAGE_apk-mbedtls is not set
CONFIG_PACKAGE_apk-openssl=y
CONFIG_PACKAGE_avahi-dbus-daemon=y
CONFIG_PACKAGE_blkid=y
CONFIG_PACKAGE_cgi-io=y
CONFIG_PACKAGE_dbus=y
# CONFIG_PACKAGE_dnsmasq is not set
CONFIG_PACKAGE_dnsmasq-full=y
CONFIG_PACKAGE_dnsmasq_full_auth=y
CONFIG_PACKAGE_dnsmasq_full_conntrack=y
CONFIG_PACKAGE_dnsmasq_full_dhcp=y
CONFIG_PACKAGE_dnsmasq_full_dnssec=y
CONFIG_PACKAGE_dnsmasq_full_nftset=y
CONFIG_PACKAGE_dnsmasq_full_noid=y
CONFIG_PACKAGE_dnsmasq_full_tftp=y
CONFIG_PACKAGE_ethtool=y
CONFIG_PACKAGE_ip-tiny=m
CONFIG_PACKAGE_kmod-asn1-decoder=y
CONFIG_PACKAGE_kmod-br-netfilter=y
CONFIG_PACKAGE_kmod-crypto-crc32=y
CONFIG_PACKAGE_kmod-crypto-ecb=y
CONFIG_PACKAGE_kmod-cryptodev=y
CONFIG_PACKAGE_kmod-fs-exfat=y
CONFIG_PACKAGE_kmod-fs-ext4=y
CONFIG_PACKAGE_kmod-fs-f2fs=y
CONFIG_PACKAGE_kmod-fs-ksmbd=y
CONFIG_PACKAGE_kmod-fs-netfs=y
CONFIG_PACKAGE_kmod-fs-ntfs3=y
CONFIG_PACKAGE_kmod-fs-smbfs-common=y
CONFIG_PACKAGE_kmod-fs-vfat=y
CONFIG_PACKAGE_kmod-ipt-core=y
CONFIG_PACKAGE_kmod-lib-crc16=y
CONFIG_PACKAGE_kmod-libphy=m
# CONFIG_PACKAGE_kmod-mt76 is not set
# CONFIG_PACKAGE_kmod-mt7601u is not set
# CONFIG_PACKAGE_kmod-mt7603 is not set
# CONFIG_PACKAGE_kmod-mt7615-firmware is not set
# CONFIG_PACKAGE_kmod-mt7622-firmware is not set
# CONFIG_PACKAGE_kmod-mt7663-firmware-ap is not set
# CONFIG_PACKAGE_kmod-mt7663-firmware-sta is not set
# CONFIG_PACKAGE_kmod-mt7663s is not set
# CONFIG_PACKAGE_kmod-mt7663u is not set
# CONFIG_PACKAGE_kmod-mt76x0e is not set
# CONFIG_PACKAGE_kmod-mt76x0u is not set
# CONFIG_PACKAGE_kmod-mt76x2 is not set
# CONFIG_PACKAGE_kmod-mt76x2u is not set
# CONFIG_PACKAGE_kmod-mt7915-firmware is not set
# CONFIG_PACKAGE_kmod-mt7916-firmware is not set
# CONFIG_PACKAGE_kmod-mt7921-firmware is not set
# CONFIG_PACKAGE_kmod-mt7921e is not set
# CONFIG_PACKAGE_kmod-mt7921s is not set
# CONFIG_PACKAGE_kmod-mt7921u is not set
# CONFIG_PACKAGE_kmod-mt7922-firmware is not set
# CONFIG_PACKAGE_kmod-mt7925-firmware is not set
# CONFIG_PACKAGE_kmod-mt7925e is not set
# CONFIG_PACKAGE_kmod-mt7925u is not set
# CONFIG_PACKAGE_kmod-mt7981-firmware is not set
# CONFIG_PACKAGE_kmod-mt7992-23-firmware is not set
# CONFIG_PACKAGE_kmod-mt7992-firmware is not set
# CONFIG_PACKAGE_kmod-mt7996-233-firmware is not set
# CONFIG_PACKAGE_kmod-mt7996-firmware is not set
# CONFIG_PACKAGE_kmod-mt7996e is not set
CONFIG_PACKAGE_kmod-nf-conntrack-netlink=y
CONFIG_PACKAGE_kmod-nf-ipt=y
CONFIG_PACKAGE_kmod-nls-cp437=y
CONFIG_PACKAGE_kmod-nls-iso8859-1=y
CONFIG_PACKAGE_kmod-nls-ucs2-utils=y
CONFIG_PACKAGE_kmod-nls-utf8=y
CONFIG_PACKAGE_kmod-oid-registry=y
CONFIG_PACKAGE_kmod-phy-aquantia=m
CONFIG_PACKAGE_kmod-scsi-core=y
CONFIG_PACKAGE_kmod-usb-storage=y
CONFIG_PACKAGE_kmod-usb-storage-extras=y
CONFIG_PACKAGE_kmod-usb-storage-uas=y
CONFIG_PACKAGE_ksmbd-avahi-service=y
CONFIG_PACKAGE_ksmbd-server=y
CONFIG_PACKAGE_libatomic=y
CONFIG_PACKAGE_libavahi-dbus-support=y
CONFIG_PACKAGE_libbpf=m
CONFIG_PACKAGE_libdaemon=y
CONFIG_PACKAGE_libdbus=y
CONFIG_PACKAGE_libelf=m
CONFIG_PACKAGE_libevdev=y
CONFIG_PACKAGE_libexpat=y
CONFIG_PACKAGE_libgmp=y
CONFIG_PACKAGE_liblucihttp=y
CONFIG_PACKAGE_liblucihttp-ucode=y
# CONFIG_PACKAGE_libmbedtls is not set
CONFIG_PACKAGE_libminiupnpc=m
CONFIG_PACKAGE_libnatpmp=m
CONFIG_PACKAGE_libnetfilter-conntrack=y
CONFIG_PACKAGE_libnettle=y
CONFIG_PACKAGE_libnfnetlink=y
CONFIG_PACKAGE_libnl-core=y
CONFIG_PACKAGE_libnl-genl=y
CONFIG_PACKAGE_libopenssl=y
CONFIG_PACKAGE_libopenssl-conf=y
CONFIG_PACKAGE_libopenssl-devcrypto=y
CONFIG_PACKAGE_libopenssl-legacy=y
CONFIG_PACKAGE_libpcap=m
CONFIG_PACKAGE_libudev-zero=y
CONFIG_PACKAGE_libusb-1.0=y
# CONFIG_PACKAGE_libustream-mbedtls is not set
CONFIG_PACKAGE_libustream-openssl=y
CONFIG_PACKAGE_libxdp=m
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-app-advanced=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-app-ksmbd=y
CONFIG_PACKAGE_luci-app-package-manager=y
CONFIG_PACKAGE_luci-app-zerotier=m
CONFIG_PACKAGE_luci-base=y
CONFIG_PACKAGE_luci-light=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-mod-network=y
CONFIG_PACKAGE_luci-mod-status=y
CONFIG_PACKAGE_luci-mod-system=y
CONFIG_PACKAGE_luci-proto-ipv6=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
#CONFIG_PACKAGE_mtkhnat_util=y
CONFIG_PACKAGE_qosify=m
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-file=y
CONFIG_PACKAGE_rpcd-mod-iwinfo=y
CONFIG_PACKAGE_rpcd-mod-luci=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_rpcd-mod-ucode=y
CONFIG_PACKAGE_tc-tiny=m
CONFIG_PACKAGE_ucode-mod-html=y
CONFIG_PACKAGE_ucode-mod-math=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_PACKAGE_uhttpd-mod-ubus=y
CONFIG_PACKAGE_usbids=y
CONFIG_PACKAGE_usbutils=y
# CONFIG_PACKAGE_wpad-basic-mbedtls is not set
CONFIG_PACKAGE_wpad-openssl=y
CONFIG_PACKAGE_wsdd2=y
CONFIG_PACKAGE_xdp-filter=m
CONFIG_PACKAGE_xdp-loader=m
CONFIG_PACKAGE_xdpdump=m
# CONFIG_PACKAGE_yafut is not set
CONFIG_PACKAGE_zerotier=m
CONFIG_TARGET_OPTIMIZATION="-O2 -pipe -mcpu=cortex-a53"
CONFIG_TARGET_OPTIONS=y
CONFIG_USE_LLVM_BUILD=y
CONFIG_VERSIONOPT=y
CONFIG_VERSION_BUG_URL=""
CONFIG_VERSION_CODE=""
CONFIG_VERSION_CODE_FILENAMES=y
CONFIG_VERSION_DIST="OpenWrt"
CONFIG_VERSION_FILENAMES=y
CONFIG_VERSION_HOME_URL=""
CONFIG_VERSION_HWREV=""
CONFIG_VERSION_MANUFACTURER=""
CONFIG_VERSION_MANUFACTURER_URL=""
CONFIG_VERSION_NUMBER=""
CONFIG_VERSION_PRODUCT=""
CONFIG_VERSION_REPO="https://raw.githubusercontent.com/pesa1234/MT6000_cust_build/refs/heads/main"
CONFIG_VERSION_SUPPORT_URL=""
CONFIG_ZLIB_OPTIMIZE_SPEED=y
# CONFIG_PACKAGE_dnsmasq_full_dhcpv6 is not set
CONFIG_PACKAGE_mt7601u-firmware=m
CONFIG_PACKAGE_kmod-wireguard=y
CONFIG_PACKAGE_luci-proto-wireguard=y
CONFIG_PACKAGE_wireguard-tools=y
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_sqm-scripts=y