I am trying to use the ath10k_sdio driver to configure a WiFi module that uses QCA9377. The environment: OpenST Linux (STMicroelectronics) kernel 5.4 running on a STM32MP157C-EV1 board. WiFi adapter: https://www.8devices.com/wiki/red-bean connected via SD slot. Using the default device tree for the OpenST kernel. I am awayre SDIO support is experimental and not supported as mentioned in https://wireless.wiki.kernel.org/en/users/drivers/ath10k#not_supported I patched ath10k/core.c to enable QCA9377. { .id = QCA9377_HW_1_1_DEV_VERSION, .dev_id = QCA9377_1_0_DEVICE_ID, .bus = ATH10K_BUS_SDIO, .name = "qca9377 hw1.1 sdio", .patch_load_addr = QCA9377_HW_1_0_PATCH_LOAD_ADDR, .uart_pin = 19, .otp_exe_param = 0, .channel_counters_freq_hz = 88000, .max_probe_resp_desc_thres = 0, .cal_data_len = 8124, .fw = { .dir = QCA9377_HW_1_0_FW_DIR, .board = QCA9377_HW_1_0_BOARD_DATA_FILE, .board_size = QCA9377_BOARD_DATA_SZ, .board_ext_size = QCA9377_BOARD_EXT_DATA_SZ, }, .hw_ops = &qca6174_ops, .hw_clk = qca6174_clk, .target_cpu_freq = 176000000, .decap_align_bytes = 4, .n_cipher_suites = 8, .num_peers = TARGET_QCA9377_HL_NUM_PEERS, .ast_skid_limit = 0x10, .num_wds_entries = 0x20, .uart_pin_workaround = true, }, The issue I think I am having is finding the right FW. I tried several FWs from many places mentioned in forums but no luck so far, the dmesg output is always: [ 3.352993] mmci-pl18x 58005000.sdmmc: Got CD GPIO [ 3.357024] mmci-pl18x 58005000.sdmmc: mmc0: PL180 manf 53 rev2 at 0x58005000 irq 50,0 (pio) [ 3.394208] mmci-pl18x 58007000.sdmmc: mmc1: PL180 manf 53 rev2 at 0x58007000 irq 51,0 (pio) [ 3.468057] mmc0: queuing unknown CIS tuple 0x01 (3 bytes) [ 3.481526] mmc0: queuing unknown CIS tuple 0x1a (5 bytes) [ 3.489913] mmc0: queuing unknown CIS tuple 0x1b (8 bytes) [ 3.502223] mmc0: queuing unknown CIS tuple 0x14 (0 bytes) [ 3.521976] mmc0: queuing unknown CIS tuple 0x80 (1 bytes) [ 3.534423] mmc0: queuing unknown CIS tuple 0x81 (1 bytes) [ 3.539934] mmc0: queuing unknown CIS tuple 0x82 (1 bytes) [ 3.557813] mmc0: new ultra high speed SDR104 SDIO card at address 0001 [ 3.564424] mmc1: new DDR MMC card at address 0001 [ 3.581245] mmcblk1: mmc1:0001 004GA0 3.69 GiB [ 3.594746] mmcblk1boot0: mmc1:0001 004GA0 partition 1 2.00 MiB [ 3.600018] mmcblk1boot1: mmc1:0001 004GA0 partition 2 2.00 MiB [ 3.623994] mmcblk1rpmb: mmc1:0001 004GA0 partition 3 512 KiB, chardev (242:0) [ 3.658182] mmcblk1: p1 p2 p3 p4 p5 [ 6.021563] EXT4-fs (mmcblk1p4): mounted filesystem with ordered data mode. Opts: (null) [ 8.722497] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null) [ 8.866649] EXT4-fs (mmcblk1p4): re-mounted. Opts: (null) [ 9.216543] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null) [ 9.855969] EXT4-fs (mmcblk1p5): mounted filesystem with ordered data mode. Opts: (null) [ 14.726405] ath10k_sdio mmc0:0001:1: WARNING: ath10k SDIO support is work-in-progress, problems may arise! [ 14.777934] ath10k_sdio mmc0:0001:1: qca9377 hw1.1 sdio target 0x05020001 chip_id 0x00000000 sub 0000:0000 [ 14.804493] ath10k_sdio mmc0:0001:1: kconfig debug 1 debugfs 1 tracing 1 dfs 0 testmode 0 [ 14.858517] ath10k_sdio mmc0:0001:1: firmware ver WLAN.TF.1.0-00267-1 api 5 features ignore-otp crc32 79cea2c7 [ 14.914048] ath10k_sdio mmc0:0001:1: failed to write to address 0x1000: -84 [ 14.919672] ath10k_sdio mmc0:0001:1: unable to send the bmi data to the device: -84 [ 14.955756] ath10k_sdio mmc0:0001:1: unable to write to the device [ 14.960500] ath10k_sdio mmc0:0001:1: could not write otp for board id check: -84 [ 15.014268] ath10k_sdio mmc0:0001:1: failed to get board id from otp: -84 [ 15.034465] mmci-pl18x 58005000.sdmmc: no tuning point found [ 15.038681] mmc0: tuning execution failed: -22 [ 15.043137] ath10k_sdio mmc0:0001:1: unable to disable sdio function: -5 [ 15.074172] ath10k_sdio mmc0:0001:1: could not probe fw (-84) So my questions are: - Can you see anthing obvious in the dmesg output? (please bear in mind I am not a kernel/driver developer). - If QCA9377 SDIO should work in any way, which firmware should I try? I know about qcacld-2.0 driver and asked 8devices if there is a port of that for kernels 5.x, but no answers so far. If you know a qcacld repo/branch that works, please let me know. Thanks for any help. Regards, Eduardo