I can confirm. I'm on master, with pppoe, and i get full gigabit speed with basically no cpu usage.
I'm also up and running since one week, now i need to update the firmware (some fixes in packages i forgot when building last time) but i'm so sorry i can't see the first crash
On wifi i get around 500Mbps (with plain ath10k, sadly i can't still manage to use 160MHz channel width)
I have irqbalance enabled indeed on 21.02.x. I disabled nlbwmon yesterday. Later I planned on rebooting the router to get the older ath10k firmware version loaded (QCA-ATH10Kw10.4-3.9.0.2-00156
). I then noticed my router with the 21.02.x image already had a spontaneous reboot when the latest ath10k firmware version was still active (QCA-ATH10Kw10.4-3.9.0.2-00157
). So far I deemed the 21.02.x NSS builds to be stable, even with my set up. At the moment I have an uptime of: 10:12:41 up 1 day, 13:39, load average: 0.00, 0.00, 0.00
with the 00156
version of the ath10k firmware. Irqbalance is still enabled.
I look specifically for ath10k driver and firmware. And when results mention different experiences with the -ct variants both seem to have this SWBA overrun error coming and going throughout the years and versions. Hard to tell wether regression is an issue throughout the years, or a minor change occurred in those cases that was unnoticed (bad behaving client got an update) that in combination with the switch from ath10k to ath10k-ct or the other way around may have left the impression that this change was the solution... Besides that, some use the builds released by ACwifidude, some have private builds with minor changes and then we all have a different usage in respect to clients, number of clients and number of connections and what is done over those connections...
I believe you keep routing on a separate R7800 from your WiFi? Have I read that correctly? This alone would separate routing from WiFi handling from the same NSS cores?
My R7800 running as dumb AP is running 43C, my router is running 61C. Temperature was warm. The ap-R7800 is running in a conditioned environment, the router is not, but temperature is stable in there.
@acwifidude, is it possible to include stubby in images? it is used to encrypt DNS requests and add extra protection. I don't think it affects stability since it works on top of dnsmasq (or so I think). It may be useful to more people. Thank you!
I was able to get everything NSS related compiled for kernel 5.15
. I've also managed to backport a good chunk of of QSDK 11.4
while maintaining compatibility with NSS FW 11.0. Versions >= 11.5
had a significant number of changes so didn't venture that route. @Ansuel / @robimarko I know you've been focused on ipq807x/AX3600, but do you know if it's even worth asking Qualcomm via their quic repo for NSS FW > 11.0 for ipq806x? I see FW references to 11.4-10-AK.R
, 11.5-555-AK.R
all the way to 12.0-037-AK.R
for ip806x.
Compiled NSS modules
kmod-nss-ifb - 5.15.65-1 - Kernel module to register a NSS aware IFB interface.
kmod-qca-nss-crypto - 5.15.65+2021-03-20-2271a3a-1 - Kernel driver for NSS crypto driver
kmod-qca-nss-drv - 5.15.65+2020-03-20-3cfb9f43-1 - Kernel driver for NSS (core driver)
kmod-qca-nss-drv-eogremgr - 5.15.65+2020-04-28-40189801-2 - Kernel module for managing NSS EoGRE
kmod-qca-nss-drv-gre - 5.15.65+2020-04-28-40189801-2 - Kernel modules for NSS connection manager - Support for GRE
kmod-qca-nss-drv-l2tpv2 - 5.15.65+2020-04-28-40189801-2 - Kernel driver for NSS (connection manager) - l2tp
kmod-qca-nss-drv-lag-mgr - 5.15.65+2020-04-28-40189801-2 - Kernel modules for NSS LAG manager
kmod-qca-nss-drv-match - 5.15.65+2020-04-28-40189801-2 - Kernel module for managing NSS Match
kmod-qca-nss-drv-netlink - 5.15.65+2020-04-28-40189801-2 - Kernel module for NSS netlink manager
kmod-qca-nss-drv-portifmgr - 5.15.65+2020-04-28-40189801-2 - Kernel driver for NSS (qca-nss-drv-portifmgr)
kmod-qca-nss-drv-pppoe - 5.15.65+2020-04-28-40189801-2 - Kernel modules for NSS connection manager - Support for PPPoE
kmod-qca-nss-drv-pptp - 5.15.65+2020-04-28-40189801-2 - Kernel modules for NSS connection manager - Support for PPTP tunnel
kmod-qca-nss-drv-profile - 5.15.65+2020-04-28-40189801-2 - This package contains a NSS driver profiler for QCA chipset
kmod-qca-nss-drv-qdisc - 5.15.65+2020-04-28-40189801-2 - Linux qdisc that aids in configuring shapers in the NSS
kmod-qca-nss-drv-tun6rd - 5.15.65+2020-04-28-40189801-2 - Kernel modules for NSS connection manager - Support for 6rd tunnel
kmod-qca-nss-drv-tunipip6 - 5.15.65+2020-04-28-40189801-2 - Kernel modules for NSS connection manager Add support for DS-lite and ipip6 tunnel
kmod-qca-nss-drv-vxlanmgr - 5.15.65+2020-04-28-40189801-2 - Kernel module for managing NSS VxLAN
kmod-qca-nss-ecm-standard - 5.15.65+2021-06-15-34267065-1 - This package contains the QCA NSS Enhanced Connection Manager
kmod-qca-nss-gmac - 5.15.65+2021-04-20-17176794-1 - Kernel driver for NSS gmac
qca-nss-macsec-shell - 1 - Shell application for QCA MACSEC
Boot log-> https://gist.github.com/qosmio/98fbe58d1b83ad9563b75ced20e982ab
NSS Stats
cat $(grep -lE "= [1-9]" /sys/kernel/debug/qca-nss-drv/stats/**/*(.))
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< DRV >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
drv_nbuf_alloc_errors = 0 error
drv_paged_buf_alloc_errors = 0 error
drv_tx_queue_full[0] = 0 error
drv_tx_queue_full[1] = 0 error
drv_tx_buffers_empty = 34260 special
drv_tx_paged_buffers_empty = 0 special
drv_tx_buffer_pkt = 117677 special
drv_tx_buffers_cmd = 90029 special
drv_tx_buffers_crypto = 0 special
drv_tx_buffers_reuse = 48798 special
drv_rx_buffers_empty = 79163 special
drv_rx_buffers_pkt = 185499 special
drv_rx_buffers_ext_pkt = 0 special
drv_rx_buffers_cmd_resp = 0 special
drv_rx_buffers_status_sync = 4239451 special
drv_rx_buffers_crypto = 0 special
drv_rx_buffers_virtual = 21760 special
drv_tx_skb_simple = 154246 special
drv_tx_skb_nr_frags = 4662 special
drv_tx_skb_fraglist = 0 special
drv_rx_skb_simple = 4446693 special
drv_rx_skb_nr_frags = 0 special
drv_rx_skb_fraglist = 17 special
drv_rx_bad_desciptor = 0 error
drv_invalid_interface = 0 error
drv_invalid_core_id = 0 error
drv_invalid_buffer_type = 0 error
drv_nss_skb_count = 5892 special
drv_rx_chain_seg_processed = 71 special
drv_rx_frag_seg_processed = 0 special
drv_tx_buffers_cmd_queue_full = 0 error
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ETH_RX >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
eth_rx_rx_pkts = 2685050 common
eth_rx_rx_byts = 2672548350 common
eth_rx_tx_pkts = 2685050 common
eth_rx_tx_byts = 2672548350 common
eth_rx_rx_queue[0]_drops = 0 drop
eth_rx_rx_queue[1]_drops = 0 drop
eth_rx_rx_queue[2]_drops = 0 drop
eth_rx_rx_queue[3]_drops = 0 drop
#eth_rx node stats
eth_rx_ticks = 0 special
eth_rx_worst_ticks = 0 special
eth_rx_iterations = 0 special
#eth_rx exception stats
eth_rx_unknown_l3_protocol = 12893 exception
eth_rx_eth_hdr_missing = 0 exception
eth_rx_vlan_missing = 0 exception
eth_rx_trustsec_hdr_missing = 0 exception
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< IPV4 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ipv4_rx_pkts = 2633583 common
ipv4_rx_byts = 2600482263 common
ipv4_tx_pkts = 2477654 common
ipv4_tx_byts = 2477739856 common
ipv4_rx_queue[0]_drops = 0 drop
ipv4_rx_queue[1]_drops = 0 drop
ipv4_rx_queue[2]_drops = 0 drop
ipv4_rx_queue[3]_drops = 0 drop
#ipv4 special stats
ipv4_rx_pkts = 2477678 special
ipv4_rx_bytes = 2433458112 special
ipv4_tx_pkts = 2477678 special
ipv4_tx_bytes = 2478013900 special
ipv4_create_requests = 2908 special
ipv4_create_collisions = 0 special
ipv4_create_invalid_interface = 0 special
ipv4_destroy_requests = 75 special
ipv4_destroy_misses = 0 special
ipv4_hash_hits = 2480404 special
ipv4_hash_reorders = 294 special
ipv4_flushes = 2741 special
ipv4_evictions = 0 special
ipv4_fragmentations = 0 special
ipv4_by_rule_drops = 0 drop
ipv4_mc_create_requests = 0 special
ipv4_mc_update_requests = 0 special
ipv4_mc_create_invalid_interface = 0 special
ipv4_mc_destroy_requests = 0 special
ipv4_mc_destroy_misses = 0 special
ipv4_mc_flushes = 0 special
#ipv4 exception stats
ipv4_icmp_hdr_incomplete = 0 exception
ipv4_icmp_unhandled_type = 4410 exception
ipv4_icmp_ipv4_hdr_incomplete = 0 exception
ipv4_icmp_ipv4_udp_hdr_incomplete = 0 exception
ipv4_icmp_ipv4_tcp_header_incomplete = 0 exception
ipv4_icmp_sipv4_unknown_protocol = 0 exception
ipv4_icmp_no_icme = 494 exception
ipv4_icmp_flush_to_host = 4 exception
ipv4_tcp_header_incomplete = 0 exception
ipv4_tcp_no_icme = 130972 exception
ipv4_tcp_ip_option = 0 exception
ipv4_tcp_ip_fragment = 0 exception
ipv4_tcp_small_ttl = 0 exception
ipv4_tcp_needs_fragmentation = 0 exception
ipv4_tcp_flags = 2737 exception
ipv4_tcp_seq_exceeds_right_edge = 0 exception
ipv4_tcp_small_data_offs = 0 exception
ipv4_tcp_bad_sack = 0 exception
ipv4_tcp_big_data_offs = 0 exception
ipv4_tcp_seq_before_left_edge = 0 exception
ipv4_tcp_ack_exceeds_right_edge = 0 exception
ipv4_tcp_ack_before_left_edge = 0 exception
ipv4_udp_header_incomplete = 0 exception
ipv4_udp_no_icme = 17081 exception
ipv4_udp_ip_option = 0 exception
ipv4_udp_ip_fragment = 0 exception
ipv4_udp_small_ttl = 0 exception
ipv4_udp_needs_fragmentation = 0 exception
ipv4_wrong_target_mac = 0 exception
ipv4_header_incomplete = 0 exception
ipv4_bad_total_length = 0 exception
ipv4_bad_checksum = 0 exception
ipv4_non_initial_fragment = 0 exception
ipv4_datagram_incomplete = 0 exception
ipv4_options_incomplete = 0 exception
ipv4_unknown_protocol = 39 exception
ipv4_esp_header_incomplete = 0 exception
ipv4_esp_no_icme = 0 exception
ipv4_esp_ip_option = 0 exception
ipv4_esp_ip_fragment = 0 exception
ipv4_esp_small_ttl = 0 exception
ipv4_esp_needs_fragmentation = 0 exception
ipv4_ingress_vid_mismatch = 0 exception
ipv4_ingress_vid_missing = 0 exception
ipv4_6rd_no_icme = 0 exception
ipv4_6rd_ip_option = 0 exception
ipv4_6rd_ip_fragment = 0 exception
ipv4_6rd_needs_fragmentation = 0 exception
ipv4_dscp_marking_mismatch = 0 exception
ipv4_vlan_marking_mismatch = 0 exception
ipv4_interface_mismatch = 0 exception
ipv4_gre_header_incomplete = 0 exception
ipv4_gre_no_icme = 0 exception
ipv4_gre_ip_option = 0 exception
ipv4_gre_ip_fragment = 0 exception
ipv4_gre_small_ttl = 0 exception
ipv4_gre_needs_fragmentation = 0 exception
ipv4_pptp_gre_session_match_fail = 0 exception
ipv4_pptp_gre_invalid_proto = 0 exception
ipv4_pptp_gre_no_cme = 0 exception
ipv4_pptp_gre_ip_option = 0 exception
ipv4_pptp_gre_ip_fragment = 0 exception
ipv4_pptp_gre_small_ttl = 0 exception
ipv4_pptp_gre_needs_fragmentation = 0 exception
ipv4_destroy = 0 exception
ipv4_frag_df_set = 17 exception
ipv4_frag_fail = 0 exception
ipv4_icmp_ipv4_udplite_header_incomplete = 0 exception
ipv4_udplite_header_incomplete = 0 exception
ipv4_udplite_no_icme = 0 exception
ipv4_udplite_ip_option = 0 exception
ipv4_udplite_ip_fragment = 0 exception
ipv4_udplite_small_ttl = 0 exception
ipv4_udplite_needs_fragmentation = 0 exception
ipv4_mc_udp_no_icme = 0 exception
ipv4_mc_mem_alloc_failure = 0 exception
ipv4_mc_update_failure = 0 exception
ipv4_mc_pbuf_alloc_failure = 0 exception
ipv4_pppoe_bridge_no_icme = 0 exception
ipv4_pppoe_no_session = 65272943953575 drop
ipv4_icmp_ipv4_gre_hdr_incomplete = 94366724996324 exception
ipv4_icmp_ipv4_esp_hdr_incomplete = 93407081178323 exception
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< IPV6 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ipv6_rx_pkts = 51189 common
ipv6_rx_byts = 23590819 common
ipv6_tx_pkts = 34332 common
ipv6_tx_byts = 19814255 common
ipv6_rx_queue[0]_drops = 0 drop
ipv6_rx_queue[1]_drops = 0 drop
ipv6_rx_queue[2]_drops = 0 drop
ipv6_rx_queue[3]_drops = 0 drop
#ipv6 node stats
ipv6_rx_pkts = 34332 special
ipv6_rx_bytes = 19240948 special
ipv6_tx_pkts = 34332 special
ipv6_tx_bytes = 19814300 special
ipv6_create_requests = 710 special
ipv6_create_collisions = 0 special
ipv6_create_invalid_interface = 0 special
ipv6_destroy_requests = 37 special
ipv6_destroy_misses = 0 special
ipv6_hash_hits = 34998 special
ipv6_hash_reorders = 0 special
ipv6_flushes = 664 special
ipv6_evictions = 0 special
ipv6_fragmentations = 0 special
ipv6_frag_fails = 0 special
ipv6_by_rule_drops = 0 drop
ipv6_mc_create_requests = 0 special
ipv6_mc_update_requests = 0 special
ipv6_mc_create_invalid_interface = 0 special
ipv6_mc_destroy_requests = 0 special
ipv6_mc_destroy_misses = 0 special
ipv6_mc_flushes = 0 special
#ipv6 exception stats
ipv6_icmp_header_incomplete = 0 exception
ipv6_icmp_unhandled_type = 1688 exception
ipv6_icmp_header_incomplete = 0 exception
ipv6_icmp_udp_header_incomplete = 0 exception
ipv6_icmp_tcp_header_incomplete = 0 exception
ipv6_icmp_unknown_protocol = 0 exception
ipv6_icmp_no_icme = 108 exception
ipv6_icmp_flush_to_host = 25 exception
ipv6_tcp_header_incomplete = 0 exception
ipv6_tcp_no_icme = 8805 exception
ipv6_tcp_small_hop_limit = 0 exception
ipv6_tcp_needs_fragmentation = 0 exception
ipv6_tcp_flags = 639 exception
ipv6_tcp_seq_exceeds_right_edge = 0 exception
ipv6_tcp_small_data_offs = 0 exception
ipv6_tcp_bad_sack = 0 exception
ipv6_tcp_big_data_offs = 0 exception
ipv6_tcp_seq_before_left_edge = 0 exception
ipv6_tcp_ack_exceeds_right_edge = 0 exception
ipv6_tcp_ack_before_left_edge = 0 exception
ipv6_udp_header_incomplete = 0 exception
ipv6_udp_no_icme = 5079 exception
ipv6_udp_small_hop_limit = 0 exception
ipv6_udp_needs_fragmentation = 0 exception
ipv6_wrong_target_mac = 0 exception
ipv6_header_incomplete = 0 exception
ipv6_unknown_protocol = 515 exception
ipv6_ingress_vid_mismatch = 0 exception
ipv6_ingress_vid_missing = 0 exception
ipv6_dscp_marking_mismatch = 0 exception
ipv6_vlan_marking_mismatch = 0 exception
ipv6_interface_mismatch = 0 exception
ipv6_gre_no_icme = 0 exception
ipv6_gre_needs_fragmentation = 0 exception
ipv6_gre_small_hop_limit = 0 exception
ipv6_destroy = 0 exception
ipv6_icmp_udplite_header_incomplete = 0 exception
ipv6_udplite_header_incomplete = 0 exception
ipv6_udplite_no_icme = 0 exception
ipv6_udplite_small_hop_limit = 0 exception
ipv6_udplite_needs_fragmentation = 0 exception
ipv6_mc_udp_no_icme = 0 exception
ipv6_mc_mem_alloc_failure = 0 exception
ipv6_mc_update_failure = 0 exception
ipv6_mc_pbuf_alloc_failure = 0 exception
ipv6_esp_header_incomplete = 0 exception
ipv6_esp_no_icme = 0 exception
ipv6_esp_ip_fragment = 0 exception
ipv6_esp_small_hop_limit = 0 exception
ipv6_esp_needs_fragmentation = 0 exception
ipv6_tunipip6_no_icme = 0 exception
ipv6_tunipip6_small_hop_limit = 0 exception
ipv6_tunipip6_needs_fragmentation = 0 exception
ipv6_pppoe_bridge_no_icme = 0 exception
ipv6_dont_frag_set = 0 exception
ipv6_reassembly_not_supported = 45859120547621 exception
ipv6_pppoe_no_session = 43993941356304 drop
ipv6_icmp_gre_header_incomplete = 44799487970923 exception
ipv6_icmp_esp_header_incomplete = 43512237868920 exception
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LSO_RX >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
lso_rx_rx_pkts = 18 common
lso_rx_rx_byts = 37504 common
lso_rx_tx_pkts = 36 common
lso_rx_tx_byts = 38764 common
lso_rx_rx_queue[0]_drops = 0 drop
lso_rx_rx_queue[1]_drops = 0 drop
lso_rx_rx_queue[2]_drops = 0 drop
lso_rx_rx_queue[3]_drops = 0 drop
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< N2H >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
n2h_rx_pkts = 2681730 common
n2h_rx_byts = 534657113 common
n2h_tx_pkts = 207687 common
n2h_tx_byts = 372003595 common
n2h_rx_queue[0]_drops = 172 drop
n2h_rx_queue[1]_drops = 0 drop
n2h_rx_queue[2]_drops = 0 drop
n2h_rx_queue[3]_drops = 0 drop
n2h_queue_drops = 0 drop
n2h_ticks = 0 special
n2h_worst_ticks = 0 special
n2h_iterations = 0 special
n2h_pbuf_ocm_total_count = 0 special
n2h_pbuf_ocm_free_count = 1480 special
n2h_pbuf_ocm_alloc_fail_payload = 116042920 special
n2h_pbuf_ocm_alloc_fail_nopayload = 55 special
n2h_pbuf_def_total_count = 9881 special
n2h_pbuf_def_free_count = 9984 special
n2h_pbuf_def_alloc_fail_payload = 55 special
n2h_pbuf_def_alloc_fail_nopayload = 294994028 special
n2h_payload_alloc_fails = 90010 special
n2h_payload_free_count = 0 special
n2h_h2n_control_pkts = 2474469 special
n2h_h2n_control_byts = 355077708 special
n2h_n2h_control_pkts = 117677 special
n2h_n2h_control_byts = 25014987 special
n2h_h2n_data_pkts = 207261 special
n2h_h2n_data_byts = 179579405 special
n2h_n2h_data_pkts = 322302355 special
n2h_n2h_data_byts = 0 special
n2h_n2h_tot_payloads = 0 special
n2h_n2h_data_interface_invalid = 43158113782093 special
n2h_n2h_enqueue_retries = 46759378506452 special
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< N2H >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
n2h_rx_pkts = 1764938 common
n2h_rx_byts = 214387108 common
n2h_tx_pkts = 17 common
n2h_tx_byts = 33728 common
n2h_rx_queue[0]_drops = 0 drop
n2h_rx_queue[1]_drops = 0 drop
n2h_rx_queue[2]_drops = 0 drop
n2h_rx_queue[3]_drops = 0 drop
n2h_queue_drops = 0 drop
n2h_ticks = 0 special
n2h_worst_ticks = 0 special
n2h_iterations = 0 special
n2h_pbuf_ocm_total_count = 0 special
n2h_pbuf_ocm_free_count = 688 special
n2h_pbuf_ocm_alloc_fail_payload = 45987296 special
n2h_pbuf_ocm_alloc_fail_nopayload = 11 special
n2h_pbuf_def_total_count = 510 special
n2h_pbuf_def_free_count = 512 special
n2h_pbuf_def_alloc_fail_payload = 11 special
n2h_pbuf_def_alloc_fail_nopayload = 72589866 special
n2h_payload_alloc_fails = 17 special
n2h_payload_free_count = 0 special
n2h_h2n_control_pkts = 1764938 special
n2h_h2n_control_byts = 214387108 special
n2h_n2h_control_pkts = 0 special
n2h_n2h_control_byts = 0 special
n2h_h2n_data_pkts = 0 special
n2h_h2n_data_byts = 0 special
n2h_n2h_data_pkts = 72723241 special
n2h_n2h_data_byts = 0 special
n2h_n2h_tot_payloads = 0 special
n2h_n2h_data_interface_invalid = 42725512761433 special
n2h_n2h_enqueue_retries = 46877787295139 special
with Ath10K (hybrid driver using ath10k-ct code) with non CT fw 10.4-3.9.0.2-00159
Installed NSS Modules
root@R7800 ~
➤ lsmod| awk '$1~/ecm|nss|qca/'
ecm 774144 0
nss_ifb 16384 0
qca_mcs 61440 1 ecm
qca_nss_drv 1232896 4 nss_ifb,ecm,mac80211,qca_nss_qdisc
qca_nss_gmac 73728 1 qca_nss_drv
qca_nss_qdisc 114688 5
Let's how it takes to break
I already tried asking through a contact that made the NSS FW updates even possible publicly but IPQ806x never made it there.
You can try opening an issue, but so far they have never replied there
very good work sir any chance we can work with @ACwifidude so we can have a good shared repo with the changes
I was afraid of that :-/ I did put a request in last month. Hasn't seen any updates.
@Ansuel Thanks! (Though most of my patches are bastardized versions of yours and @robimarko's initial patches for 11.4). I still need to consolidate a good chunk of the patches, at least for uniformity's sake.
package/qca/qca-mcs/patches/200-kernel-5.10-compat.patch
package/qca/qca-nss-clients/patches/100-kernel-5.4-support-qdisc.patch
package/qca/qca-nss-clients/patches/101-kernel-5.4-support-gre.patch
package/qca/qca-nss-clients/patches/102-kernel-5.4-support-ipsec.patch
package/qca/qca-nss-clients/patches/103-kernel-5.4-support-dtls.patch
package/qca/qca-nss-clients/patches/104-kernel-5.4-support-l2tp.patch
package/qca/qca-nss-clients/patches/200-qdisc-fix-compile-error.patch
package/qca/qca-nss-clients/patches/202-vlanmgr-fix-compile-error.patch
package/qca/qca-nss-clients/patches/203-match-fix-compile-error.patch
package/qca/qca-nss-clients/patches/204-bridge-fix-compile-error.patch
package/qca/qca-nss-clients/patches/205-profiler-fix-compile-error.patch
package/qca/qca-nss-clients/patches/206-gre-fix-compile-error.patch
package/qca/qca-nss-clients/patches/300-qdisc-handling-delete-class-for-5.4.patch
package/qca/qca-nss-clients/patches/301-qdisc-Allocate-TCF-block-only-for-an-IFB-device.patch
package/qca/qca-nss-clients/patches/999-fix-netlink.patch
package/qca/qca-nss-clients/patches/999-fix-portifmgr.patch
package/qca/qca-nss-clients/patches/999-QSDK-11.2.patch
package/qca/qca-nss-clients/patches/999-QSDK-11.2-tunipip6.patch
package/qca/qca-nss-clients/patches/999-QSDK-11.4-qdisc.patch
package/qca/qca-nss-drv/patches/100-kernel-5.4-support.patch
package/qca/qca-nss-drv/patches/101-nss-drv-Control-fab-scaling-from-package-Makefile.patch
package/qca/qca-nss-drv/patches/101-qca-nss-qdisc-support.patch
package/qca/qca-nss-drv/patches/102-fix-ioremap-call.patch
package/qca/qca-nss-drv/patches/200-fix-NULL-pointer-exception.patch
package/qca/qca-nss-drv/patches/201-Fix-Kernel-Panic-dma-with-NULL-dev.patch
package/qca/qca-nss-drv/patches/400-Exported-set-nexthop-function.patch
package/qca/qca-nss-drv/patches/500-QSDK-11.2.patch
package/qca/qca-nss-drv/patches/600-nss-drv-add-support-for-kernel-5.15.patch
package/qca/qca-nss-drv/patches/999-backport-11.4.patch
package/qca/qca-nss-drv/patches/999-treewide-hack-support-for-mismatched-firmware.patch
package/qca/qca-nss-ecm/patches/0001-treewide-componentize-the-module-even-more.patch
package/qca/qca-nss-ecm/patches/0002-treewide-rework-ipv6_dev_find_and_hold-to-internal-A.patch
package/qca/qca-nss-ecm/patches/0003-treewide-rework-debugfs-api-to-new-implementation.patch
package/qca/qca-nss-ecm/patches/0004-treewide-fix-wrong-chain-events-flag.patch
package/qca/qca-nss-ecm/patches/0005-qca-nss-ecm-resolve-the-cpu-high-load-regarding-ecm.patch
package/qca/qca-nss-ecm/patches/0006-ecm_interface-switch-to-kernel_recvmsg-api.patch
package/qca/qca-nss-ecm/patches/0007-treewide-rework-notifier-changes-for-5.15.patch
package/qca/qca-nss-ecm/patches/0008-frontends-drop-use-of-static-be_liberal-and-no_windo.patch
package/qca/qca-nss-ecm/patches/0009-ecm_tracker_datagram-drop-static-for-EXPORT_SYMBOL.patch
package/qca/qca-nss-ecm/patches/0010-frontends-drop-udp_get_timeouts-and-use-standard-ups.patch
package/qca/qca-nss-ecm/patches/0011-ecm_interface-rework-vlan-API-to-internal-function.patch
package/qca/qca-nss-ecm/patches/0012-ecm_interface-rework-br_dev_update_stats-to-internal.patch
package/qca/qca-nss-ecm/patches/0013-ecm-frontends-use-tcp-no-window-check-sysctl-value-kernel-5.15.patch
package/qca/qca-nss-ecm/patches/0014-ecm_classifier_nl_genl-kernel-5.10-support.patch
package/qca/qca-nss-ecm/patches/0015-ecm_db-revert-ipv6_route_table_update.patch
package/qca/qca-nss-ecm/patches/0016-example-fix-compile-pcc-example.patch
package/qca/qca-nss-gmac/patches/100-kernel-5.4-support.patch
package/qca/qca-nss-gmac/patches/101-nss-gmac-test-ptr.patch
package/qca/qca-nss-gmac/patches/102-nss-gmac-fix-of_get_mac_address.patch
package/qca/qca-nss-gmac/patches/103-fix-ioremap-call.patch
package/qca/qca-nss-gmac/patches/104-nss-gmac-fix-of_get_phy_mode.patch
package/qca/qca-nss-gmac/patches/105-fix-nss-gmac-tx-timeout.patch
package/qca/qca-nss-gmac/patches/200-work-around-interface-close-warning.patch
package/qca/qca-nss-gmac/patches/500-add-extra-logging.patch
target
target/linux/ipq806x/patches-5.15/600-5.15-qca-nss-ecm-add-chain-events-support.patch
target/linux/ipq806x/patches-5.15/600-5.15-qca-nss-ecm-support-CORE.patch
target/linux/ipq806x/patches-5.15/604-net-core-Replace-nss-keyword-with-offload.patch
target/linux/ipq806x/patches-5.15/605-5.15-qca-add-add-nss-bridge-mgr-support.patch
target/linux/ipq806x/patches-5.15/606-5.15-qca-nss-ecm-bonding-add-bond_get_id.patch
target/linux/ipq806x/patches-5.15/990-00-Add-required-entries-in-dts-files-for-5.15-NSS-support.patch
target/linux/ipq806x/patches-5.15/999-00-Regulator-Add-NSS-VOLT.patch
target/linux/ipq806x/patches-5.15/999-01a-nss_sfe-support.patch
target/linux/ipq806x/patches-5.15/999-01-Revert-ARM-dma-mapping-remove-dmac_clean_range-and-d.patch
target/linux/ipq806x/patches-5.15/999-02-nss-core-and-crypto-clocks.patch
target/linux/ipq806x/patches-5.15/999-03d-qca-nss-ecm-support.patch
target/linux/ipq806x/patches-5.15/999-07a-qca-nss-drv-qdisc-support.patch
target/linux/ipq806x/patches-5.15/999-07b-qca-nss-clients-qdisc-support.patch
target/linux/ipq806x/patches-5.15/999-07c-qca-nss-clients-l2tp-support.patch
target/linux/ipq806x/patches-5.15/999-07e-qca-nss-clients-iptunnel-support.patch
target/linux/ipq806x/patches-5.15/999-08-qca-mcs-support.patch
target/linux/ipq806x/patches-5.15/999-09-of-net-return.patch
target/linux/ipq806x/patches-5.15/999-11-nss-vxlan.patch
target/linux/ipq806x/patches-5.15/999-13-export-inet6-functions.patch
target/linux/ipq806x/patches-5.15/999-13-pptp-nss-required-functions.patch
target/linux/ipq806x/patches-5.15/999-Fix-compiler-warnings.patch
I'd like to move QCA packages out of the main tree similar to @robimarko's NSS repo. Will be my next task. Luckily I didn't have to change too much in the packages to maintain backwards compatibility with 5.10.
@ACwifidude have you looked at any migration to 5.15? I was getting too comfortable with the stability on 5.10
"comfortable" is a relative description . Some of us are after "sufficient" comfort on stability on 5.10. Would you mind sharing your 5.10 stability experience with us and if PPPoE is involved and what ath10k driver/firmware give you good results? For my point of view, you have a lot more insight and knowledge on this matter than I do
I actually found 11.4 fw bin yesterday.
Ansuel uploaded them to his fw repo
Ansuel/nss_repo_find
I’d love some help in migrating to 5.15. As secondary bonuses (if possible) - would love to make patches same or at least similar to the ipq807x work to simplify everything. Appreciate the work! I’ll gladly try out or build anything you have in a reasonable working state.
Hero!
Glad to test if we can manage to have a shared repo to build..
I HAVE BEEN SCOURING EVERYWHERE... Every possible combination I could search on github, gitlab, hell even Baidu to see if it leaked in China
Came up short everywhere.
If I recall, @Ansuel you were the first one to find ( or at least post on gh ) the V11.0 FW for AK? Glad to see you come through for legacy IPQ806x fam! That should make it easier to remove my monkey patches for 11.0<->11.4 compatibility. I'll start looking at that now.
@ACwifidude that's great to hear! I've looked at a bunch of the ipq807x stuff that @Ansuel/@robimarko worked on and from CAF's codeaurora repo. My biggest hope has been to try and get DSA working with GMAC NSS and the athk11 NSS patches, but that's been a daunting task with my very basic C and kernel knowledge. Seeing a lot of the dataplane '_dp_'
related code just threw me off, and know it's not as easy as sed -ie "s/ath10k_/ath11k_/g"
... ha
it will be easier to get the upstream gmac driver work with nss offload honestly than trying to adapt the gmac nss driver.
I've had a pretty stable run so far, highest uptime on my main r7800 was 60 days, with the only reason being pushing a new build.
I unfortunately can't comment on the PPPoE side. I use a direct line to my ISP's GPON. My main setup is:
WAN
Fiber Internet
WLAN (with MAC80211 NSS option enabled, and `frame_mode=2` for encapsulation)
Driver: ath10k-ct
Firmware: ath10k 10.4-3.9.0.2-00159
LAN
The default switch settings.
Note: The ath10k-ct
driver I have changes from the backports-5.15.x
package. Although not really a necessity, I liked the debugging/stats aspect of ath10k-ct and wanted latest upstream changes merged.
The only issue I've had was with VLAN tagging/untagging, where CPU would spike when doing any WLAN<->LAN communication.
That was my next thought as well, but still looks to be a daunting ordeal. I will try and take a look again this weekend.
Just looked at your notes for the 11.4 FW. Surprised that it was Synology that upgraded to 11.4. They must've just recently pushed that out, I was looking at the decompiled FW for RT2600AC just last week. Good find!
that's not good. Easily PPPoE is based on VLAN tagging on the Wan side, this sounds as a possible problem for PPPoE users. Definitely we need to test
(i also use vlan tagging in local ethernet, so this is going to be a big issue for me :))
My thoughts too! We have some kernel crashes where @Mpilon has considerable reason to suspect an issue with vlan stuff:
PPPoE requires me to use a VLAN tag. In my network I use VLAN's to separate my private network from the guest network.
@qosmio do you have some detail on the CPU spikes when doing any WLAN<-> LAN communication?
well i get your point, but this would not explain why i get unexpected stability (i have my wan tagged, and i have local vlan for iot devices, so i have pppoe and vlans on both sides, and i got no crashes also with latest master..)
I add dawn
, igmpproxy
and some prometheus-node-exporter-*
packages for monitoring. I remove banip
, adblock
and openvpn
. I have a USB-stick mounted with AdGuardHome (installed via GitHub, not the opkg package).
I haven't started with a new fresh config yet after flashing a kernel 5.10 based build. Could still be some leftovers that are secretly incompatible