VIM3 linux 5.15 fail to build module

i made USB drive with balena, this is boot log, nothing more
scanning bus 0 for devices… 6 USB Device(s) found
scanning usb for storage devices… init_part() 282: PART_TYPE_DOS
1 Storage Device(s) found

USB device 0:
Device 0: Vendor: Generic Rev: 8.07 Prod: Flash Disk
Type: Removable Hard Disk
Capacity: 30000.0 MB = 29.2 GB (61440000 x 512)
… is now current device
1 2
Scanning usb 0:1…
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
222 bytes read in 268 ms (0 Bytes/s)
Retrieving file: /splash.bmp
1: Default
Enter choice: 1: Default
Retrieving file: /initrd.img
20422813 bytes read in 1317 ms (14.8 MiB/s)
Retrieving file: /Image
34941440 bytes read in 175372 ms (194.3 KiB/s)
Retrieving file: /dtb/amlogic/kvim3.dtb
107984 bytes read in 663 ms (158.2 KiB/s)
Retrieving file: /dtb/amlogic/kvim3.dtb.overlay.env
14 bytes read in 917 ms (0 Bytes/s)
WARNING: ‘fdt_overlays_dir’ neither in running nor in imported env!
MIPI LCD not exist, disable lcd & touch panel nodes.
Setup PCIe/USB3.0 mode to PCIe.
Retrieving file: /uEnv.txt
540 bytes read in 314 ms (1000 Bytes/s)
Import user vars: /uEnv.txt 540 bytes
append: root=UUID=8e0ff850-be55-4a8c-9e6a-f4b78232a7e5 rootflags=data=writeback rw rootfstype=ext4 loglevel=4 no_console_suspend earlycon=aml-uart,0xff803000 ramoops.pstore_en=1 ramoops.record
load dtb from 0x1000000 …

Flattened Device Tree blob at 20000000

Booting using the fdt blob at 0x20000000
remove env:hdr_policy=0
remove env:hdr_priority=
remove env:lcd_debug=0x00000000
remove env:dolby_vision_on=0
remove env:osd_reverse=0
reserving fdt memory region: addr=20000000 size=1b000
Loading Ramdisk to 3d485000, end 3e7ff09d … OK
Loading Device Tree to 000000001ffe2000, end 000000001fffffff … OK
fdt_fixup_memory_banks, reg:0000000000000000
Enable kaslr

Starting kernel …

uboot time: 191518413 us
[ 0.000000][0 T0 …] 07400000 - 07500000, 1024 KB, ramoops@0x07400000
[ 0.000000][0 T0 …] 04f00000 - 05000000, 1024 KB, linux,iotrace
[ 0.000000][0 T0 …] 04e00000 - 04f00000, 1024 KB, linux,defendkey
[ 0.000000][0 T0 …] 3e800000 - 3f000000, 8192 KB, linux,meson-fb
[ 0.000000][0 T0 …] 78000000 - 80000000, 131072 KB, linux,isp_cma
[ 0.000000][0 T0 …] 05000000 - 05400000, 4096 KB, linux,secmon
[ 0.000000][0 T0 …] 74000000 - 78000000, 65536 KB, linux,adapt_cma
[ 0.000000][0 T0 …] 61400000 - 74000000, 307200 KB, heap-gfx
[ 0.000000][0 T0 …] 5fc00000 - 61400000, 24576 KB, linux,ge2d_cma
[ 0.000000][0 T0 …] 5fc00000 - 5fc00000, 0 KB, linux,ppmgr
[ 0.000000][0 T0 …] 4c800000 - 5fc00000, 315392 KB, linux,codec_mm_cma
[ 0.000000][0 T0 …] 4b400000 - 4c800000, 20480 KB, linux,vdin1_cma
[ 0.000000][0 T0 …] Virtual kernel memory layout:
[ 0.000000][0 T0 …] modules : 0xffffffc000000000 - 0xffffffc008000000 ( 128 MB)
[ 0.000000][0 T0 …] vmalloc : 0xffffffc008000000 - 0xfffffffdf0000000 ( 247 GB)
[ 0.000000][0 T0 …] .text : 0xffffffe208010000 - 0xffffffe208fc0000 ( 16064 KB) 0x10000
[ 0.000000][0 T0 …] .rodata : 0xffffffe208fc0000 - 0xffffffe2099b0000 ( 10176 KB) 0xfc0000
[ 0.000000][0 T0 …] .init : 0xffffffe2099b0000 - 0xffffffe209c80000 ( 2880 KB) 0xfc0000
[ 0.000000][0 T0 …] .data : 0xffffffe209c80000 - 0xffffffe20a162a00 ( 5003 KB) 0x1c80000
[ 0.000000][0 T0 …] .bss : 0xffffffe20a163000 - 0xffffffe20a2f3601 ( 1602 KB) 0x2163000
[ 0.000000][0 T0 …] fixed : 0xfffffffdfdbf9000 - 0xfffffffdfe000000 ( 4124 KB)
[ 0.000000][0 T0 …] PCI I/O : 0xfffffffdfe800000 - 0xfffffffdff800000 ( 16 MB)
[ 0.000000][0 T0 …] vmemmap : 0xfffffffe00000000 - 0xffffffff00000000 ( 4 GB maximum)
[ 0.000000][0 T0 …] 0xfffffffe00000000 - 0xfffffffe02000000 ( 32 MB actual)
[ 0.000000][0 T0 …] memory : 0xffffff8000000000 - 0xffffff8080000000 ( 2048 MB) 0x0
[ 0.000000][0 T0 …] offset : 0x2200010000
[ 0.000000][0 T0 …] [freertos]: rtos_reserved device node find error
[ 1.527943][5 T1 …] slab_trace_module_init, create slabtrace failed
[ 2.590535][4 T124 …] [memory-debug]: call ramdump_init() ret=-19
[ 2.659858][5 T135 …] [mailbox]: mbox_pl_parse_dt 13
[ 2.685329][5 T131 …] [efuse-unifykey]: can’t get efuse_pattern_size, use default size0x400
[ 2.688351][5 T131 …] efuse efuse: can’t get reg resource
[ 2.694709][5 T131 …] [efuse-unifykey]: failed to find match efuse key
[ 2.734578][2 T10 …] dw-pcie fc000000.pcie: IRQ index 1 not found
[ 2.763615][2 T134 d.] genirq: Setting trigger mode 3 for irq 76 failed (meson_gpio_irq_set_type+0x0/0x170 [amlogic_gpio])
[ 2.831320][3 T136 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 2.832658][3 T136 …] [input]: mbox chan is NULL
[ 2.839799][4 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 2.845606][4 T10 …] [input]: mbox chan is NULL
[ 2.851338][4 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 2.856257][4 T10 …] [input]: mbox chan is NULL
[ 3.091441][2 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.091591][4 T124 …] now in codec_mm_module_init
[ 3.092785][2 T10 …] [input]: mbox chan is NULL
[ 3.104038][3 T124 …] [tee]: tee_protect_mem open context failed
[ 3.109816][4 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.109821][4 T10 …] [input]: mbox chan is NULL
[ 3.121656][1 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.121701][3 T124 …] error: vout_meas_ctrl_init_dft: get fclk_div5 err!
[ 3.127670][1 T10 …] [input]: mbox chan is NULL
[ 3.142394][5 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.146281][5 T10 …] [input]: mbox chan is NULL
[ 3.198525][5 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.199862][5 T10 …] [input]: mbox chan is NULL
[ 3.207905][2 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.211760][2 T10 …] [input]: mbox chan is NULL
[ 3.346827][2 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.348158][2 T10 …] [input]: mbox chan is NULL
[ 3.353573][2 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.354096][4 T124 …] error: dummy_venc_clktree_probe: ret=0x8
[ 3.359981][2 T10 …] [input]: mbox chan is NULL
[ 3.371415][2 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.377808][2 T10 …] [input]: mbox chan is NULL
[ 3.382658][4 T124 …] vout: error: aml_vout_get_dt_info: can’t get vsync irq
[ 3.390597][5 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.396902][5 T10 …] [input]: mbox chan is NULL
[ 3.402339][5 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.408665][5 T10 …] [input]: mbox chan is NULL
[ 3.414144][3 T124 …] amlogic_heap_secure_dma_buf_init: heap-secure not added in dts.
[ 3.414223][5 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.428670][5 T10 …] [input]: mbox chan is NULL
[ 3.431783][4 T124 …] vdin0 get fclk_div5 err
[ 3.431791][4 T124 …] vdin_drv_probe: vdin0 cannot get msr clk !!!
[ 3.431795][4 T124 …] vpu: vpu: error: vpu_vmod_mem_pd_get: invalid vpu mod: 72
[ 3.432696][4 T124 …] vdin1 get fclk_div5 err
[ 3.432705][4 T124 …] vdin_drv_probe: vdin1 cannot get msr clk !!!
[ 3.433284][4 T124 …] cur_dev->prevsync_support=0
[ 3.433872][4 T124 …] create amvideo_poll attribute (null) fail
[ 3.433976][5 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.433980][5 T10 …] [input]: mbox chan is NULL
[ 3.488661][4 T124 …] video_composer_module_init_1
[ 3.488847][5 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.497753][5 T10 …] [input]: mbox chan is NULL
[ 3.498181][5 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.509550][5 T10 …] [input]: mbox chan is NULL
[ 3.526792][5 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.528120][5 T10 …] [input]: mbox chan is NULL
[ 3.534890][3 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.539932][3 T10 …] [input]: mbox chan is NULL
[ 3.545215][4 T124 …] no match support_4k for amlvideo2.0, disable as default
[ 3.552344][4 T124 …] no match support_4k for amlvideo2.1, disable as default
[ 3.552730][2 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.566452][2 T10 …] [input]: mbox chan is NULL
[ 3.571865][2 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.573085][4 T124 …] di_multi multi-di: IRQ aisr_irq not found
[ 3.578252][2 T10 …] [input]: mbox chan is NULL
[ 3.585001][4 T124 …] vpu: vpu: error: vpu_vmod_mem_pd_get: invalid vpu mod: 72
[ 3.597821][5 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.603717][5 T10 …] [input]: mbox chan is NULL
[ 3.608602][2 T124 …] cectx ff80023c.aocec: mbox_request_channel_byname() requires an “mbox-names” property
[ 3.618534][2 T124 …] cectx ff80023c.aocec: Not find mbox channel byname
[ 3.629176][3 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.632403][3 T10 …] [input]: mbox chan is NULL
[ 3.638012][3 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.644175][3 T10 …] [input]: mbox chan is NULL
[ 3.650441][3 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.655970][3 T10 …] [input]: mbox chan is NULL
[ 3.662049][2 T154 …] mbox chan is NULL
[ 3.664881][2 T154 …] mbox chan is NULL
[ 3.678635][3 T10 …] adc_keypad adc_keypad: Not find mbox channel byidx
[ 3.679976][3 T10 …] [input]: mbox chan is NULL
[ 3.710583][2 T124 …] [thermal]: thermal: register cpucore failed
[ 3.711345][2 T124 …] [thermal]: thermal: register cpucore failed
[ 3.717720][2 T124 …] [thermal]: thermal: read num_of_pp failed
[ 3.727771][4 T120 …] [usb]: call amlogic_new_c2_usb2_v2_driver_init() ret=-1
[ 3.731199][4 T120 …] [usb]: call amlogic_new_c2_usb3_v2_driver_init() ret=-1
[ 3.738531][4 T120 …] [usb]: call amlogic_cc_driver_init() ret=-1
[ 3.744854][4 T120 …] [usb]: call amlogic_bc_driver_init() ret=-1
[ 3.751869][4 T120 …] amlogic-new-usb3-v2 ffe09080.usb3phy: This is normal phy
[ 3.759221][5 T10 …] amlogic-new-usb2-v2 ffe09000.usb2phy: Not usb-phy-trim-reg
[ 3.766278][5 T10 …] amlogic-new-usb2-v2 ffe09000.usb2phy: Not usb-phy-trim-reg
[ 3.774586][5 T10 …] amlogic-new-usb2-v2 ffe09000.usb2phy: Not usb-phy-trim-reg
[ 3.781543][5 T10 …] amlogic-new-usb2-v2 ffe09000.usb2phy: Not usb-phy-trim-reg
[ 3.799393][4 T120 …] [drm:meson_of_init [aml_drm]] ERROR osd_ver parser failed, need fix it!!
[ 3.803429][2 T120 …] [hdmitx:] ERROR meson_hdmitx_bind hdmi [0]
[ 3.810135][2 T120 …] meson_dummyl_bind dummyl[0]
[ 3.815467][2 T120 …] [drm:meson_hdmitx_atomic_check [aml_drm]] ERROR hdmitx_on changed, force modeset.
[ 3.824389][2 T120 …] [hdmitx:] ERROR Should run disable_mode before enable new mode.
[ 3.832383][2 T120 …] [drm:meson_hdmitx_update_hdcp [aml_drm]] ERROR meet stopped hdcp stat
[ 3.832780][5 T125 …] meson8b-dwmac ff3f0000.ethernet: Not find mbox channel byidx
[ 3.841013][2 T120 …] [drm:meson_hdmitx_update_hdcp [aml_drm]] ERROR No valid hdcp mode exit, maybe hdcp havenot init.
[ 3.946875][3 T120 …] [drm:meson_osd_plane_async_check [aml_drm]] ERROR osd0 plane info changed
[ 6.803059][4 T54 …] usb usb1-port1: connect-debounce failed
[ 7.102674][2 T336 …] [drm:meson_osd_plane_async_check [aml_drm]] ERROR osd0 plane info changed
[ 35.038126][2 T55 …] [drm:meson_hdmitx_update_hdcp [aml_drm]] ERROR meet stopped hdcp stat
[ 35.041982][2 T55 …] [drm:meson_hdmitx_update_hdcp [aml_drm]] ERROR No valid hdcp mode exit, maybe hdcp havenot init.

In default case, when you insert sd card, it will boot from sd. If sbc always boot from emmc, you can also erase emmc in uboot.

The specific steps you can refer to Khadas document. The document device is VIM3L, but VIM3 is the same.
https://docs.khadas.com/products/sbc/vim3/development/erase-emmc

Good news!! this helped (hot unplug after 15%), booted from SD successfully. Thanks a lot.
Another problem that happened in 4.9 and now… may be you can help.
In armbian 5.* it works, but i want your Ubuntu because of hardware support.
problem is
[ 1157.236789] ath10k 5.15 driver, optimized for CT firmware, probing pci device: 0x56.
[ 1157.240227] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[ 1157.351540] ath10k_pci 0000:01:00.0: qca9888 hw2.0 target 0x01000000 chip_id 0x00000000 sub 0000:0000
[ 1157.351556] ath10k_pci 0000:01:00.0: kconfig debug 1 debugfs 1 tracing 1 dfs 0 testmode 0
[ 1157.351634] ath10k_pci 0000:01:00.0: firmware ver 10.4b-ct-9888-tW-14-6367029e3 api 5 features mfp,peer-flow-ctrl,peer-fixed-rate,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,no-bmiss-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 3a8c212d
[ 1158.817997] ath10k_pci 0000:01:00.0: Loading BDF type 0
[ 1158.818052] ath10k_pci 0000:01:00.0: board_file api 2 bmi_id 0:16 crc32 ae4cbea5
[ 1161.615485] ath10k_pci 0000:01:00.0: 10.4 wmi init: vdevs: 16 peers: 48 tid: 96
[ 1161.615500] ath10k_pci 0000:01:00.0: msdu-desc: 2500 skid: 32
[ 1161.660046] ath10k_pci 0000:01:00.0: wmi print ‘ChipType 1204 ChipTypeID 0 BoardID 10 P 48/48 V 16 K 144 PH 176 T 186 msdu-desc: 2500 sw-crypt: 0 ct-sta: 0’
[ 1161.660789] ath10k_pci 0000:01:00.0: wmi print ‘free: 151188 iram: 11636 sram: 58224’
[ 1161.788856] ath10k_pci 0000:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal otp max-sta 32 raw 0 hwcrypto 1
[ 1161.952097] ath: EEPROM regdomain: 0x0
[ 1161.952110] ath: EEPROM indicates default country code should be used
[ 1161.952112] ath: doing EEPROM country->regdmn map search
[ 1161.952114] ath: country maps to regdmn code: 0x3a
[ 1161.952116] ath: Country alpha2 being used: US
[ 1161.952118] ath: Regpair used: 0x3a
[ 1161.952309] ------------[ cut here ]------------
[ 1161.952311] WARNING: CPU: 3 PID: 4329 at net/wireless/core.c:631 wiphy_register+0x3ec/0x970 [cfg80211]
[ 1161.952398] Modules linked in: ath10k_pci(E) ath10k_core(E) ath(E) mac80211(E) galcore(E) amlogic_vpu(E) amlogic_jpegenc(E) amlogic_encoder(E) media_sync(E) amvdec_avs2_fb_v4l(E) amvdec_mavs_v4l(E) amvdec_avs2_v4l(E) amvdec_avs3_v4l(E) zram(E) amvdec_av1_v4l(E) amvdec_av1(E) amvdec_mavs(E) amvdec_avs2(E) amvdec_vp9_v4l(E) amvdec_vp9(E) amvdec_vc1(E) amvdec_mmpeg4_v4l(E) amvdec_mmpeg4(E) amvdec_mmpeg12_v4l(E) amvdec_mmpeg12(E) amvdec_mmjpeg_v4l(E) amvdec_mmjpeg(E) amvdec_h265_v4l(E) amvdec_h265(E) amvdec_h264mvc(E) amvdec_mh264_v4l(E) dhd(E) mousedev(E) amvdec_mh264(E) video_framerate_adapter(E) v4l2_fwnode(E) usbhid(E) amlogic_snd_codec_ad82128(E) amlogic_snd_codec_tas5805(E) amlogic_snd_codec_tas5707(E) amlogic_snd_codec_tl1(E) amlogic_snd_codec_t9015(E) amlogic_snd_codec_dummy(E) amlogic_jtag(E) amvdec_ports(E) amlogic_led(E) cfg80211(E) amlogic_socinfo(E) stream_input(E) pts_server(E) amlogic_dvb_ci(E) decoder_common(E) amlogic_dvb_demux(E) amlogic_audio_utils(E)
[ 1161.952464] i2c_dev(E) firmware(E) dwmac_dwc_qos_eth(E) media_clock(E) dwmac_meson(E) joydev(E) khadas_mcu(E) system_heap(E) gpio_regulator(E) ntfs3(E) mali_kbase(E) amlogic_snd_soc(E) zsmalloc(E) dwc_otg(E) sha1_ce(E) amlogic_rtc(E) amlogic_pcie_v2_host(E) iv009_isp_g12b(E) iv009_isp_sensor_g12b(E) iv009_isp_lens_g12b(E) iv009_isp_iq_g12b(E) amlogic_wireless(E) v4l2_async(E) amlogic_crypto_dma(E) ip_tables(E) x_tables(E) autofs4(E) dwmac_meson8b(E) stmmac_platform(E) aml_drm(E) amlogic_mdio_g12a(E) stmmac(E) mdio_mux(E) amlogic_inphy(E) amlogic_phy_debug(E) amlogic_irblaster(E) amlogic_usb(E) amlogic_thermal(E) amlogic_adc(E) amlogic_camera(E) aml_media(E) amlogic_dvb(E) amlogic_watchdog(E) amlogic_input(E) amlogic_pm(E) dvb_core(E) videobuf_core(E) amlogic_tee(E) tee(E) amlogic_rng(E) amlogic_spi(E) gpio_pca953x(E) amlogic_i2c(E) amlogic_mmc(E) cqhci(E) amlogic_efuse_unifykey(E) amlogic_cpufreq(E) amlogic_cpuinfo(E) amlogic_power(E) amlogic_reset(E) pwm_regulator(E)
[ 1161.952553] amlogic_pwm(E) amlogic_mailbox(E) amlogic_pinctrl_soc_g12a(E) amlogic_gpio(E) amlogic_aoclk_g12a(E) amlogic_clk_soc_g12a(E) amlogic_clk(E) amlogic_secmon(E) amlogic_memory_debug(E) amlogic_debug(E) page_trace(E) pcs_xpcs(E) amlogic_hwspinlock(E) amlogic_debug_iotrace(E) amlogic_gkitool(E) [last unloaded: ath]
[ 1161.952575] CPU: 3 PID: 4329 Comm: kworker/u12:1 Tainted: G W E 5.15.119 #1.6.5
[ 1161.952580] Hardware name: Khadas VIM3 (DT)
[ 1161.952583] Workqueue: ath10k_wq ath10k_core_register_work [ath10k_core]
[ 1161.952626] pstate: 40400005 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=–)
[ 1161.952630] pc : wiphy_register+0x3ec/0x970 [cfg80211]
[ 1161.952687] lr : ieee80211_register_hw+0x7f8/0xc8c [mac80211]
[ 1161.952771] sp : ffffffc00f1bbb80
[ 1161.952773] x29: ffffffc00f1bbb80 x28: ffffff8011b2cf00 x27: 00000000000000c0
[ 1161.952778] x26: 0000000000000001 x25: 0000000000000001 x24: 000000000000001b
[ 1161.952783] x23: 0000000000000008 x22: 0000000000000006 x21: 0000000000000006
[ 1161.952787] x20: ffffff80147c0000 x19: ffffff80147c0560 x18: 0000000000000014
[ 1161.952791] x17: 000000000f331311 x16: 000000001565d20b x15: 000000002921cf87
[ 1161.952796] x14: 000000009b137238 x13: 0000000000000000 x12: 0000000000000208
[ 1161.952800] x11: 0000000080cc478a x10: 0000000000000020 x9 : 0000000000000001
[ 1161.952804] x8 : 0000000000000020 x7 : 0000000000000010 x6 : 000000000000008c
[ 1161.952808] x5 : 0000000000000001 x4 : ffffff80147c2c48 x3 : ffffff8014ce6dd0
[ 1161.952813] x2 : ffffff8014ce6dd0 x1 : 0000000000000002 x0 : ffffff80147c2bf0
[ 1161.952818] Call trace:
[ 1161.952820] wiphy_register+0x3ec/0x970 [cfg80211]
[ 1161.952876] ieee80211_register_hw+0x7f8/0xc8c [mac80211]
[ 1161.952936] ath10k_mac_register+0x6d4/0xc9c [ath10k_core]
[ 1161.952964] ath10k_core_register_work+0x968/0xe00 [ath10k_core]
[ 1161.952992] process_one_work+0x1b0/0x4c4
[ 1161.953001] worker_thread+0x6c/0x44c
[ 1161.953005] kthread+0x14c/0x160
[ 1161.953008] ret_from_fork+0x10/0x20
[ 1161.953013] —[ end trace dccb5d9f7757ca49 ]—
[ 1161.953174] ath10k_pci 0000:01:00.0: failed to register ieee80211: -22
[ 1161.955252] ath10k_pci 0000:01:00.0: could not register to mac80211 (-22)

Well, If you use the module I sent you by e-mail, it will be crash absolutely. Because I built the kernel version is 5.15, but you said in 4.9 kernel.

You can copy all files from GitHub - greearb/ath10k-ct: Stand-alone ath10k driver based on Candela Technologies Linux kernel., must be the corresponding version, into the fenix/build/linux/driver/net/wireless/ath/ath10k, then make image.

i have copied files from folder 5.15. and yours modules olso crashed. i mentioned kernel 4.9 as expirence last year.
armbian image 5.xdoesnot crashed. i thougth yuo maybe know the reason.