i test now frame-mode=1 in the last build r0-7298666
and it is running for 1day now...
so its look like the solution for me...
Hello friends,
I'm back playing with this, I see you guys have been busy in the past 2-3 months, awesome stuff.
So I spent some time over the past few days bringing my fork with full NSS (ECM, PPoE) offload etc. up-to-date. I also patched the kernel to 5.15.55 (latest), and added support for nftables FULLCONENAT etc.
As a bonus, I upgraded all the QCA NSS modules to 12.1.5r2 from the 12.0 you guys bumped and rebased all the patches etc. Also the new nss-firmware BIN-NSS.FW.12.1-022-HK.R.tar.bz2
The good news:
Everything builds, I can get a proper boot, no hard-bricks. Firmware loads fine etc. Wi-Fi performance seems greatly improved, it's reporting something crazy like 2.4Gbps on the 5G ax radios on 160mhz at 30dBm. No memory leaks.
The bad news:
qca-nss-drv and qca-nss-ecm are badly broken, to the point where I had to boot into failsafe and remove the qca-nss-drv module from the /lib/modules folder in order to prevent a bootloop. It seems very random also, sometimes you might get a partially successful boot. The ECM issues are the same old ones, which SOMEHOW don't trigger on my previous build and everything works flawlessly..
The irony is that you can let the device fully boot, wait a bit and you can insmod qca-nss-drv manually and everything loads up fine, EVEN ECM, PPOE offloading etc.
You can find my patches and the work to bring everything up to QSDK 12.1.5 in my forks, I took a lot of stuff from @Ansuel's ecm-wip branch for the initial ECM bring-up. And, of course, @robimarko's top work.
You can find everything in my forks:
I have attached some sample failing bootloops/kernel crashes etc., if we can fix these I think we're almost ready to wrap up this thing and upstream it finally:
This is when it failed with QSDK 12.0 (before I bumped them up to 12.1.5):
[ 11.192827] mtdblock: MTD device 'rootfs' is NAND, please consider using UBI block devices instead.
[ 11.198301] Unable to handle kernel read from unreadable memory at virtual address 0000000000000002
[ 11.200704] Mem abort info:
[ 11.209731] ESR = 0x96000005
[ 11.212492] EC = 0x25: DABT (current EL), IL = 32 bits
[ 11.215619] SET = 0, FnV = 0
[ 11.215995] nf_conntrack_rtsp v0.7 loading
[ 11.221086] EA = 0, S1PTW = 0
[ 11.221090] FSC = 0x05: level 1 translation fault
[ 11.221093] Data abort info:
[ 11.221095] ISV = 0, ISS = 0x00000005
[ 11.221097] CM = 0, WnR = 0
[ 11.221100] user pgtable: 4k pages, 39-bit VAs, pgdp=000000004788a000
[ 11.221104] [0000000000000002] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
[ 11.221116] Internal error: Oops: 96000005 [#1] SMP
[ 11.221121] Modules linked in: nf_conntrack_rtsp(+) nf_conntrack_pptp nf_conntrack_netlink nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast nf_conntrack_bridge ts_kmp nf_conntrack_amanda nf_conncount mhi_pci_generic mhi mdio_gpio mdio_bitbang macvlan macremapper lz4_decompress lz4_compress libchacha20poly1305 l2tp_ppp ipvlan iptable_raw iptable_nat iptable_mangle iptable_filter ipt_rpfilter ipt_ah ipt_ECN ip6table_raw ip6t_rpfilter ip_tables hwmon hid_generic ebtables ebt_vlan ebt_stp ebt_snat ebt_redirect ebt_pkttype ebt_nflog ebt_mark_m ebt_mark ebt_log ebt_limit ebt_ip6 ebt_ip ebt_dnat ebt_arpreply ebt_arp ebt_among ebt_802_3 crc_ccitt compat_xtables compat cls_flower cdc_wdm can_dev can arptable_filter arpt_mangle arp_tables act_vlan fuse sch_teql sch_sfq sch_red sch_prio sch_pie sch_multiq sch_gred sch_fq sch_dsmark sch_codel em_text em_nbyte em_meta em_cmp act_simple act_police act_pedit act_ipt act_csum em_ipset cls_bpf act_bpf act_ctinfo act_connmark
[ 11.260869] sch_tbf sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact hid evdev qca_nss_crypto qca_nss_vlan qca_nss_pppoe pppoe pppox trelay ledtrig_gpio cryptodev xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6table_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip6t_NPT ip6t_rt ip6t_mh ip6t_ipv6header ip6t_hbh ip6t_frag ip6t_eui64 ip6t_ah ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 pppoatm ppp_generic slhc bonding ip6_gre ip_gre gre ifb nat46 l2tp_ip6 l2tp_ip l2tp_eth ip6_vti ip_vti sit sctp libcrc32c qca_nss_drv l2tp_netlink l2tp_core ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 ipip
[ 11.330654] ip6_tunnel netlink_diag tunnel6 tunnel4 ip_tunnel veth tun ovpn_dco xfrm_user xfrm_ipcomp af_key xfrm_algo vfat fat udf crc_itu_t cdrom configfs autofs4 dns_resolver br2684 atm raid10 raid1 raid0 md_mod nls_utf8 nls_iso8859_1 nls_cp437 zram zsmalloc vxlan udp_tunnel ip6_udp_tunnel macsec bfq wp512 twofish_generic twofish_common tea serpent_generic khazad cast6_generic cast5_generic cast_common camellia_generic blowfish_generic blowfish_common anubis xcbc crypto_user algif_skcipher algif_rng algif_hash algif_aead af_alg seqiv rmd160 pcbc michael_mic fcrypt echainiv des_generic cts arc4 usb_storage uleds leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom uhci_hcd input_leds input_core qca_nss_dp qca_ssdk gpio_button_hotplug f2fs ext4 mbcache jbd2 exfat dm_mirror dm_region_hash dm_log dm_crypt dm_mod dax mii crc32c_generic crc32_generic encrypted_keys trusted tpm rng_core asn1_encoder
[ 11.497463] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.15.55 #0
[ 11.519698] Hardware name: Xiaomi AX3600 (DT)
[ 11.525772] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 11.530029] pc : nss_core_send_buffer+0x1230/0x2050 [qca_nss_drv]
[ 11.536800] lr : nss_core_send_buffer+0x12f4/0x2050 [qca_nss_drv]
[ 11.543049] sp : ffffffc008003d50
[ 11.549120] x29: ffffffc008003d50 x28: ffffffc000f0cd30 x27: ffffff8005261040
[ 11.552426] x26: ffffff80052a0808 x25: 000000000000007f x24: ffffffc000f0cd00
[ 11.559545] x23: 0000000000000001 x22: 0000000000000006 x21: ffffff80040e1100
[ 11.566662] x20: 0000000000000027 x19: ffffff8005261520 x18: 0000000000001000
[ 11.573781] x17: ffffffc0173dc000 x16: ffffffc008004000 x15: 0000000000004000
[ 11.580898] x14: 00000000000001e4 x13: 0000000000000001 x12: 0000000000000000
[ 11.588016] x11: ffffffc0173dc000 x10: ffffffc008003f00 x9 : ffffff801fea05b8
[ 11.595134] x8 : ffffffc008ac45b8 x7 : 2fc84fcb59b257df x6 : 57c34b4d678805c5
[ 11.602252] x5 : 70c049175a423690 x4 : 0000000000000000 x3 : 000000000000003f
[ 11.609371] x2 : 0000000000000040 x1 : 0000000000000000 x0 : 0000000000000000
[ 11.616490] Call trace:
[ 11.623598] nss_core_send_buffer+0x1230/0x2050 [qca_nss_drv]
[ 11.625861] nss_core_handle_napi_queue+0x30/0x80 [qca_nss_drv]
[ 11.631763] __napi_poll+0x38/0x180
[ 11.637488] net_rx_action+0xfc/0x284
[ 11.640962] _stext+0x10c/0x28c
[ 11.644779] irq_exit+0xbc/0x100
[ 11.647731] handle_domain_irq+0x64/0x90
[ 11.651205] gic_handle_irq+0x74/0xa0
[ 11.655111] call_on_irq_stack+0x28/0x54
[ 11.658670] do_interrupt_handler+0x54/0x60
[ 11.662664] el1_interrupt+0x30/0x50
[ 11.666569] el1h_64_irq_handler+0x18/0x24
[ 11.670389] el1h_64_irq+0x78/0x7c
[ 11.674294] arch_cpu_idle+0x18/0x2c
[ 11.677679] default_idle_call+0x20/0x70
[ 11.681412] do_idle+0x23c/0x280
[ 11.685318] cpu_startup_entry+0x24/0x60
[ 11.688530] rest_init+0xc8/0xe0
[ 11.692436] arch_call_rest_init+0x10/0x1c
[ 11.695649] start_kernel+0x6c4/0x704
[ 11.699554] __primary_switched+0xa0/0xa8
[ 11.703292] Code: 54002540 f94062a1 b940baa0 8b000020 (39400800)
[ 11.707287] ---[ end trace e0becbfc693856bb ]---
[ 11.713362] Kernel panic - not syncing: Oops: Fatal exception in interrupt
[ 11.718051] SMP: stopping secondary CPUs
[ 11.724733] Kernel Offset: disabled
[ 11.728807] CPU features: 0x00000000,00000802
[ 11.732022] Memory Limit: none
[ 12.736641] Rebooting in 1 seconds..
[ 26.967465] check_free_page_bad+0x7c/0x90
[ 26.970766] free_pcp_prepare+0x1f0/0x230
[ 26.974673] free_unref_page+0x28/0xf0
[ 26.978751] page_frag_free+0x90/0x94
[ 26.982398] skb_release_data+0x138/0x180
[ 26.986132] kfree_skb+0x40/0x9c
[ 26.990122] __dev_kfree_skb_any+0x44/0x50
[ 26.993423] nss_core_send_buffer+0x11c0/0x2050 [qca_nss_drv]
[ 26.997332] nss_core_handle_napi_queue+0x30/0x80 [qca_nss_drv]
[ 27.003149] __napi_poll+0x38/0x180
[ 27.008873] net_rx_action+0xfc/0x284
[ 27.012345] _stext+0x10c/0x28c
[ 27.016163] run_ksoftirqd+0x54/0x70
[ 27.019116] smpboot_thread_fn+0x144/0x184
[ 27.022937] kthread+0x120/0x130
[ 27.026841] ret_from_fork+0x10/0x20
[ 28.665989] BUG: Bad page state in process ksoftirqd/0 pfn:49267
[ 28.666036] page:00000000e565433c refcount:-1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x49267
[ 28.671122] flags: 0x0(zone=0)
[ 28.680307] raw: 0000000000000000 0000000000000000 fffffffe002499c8 0000000000000000
[ 28.683424] raw: 0000000000000000 0000000000000000 ffffffffffffffff 0000000000000000
[ 28.691338] page dumped because: nonzero _refcount
This is a sample of the crashes with QSDK 12.1.5r2 and the NSS 12.0 firmware:
[ 23.697089] remoteproc remoteproc0: powering up cd00000.q6v5_wcss
[ 23.703063] remoteproc remoteproc0: Booting fw image IPQ8074/q6_fw.mdt, size 668
[ 24.849381] remoteproc remoteproc0: remote processor cd00000.q6v5_wcss is now up
[ 24.850870] ath11k c000000.wifi: qmi ignore invalid mem req type 3
[ 24.851163] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 24.856395] ath11k c000000.wifi: chip_id 0x0 chip_family 0x0 board_id 0x292 soc_id 0xffffffff
[ 24.868735] ath11k c000000.wifi: fw_version 0x250a04a5 fw_build_timestamp 2021-12-20 07:09 fw_build_id WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
[ 25.280363] mtdblock: MTD device 'rootfs' is NAND, please consider using UBI block devices instead.
[ 25.385470] ip_local_port_range: prefer different parity for start/end values.
[ 25.840622] mtdblock: MTD device '0:wififw' is NAND, please consider using UBI block devices instead.
[ 25.843457] mtdblock: MTD device 'rsvd0' is NAND, please consider using UBI block devices instead.
[ 25.851877] mtdblock: MTD device 'overlay' is NAND, please consider using UBI block devices instead.
[ 25.866251] mtdblock: MTD device 'rootfs_1' is NAND, please consider using UBI block devices instead.
[ 25.869596] mtdblock: MTD device 'rootfs' is NAND, please consider using UBI block devices instead.
[ 25.878649] mtdblock: MTD device 'crash_syslog' is NAND, please consider using UBI block devices instead.
[ 25.888844] mtdblock: MTD device 'crash' is NAND, please consider using UBI block devices instead.
[ 25.902083] mtdblock: MTD device 'bdata' is NAND, please consider using UBI block devices instead.
[ 25.907032] mtdblock: MTD device '0:art' is NAND, please consider using UBI block devices instead.
[ 25.915002] mtdblock: MTD device '0:appsbl' is NAND, please consider using UBI block devices instead.
[ 25.924000] mtdblock: MTD device '0:appsblenv' is NAND, please consider using UBI block devices instead.
[ 25.933944] mtdblock: MTD device '0:cdt' is NAND, please consider using UBI block devices instead.
[ 25.944613] mtdblock: MTD device '0:rpm' is NAND, please consider using UBI block devices instead.
[ 25.952667] mtdblock: MTD device '0:devcfg' is NAND, please consider using UBI block devices instead.
[ 25.960582] mtdblock: MTD device '0:qsee' is NAND, please consider using UBI block devices instead.
[ 25.974921] mtdblock: MTD device '0:mibib' is NAND, please consider using UBI block devices instead.
[ 25.978605] mtdblock: MTD device '0:sbl1' is NAND, please consider using UBI block devices instead.
[ 26.492075] BUG: Bad page state in process ksoftirqd/0 pfn:4943c
[ 26.492123] page:00000000d9d1f632 refcount:-1 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x4943c
[ 26.497202] flags: 0x0(zone=0)
[ 26.506360] raw: 0000000000000000 0000000000000000 dead000000000122 0000000000000000
[ 26.509502] raw: 0000000000000001 0000000000000000 ffffffffffffffff 0000000000000000
[ 26.517398] page dumped because: nonzero _refcount
[ 26.525109] Modules linked in: ath11k_ahb ath11k ath10k_pci ath10k_core ath pppoe nft_fib_inet nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet mac80211 lz4 l2tp_ppp ipt_REJECT ebtable_nat ebtable_filter ebtable_broute cfg80211 xt_u32 xt_time xt_tcpudp xt_tcpmss xt_string xt_statistic xt_state xt_recent xt_quota xt_policy xt_pkttype xt_physdev xt_owner xt_nat xt_multiport xt_mark xt_mac xt_limit xt_length2 xt_length xt_ipv4options xt_iprange xt_iface xt_hl xt_helper xt_hashlimit xt_esp xt_ecn xt_dscp xt_conntrack xt_connmark xt_connlimit xt_connlabel xt_connbytes xt_condition xt_comment xt_cgroup xt_bpf xt_addrtype xt_TPROXY xt_TCPMSS xt_REDIRECT xt_PROTO xt_NFQUEUE xt_NFLOG xt_NETMAP xt_MASQUERADE xt_LOGMARK xt_LOG xt_IPMARK xt_HL xt_FLOWOFFLOAD xt_DSCP xt_DNETMAP xt_DHCPMAC xt_CT xt_CLASSIFY xt_CHECKSUM xt_ACCOUNT xfrm_interface wireguard vhci_hcd usbnet usbip_host usbip_core ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress
[ 26.525332] ums_alauda uinput ts_fsm ts_bm tcp_scalable tcp_hybla tcp_bbr sch_mqprio sch_cake qrtr_tun qrtr_smd qrtr_mhi qrtr qmi_helpers pptp pppox ppp_mppe ppp_async ns nlmon nft_tproxy nft_socket nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject_bridge nft_reject nft_redir nft_quota nft_queue nft_objref nft_numgen nft_nat nft_meta_bridge nft_masq nft_log nft_limit nft_hash nft_fwd_netdev nft_fullcone nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_dup_netdev nft_ct nft_counter nft_compat nft_chain_nat nfnetlink_queue nfnetlink_log nf_tproxy_ipv6 nf_tproxy_ipv4 nf_tables nf_socket_ipv6 nf_socket_ipv4 nf_reject_ipv4 nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_rtsp nf_nat_pptp nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat_amanda nf_log_syslog nf_flow_table nf_dup_netdev nf_conntrack_tftp nf_conntrack_snmp nf_conntrack_sip nf_conntrack_rtsp nf_conntrack_pptp nf_conntrack_netlink nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast nf_conntrack_bridge
[ 26.595088] ts_kmp nf_conntrack_amanda nf_conncount mhi_pci_generic mhi mdio_gpio mdio_bitbang macvlan macremapper lz4_decompress lz4_compress libchacha20poly1305 ipvlan iptable_raw iptable_nat iptable_mangle iptable_filter ipt_rpfilter ipt_ah ipt_ECN ip6table_raw ip6t_rpfilter ip_tables hwmon hid_generic ebtables ebt_vlan ebt_stp ebt_snat ebt_redirect ebt_pkttype ebt_nflog ebt_mark_m ebt_mark ebt_log ebt_limit ebt_ip6 ebt_ip ebt_dnat ebt_arpreply ebt_arp ebt_among ebt_802_3 crc_ccitt compat_xtables compat cls_flower cdc_wdm can_dev can arptable_filter arpt_mangle arp_tables act_vlan fuse sch_teql sch_sfq sch_red sch_prio sch_pie sch_multiq sch_gred sch_fq sch_dsmark sch_codel em_text em_nbyte em_meta em_cmp act_simple act_police act_pedit act_ipt act_csum em_ipset cls_bpf act_bpf act_ctinfo act_connmark sch_tbf sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact hid evdev qca_nss_crypto trelay
[ 26.682369] ledtrig_gpio cryptodev xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6table_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip6t_NPT ip6t_rt ip6t_mh ip6t_ipv6header ip6t_hbh ip6t_frag ip6t_eui64 ip6t_ah ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 pppoatm ppp_generic slhc bonding ip6_gre ip_gre gre ifb nat46 l2tp_ip6 l2tp_ip l2tp_eth ip6_vti ip_vti sit sctp libcrc32c qca_nss_drv l2tp_netlink l2tp_core ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 ipip ip6_tunnel netlink_diag tunnel6 tunnel4 ip_tunnel veth tun ovpn_dco xfrm_user xfrm_ipcomp af_key xfrm_algo vfat fat udf crc_itu_t cdrom configfs autofs4 dns_resolver br2684 atm raid10 raid1 raid0 md_mod nls_utf8
[ 26.768992] nls_iso8859_1 nls_cp437 zram zsmalloc vxlan udp_tunnel ip6_udp_tunnel macsec bfq wp512 twofish_generic twofish_common tea serpent_generic khazad cast6_generic cast5_generic cast_common camellia_generic blowfish_generic blowfish_common anubis xcbc crypto_user algif_skcipher algif_rng algif_hash algif_aead af_alg seqiv rmd160 pcbc michael_mic fcrypt echainiv des_generic cts arc4 usb_storage uleds leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom uhci_hcd input_leds input_core qca_nss_dp qca_ssdk gpio_button_hotplug f2fs ext4 mbcache jbd2 exfat dm_mirror dm_region_hash dm_log dm_crypt dm_mod dax mii crc32c_generic crc32_generic encrypted_keys trusted tpm rng_core asn1_encoder
[ 26.916947] CPU: 0 PID: 11 Comm: ksoftirqd/0 Tainted: G B 5.15.55 #0
[ 26.939177] Hardware name: Xiaomi AX3600 (DT)
[ 26.946637] Call trace:
[ 26.951145] dump_backtrace+0x0/0x1a4
[ 26.953406] show_stack+0x18/0x2c
[ 26.957223] dump_stack_lvl+0x6c/0x88
[ 26.960523] dump_stack+0x18/0x34
[ 26.964168] bad_page+0xe0/0x110
[ 26.967465] check_free_page_bad+0x7c/0x90
[ 26.970766] free_pcp_prepare+0x1f0/0x230
[ 26.974673] free_unref_page+0x28/0xf0
[ 26.978751] page_frag_free+0x90/0x94
[ 26.982398] skb_release_data+0x138/0x180
[ 26.986132] kfree_skb+0x40/0x9c
[ 26.990122] __dev_kfree_skb_any+0x44/0x50
[ 26.993423] nss_core_send_buffer+0x11c0/0x2050 [qca_nss_drv]
[ 26.997332] nss_core_handle_napi_queue+0x30/0x80 [qca_nss_drv]
[ 27.003149] __napi_poll+0x38/0x180
[ 27.008873] net_rx_action+0xfc/0x284
[ 27.012345] _stext+0x10c/0x28c
[ 27.016163] run_ksoftirqd+0x54/0x70
[ 27.019116] smpboot_thread_fn+0x144/0x184
[ 27.022937] kthread+0x120/0x130
[ 27.026841] ret_from_fork+0x10/0x20
[ 28.665989] BUG: Bad page state in process ksoftirqd/0 pfn:49267
[ 28.666036] page:00000000e565433c refcount:-1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x49267
[ 28.671122] flags: 0x0(zone=0)
[ 28.680307] raw: 0000000000000000 0000000000000000 fffffffe002499c8 0000000000000000
[ 28.683424] raw: 0000000000000000 0000000000000000 ffffffffffffffff 0000000000000000
[ 28.691338] page dumped because: nonzero _refcount
[ 28.699060] Modules linked in: ath11k_ahb ath11k ath10k_pci ath10k_core ath pppoe nft_fib_inet nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet mac80211 lz4 l2tp_ppp ipt_REJECT ebtable_nat ebtable_filter ebtable_broute cfg80211 xt_u32 xt_time xt_tcpudp xt_tcpmss xt_string xt_statistic xt_state xt_recent xt_quota xt_policy xt_pkttype xt_physdev xt_owner xt_nat xt_multiport xt_mark xt_mac xt_limit xt_length2 xt_length xt_ipv4options xt_iprange xt_iface xt_hl xt_helper xt_hashlimit xt_esp xt_ecn xt_dscp xt_conntrack xt_connmark xt_connlimit xt_connlabel xt_connbytes xt_condition xt_comment xt_cgroup xt_bpf xt_addrtype xt_TPROXY xt_TCPMSS xt_REDIRECT xt_PROTO xt_NFQUEUE xt_NFLOG xt_NETMAP xt_MASQUERADE xt_LOGMARK xt_LOG xt_IPMARK xt_HL xt_FLOWOFFLOAD xt_DSCP xt_DNETMAP xt_DHCPMAC xt_CT xt_CLASSIFY xt_CHECKSUM xt_ACCOUNT xfrm_interface wireguard vhci_hcd usbnet usbip_host usbip_core ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress
[ 28.699292] ums_alauda uinput ts_fsm ts_bm tcp_scalable tcp_hybla tcp_bbr sch_mqprio sch_cake qrtr_tun qrtr_smd qrtr_mhi qrtr qmi_helpers pptp pppox ppp_mppe ppp_async ns nlmon nft_tproxy nft_socket nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject_bridge nft_reject nft_redir nft_quota nft_queue nft_objref nft_numgen nft_nat nft_meta_bridge nft_masq nft_log nft_limit nft_hash nft_fwd_netdev nft_fullcone nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_dup_netdev nft_ct nft_counter nft_compat nft_chain_nat nfnetlink_queue nfnetlink_log nf_tproxy_ipv6 nf_tproxy_ipv4 nf_tables nf_socket_ipv6 nf_socket_ipv4 nf_reject_ipv4 nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_rtsp nf_nat_pptp nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat_amanda nf_log_syslog nf_flow_table nf_dup_netdev nf_conntrack_tftp nf_conntrack_snmp nf_conntrack_sip nf_conntrack_rtsp nf_conntrack_pptp nf_conntrack_netlink nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast nf_conntrack_bridge
[ 28.769023] ts_kmp nf_conntrack_amanda nf_conncount mhi_pci_generic mhi mdio_gpio mdio_bitbang macvlan macremapper lz4_decompress lz4_compress libchacha20poly1305 ipvlan iptable_raw iptable_nat iptable_mangle iptable_filter ipt_rpfilter ipt_ah ipt_ECN ip6table_raw ip6t_rpfilter ip_tables hwmon hid_generic ebtables ebt_vlan ebt_stp ebt_snat ebt_redirect ebt_pkttype ebt_nflog ebt_mark_m ebt_mark ebt_log ebt_limit ebt_ip6 ebt_ip ebt_dnat ebt_arpreply ebt_arp ebt_among ebt_802_3 crc_ccitt compat_xtables compat cls_flower cdc_wdm can_dev can arptable_filter arpt_mangle arp_tables act_vlan fuse sch_teql sch_sfq sch_red sch_prio sch_pie sch_multiq sch_gred sch_fq sch_dsmark sch_codel em_text em_nbyte em_meta em_cmp act_simple act_police act_pedit act_ipt act_csum em_ipset cls_bpf act_bpf act_ctinfo act_connmark sch_tbf sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact hid evdev qca_nss_crypto trelay
[ 28.856284] ledtrig_gpio cryptodev xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6table_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip6t_NPT ip6t_rt ip6t_mh ip6t_ipv6header ip6t_hbh ip6t_frag ip6t_eui64 ip6t_ah ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 pppoatm ppp_generic slhc bonding ip6_gre ip_gre gre ifb nat46 l2tp_ip6 l2tp_ip l2tp_eth ip6_vti ip_vti sit sctp libcrc32c qca_nss_drv l2tp_netlink l2tp_core ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 ipip ip6_tunnel netlink_diag tunnel6 tunnel4 ip_tunnel veth tun ovpn_dco xfrm_user xfrm_ipcomp af_key xfrm_algo vfat fat udf crc_itu_t cdrom configfs autofs4 dns_resolver br2684 atm raid10 raid1 raid0 md_mod nls_utf8
[ 28.942904] nls_iso8859_1 nls_cp437 zram zsmalloc vxlan udp_tunnel ip6_udp_tunnel macsec bfq wp512 twofish_generic twofish_common tea serpent_generic khazad cast6_generic cast5_generic cast_common camellia_generic blowfish_generic blowfish_common anubis xcbc crypto_user algif_skcipher algif_rng algif_hash algif_aead af_alg seqiv rmd160 pcbc michael_mic fcrypt echainiv des_generic cts arc4 usb_storage uleds leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom uhci_hcd input_leds input_core qca_nss_dp qca_ssdk gpio_button_hotplug f2fs ext4 mbcache jbd2 exfat dm_mirror dm_region_hash dm_log dm_crypt dm_mod dax mii crc32c_generic crc32_generic encrypted_keys trusted tpm rng_core asn1_encoder
[ 29.090860] CPU: 0 PID: 11 Comm: ksoftirqd/0 Tainted: G B 5.15.55 #0
[ 29.113090] Hardware name: Xiaomi AX3600 (DT)
[ 29.120548] Call trace:
[ 29.125056] dump_backtrace+0x0/0x1a4
[ 29.127317] show_stack+0x18/0x2c
[ 29.131135] dump_stack_lvl+0x6c/0x88
[ 29.134436] dump_stack+0x18/0x34
[ 29.138080] bad_page+0xe0/0x110
[ 29.141378] check_free_page_bad+0x7c/0x90
[ 29.144679] free_pcp_prepare+0x1f0/0x230
[ 29.148585] free_unref_page+0x28/0xf0
[ 29.152665] page_frag_free+0x90/0x94
[ 29.156311] skb_release_data+0x138/0x180
[ 29.160043] kfree_skb+0x40/0x9c
[ 29.164034] __dev_kfree_skb_any+0x44/0x50
[ 29.167335] nss_core_send_buffer+0x11c0/0x2050 [qca_nss_drv]
[ 29.171245] nss_core_handle_napi_queue+0x30/0x80 [qca_nss_drv]
[ 29.177060] __napi_poll+0x38/0x180
[ 29.182785] net_rx_action+0xfc/0x284
[ 29.186258] _stext+0x10c/0x28c
[ 29.190075] run_ksoftirqd+0x54/0x70
[ 29.193028] smpboot_thread_fn+0x144/0x184
[ 29.196848] kthread+0x120/0x130
[ 29.200753] ret_from_fork+0x10/0x20
[ 34.806578] nss-dp 3a001200.dp2 eth0: Data plane vsi assign failed
[ 37.846580] nss-dp 3a001400.dp3 eth1: Data plane vsi assign failed
[ 40.886575] nss-dp 3a001600.dp4 eth2: Data plane vsi assign failed
[ 43.926580] nss-dp 3a001800.dp5 eth3: Data plane vsi assign failed
[ 44.907413] ath10k_pci 0000:01:00.0: 10.1 wmi init: vdevs: 16 peers: 127 tid: 256
[ 44.954793] ath10k_pci 0000:01:00.0: pdev param 0 not supported by firmware
[ 51.286582] nss-dp 3a001800.dp5 eth3: Data plane vsi assign failed
[ 57.366577] nss-dp 3a001600.dp4 eth2: Data plane vsi assign failed
[ 63.446588] nss-dp 3a001400.dp3 eth1: Data plane vsi assign failed
[ 69.526578] nss-dp 3a001200.dp2 eth0: Data plane vsi assign failed
[ 72.867500] ath10k_pci 0000:01:00.0: 10.1 wmi init: vdevs: 16 peers: 127 tid: 256
[ 72.915150] ath10k_pci 0000:01:00.0: pdev param 0 not supported by firmware
I will try to debug more (perhaps revert @Ansuel's NAPI TX/RX stuff initially), but this device is my daily driver for months now, so it's a bit inconvenient to test.. without my girlfriend shouting at me that the internet is down or the IoT crap around the house not working.. Was planning to buy the AX9000 for dev stuff, but from what I saw you guys are still having MAJOR issues with it and it's not properly usable as a daily driver.
At https://github.com/robimarko/nss-packages/commits/main please revert to:
nss-dp: Support "phy-handle" properties for PHY connection
An try with that to see if it fixes your random crashes. The NAPI part definitely needs more works, and even with the GRO patches, I see some slight speed degradation on PPPoE.
Just replaced the powe plug... It's incredible that it's the same exact pin placement just smaller hole... Why Xiaomi...
It is incredible this practice is not banned in law... If we can standardize phone chargers, this can also be standardized. Type-C and problem solved.
Same for me: the July 8th (7298666) commit broke WDS on ath11k.
Reverting that frame_mode=2 change by building 6c6174c instead restored functionality.
I can get logs or try any experiment that might help - just ask.
This is the result
Pretty good IMHO and I can use the godzillion power supply I already have instead of the Xiaomi one with us plug+adapter -.-'''
It was easy enough to enlarge the hole for a bigger plug.
Can I ask why? Is there a problem with the factory power supply/plug?
Yes the plug is not standard and if you buy the Chinese variant they give you us power supply+universal adapter....
It's to avoid using the US power adapter, plus he already had a big plug PSU, he just needed a big hole to fit it.
@Ansuel you probably already saw it but Kalle asked you to report the crash issue with new firmware to the Kernel bug tracker so they can keep better track of it
https://lore.kernel.org/ath11k/87fsiysp1y.fsf@kernel.org/T/#t
I know I know trying to find time during holiday times
The Xiaomi PSU (with its cheap europlug adapter) is everything but good (aside from its power efficiency), at least I don't really appreciate sparks flying when (un-)plugging a PSU from the power socket…
--
although lazy/ overly cautious /me
would rather replace the barrel plug on the PSU side, than 'needlessly' soldering on the router PCB. But I certainly see why having common sockets would be appreciated, especially for those of us (me included) who habitually tend to switch out and test different devices.
Be careful that international version of ax9000 seems have enabled secure boot. You may need to buy a Chinese version.
Once I have installed Ansuel pre release image, https://github.com/Ansuel/openwrt/releases/tag/ipq807x-2022-05-20, which patches do I need to install for memory leak etc.?
PS. I tried to create the image from source, but encouraged an error regarding kmod-crypto-chacha20poly1305. This seems to be an known issue with Openwrt image build.
I appreciate your work very much, is there any possibility of Openwrt support for Zyxel Armor G5? It uses the same processor and wifi as hardware.
That can only be answered after someone with that device starts working on it (maybe you?). The specifications are looking promising, but the vendor might have intentionally made it hard or impossible (secure boot).
I assume zyxel leaved the uboot serial open
All Zyxel stuff I owned so far was absolutely open, the latest addition to my Zyxel zoo was a nbg6617 with ipq401x
My firmware that use WiFi offload still require some work... If you want a stable firm with no memory leak pls use Robi one