Search Linux Wireless

ath10k_sdio QCA9377

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux