Forums - QCA9377 Linux Driver/Firmware Issues

4 posts / 0 new
Last post
QCA9377 Linux Driver/Firmware Issues
aneedles
Join Date: 24 Aug 22
Posts: 2
Posted: Wed, 2022-08-24 17:14
Hi all,
 
I am trying to get the Silex SC-SDCAC Wi-Fi SD card, which has a QCA9377-3, working on my system. This is on an i.MX 8ULP dev board, which exposes SDIO/MMC connections over an M.2 connector. Between the Wi-Fi module and the dev board is an M.2 to SDIO adaptor, which just passes through the SDIO CLK/CMD/DATA pins, GND, and VCC. My Linux kernel version is 5.15.53. I am using the ath10k driver as it should support driving the QCA9377 over SDIO. The linux development is being done with Yocto.
 
The MMC bus is able to detect the QCA9377 and the ath10k starts initializtion. However, there seems to be an issue with the firmware and/or board files. I am using linux-firmware 20220509 from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git. Specifically, I am installing board.bin, board-2.bin, firmware-sdio-5.bin, and notice_ath10k_firmware-sdio-5.txt from ath10k/QCA9377/hw1.0 to /lib/firmware/ath10k/QCA9377/hw1.0/ on my target rootfs.
 
As seen at the bottom of this post, the MMC bus can find the SDIO card just fine. I verified that the firmware version is as expected, but then it fails to fetch the board data from board-2.bin. Is there a lack of this board in the upstream for this board file? There then seems to be a bunch of timeout/busy errors when attempting to drive the QCA9377. I think this could be a card firmware issue, but may not be. 
 
Can anyone provide some assistance on what the issue may be?
 
Thanks,
Anthony
 
[   21.725795] ath10k_sdio mmc2:0001:1: qca9377 hw1.1 sdio target 0x05020001 chip_id 0x00000000 sub 0000:0000                                                       
[   21.725840] ath10k_sdio mmc2:0001:1: kconfig debug 1 debugfs 1 tracing 0 dfs 0 testmode 1
[   21.729588] ath10k_sdio mmc2:0001:1: firmware ver WLAN.TF.1.1.1-00061-QCATFSWPZ-1 api 5 features ignore-otp crc32 7746e551
[   21.899276] ath10k_sdio mmc2:0001:1: failed to fetch board data for bus=sdio,vendor=0271,device=0701,subsystem-vendor=0000,subsystem-device=0000 from ath10k/QCA9377/hw1.0/board-2.bin
[   21.960660] ath10k_sdio mmc2:0001:1: board_file api 1 bmi_id N/A crc32 544289f7
[   23.215972] ath10k_sdio mmc2:0001:1: htt-ver 3.32 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
[   33.318367] mmc2: Timeout waiting for hardware interrupt.
[   33.323811] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
[   33.330260] mmc2: sdhci: Sys addr:  0x85ade000 | Version:  0x00000002
[   33.336711] mmc2: sdhci: Blk size:  0x00000100 | Blk cnt:  0x0000001f
[   33.343164] mmc2: sdhci: Argument:  0x1c10e81f | Trn mode: 0x00000033
[   33.349617] mmc2: sdhci: Present:   0x01f8820e | Host ctl: 0x00000013
[   33.356068] mmc2: sdhci: Power:     0x00000002 | Blk gap:  0x00000080
[   33.362522] mmc2: sdhci: Wake-up:   0x00000008 | Clock:    0x0000007f
[   33.368975] mmc2: sdhci: Timeout:   0x0000008f | Int stat: 0x00000000
[   33.375427] mmc2: sdhci: Int enab:  0x117f110b | Sig enab: 0x117f110b
[   33.381879] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000502
[   33.388331] mmc2: sdhci: Caps:      0x07eb0000 | Caps_1:   0x0000b407
[   33.394784] mmc2: sdhci: Cmd:       0x0000353a | Max curr: 0x00ffffff
[   33.401240] mmc2: sdhci: Resp[0]:   0x00001000 | Resp[1]:  0x00000000
[   33.407692] mmc2: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000                                                                                                                 
[   33.414148] mmc2: sdhci: Host ctl2: 0x00000088
[   33.418603] mmc2: sdhci: ADMA Err:  0x00000003 | ADMA Ptr: 0x84711204
[   33.425057] mmc2: sdhci-esdhc-imx: ========= ESDHC IMX DEBUG STATUS DUMP =========
[   33.432643] mmc2: sdhci-esdhc-imx: cmd debug status:  0x2100
[   33.438315] mmc2: sdhci-esdhc-imx: data debug status:  0x22a0
[   33.444074] mmc2: sdhci-esdhc-imx: trans debug status:  0x23a0
[   33.449920] mmc2: sdhci-esdhc-imx: dma debug status:  0x2400
[   33.455592] mmc2: sdhci-esdhc-imx: adma debug status:  0x25b4
[   33.461350] mmc2: sdhci-esdhc-imx: fifo debug status:  0x2680
[   33.467109] mmc2: sdhci-esdhc-imx: async fifo debug status:  0x2750
[   33.473392] mmc2: sdhci: ============================================
[   33.490586] ath10k_sdio mmc2:0001:1: failed to read from address 0x874: -110
[   33.490654] ath10k_sdio mmc2:0001:1: failed to read from mbox window data address: -110
[   33.490672] ath10k_sdio mmc2:0001:1: failed to read calibration data: -110
[   33.490808] ath10k_sdio mmc2:0001:1: failed to write to address 0x12fd0: -110
[   33.490828] ath10k_sdio mmc2:0001:1: failed to write skb to 0x12fd0 asynchronously: -110
[   33.490904] ath10k_sdio mmc2:0001:1: failed to write to address 0x12ff5: -110
[   33.490920] ath10k_sdio mmc2:0001:1: failed to write skb to 0x12ff5 asynchronously: -110
[   33.490981] ath10k_sdio mmc2:0001:1: failed to write to address 0x1c7ec: -110
[   33.490997] ath10k_sdio mmc2:0001:1: failed to write skb to 0x1c7ec asynchronously: -110
[   33.491059] ath10k_sdio mmc2:0001:1: failed to write to address 0x1c7ec: -110
[   34.594110] mmc2: queuing unknown CIS tuple 0x01 [d9 01 ff] (3 bytes)
[   34.602418] mmc2: queuing unknown CIS tuple 0x1a [01 01 00 02 07] (5 bytes)
[   34.606014] mmc2: queuing unknown CIS tuple 0x1b [c1 41 30 30 ff ff 32 00] (8 bytes)
[   34.606760] mmc2: queuing unknown CIS tuple 0x14 [] (0 bytes)
[   34.607336] ath: EEPROM regdomain: 0x0
[   34.607346] ath: EEPROM indicates default country code should be used
[   34.607352] ath: doing EEPROM country->regdmn map search
[   34.607359] ath: country maps to regdmn code: 0x3a
[   34.607366] ath: Country alpha2 being used: US
[   34.607371] ath: Regpair used: 0x3a
[   44.838361] mmc2: Timeout waiting for hardware interrupt.
[   44.843807] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
[   44.850255] mmc2: sdhci: Sys addr:  0x8a3f8c84 | Version:  0x00000002
[   44.856708] mmc2: sdhci: Blk size:  0x00000004 | Blk cnt:  0x00000001
[   44.863159] mmc2: sdhci: Argument:  0x94105004 | Trn mode: 0x00000003
[   44.869612] mmc2: sdhci: Present:   0x01e8800e | Host ctl: 0x00000013
[   44.876062] mmc2: sdhci: Power:     0x00000002 | Blk gap:  0x00000080
[   44.882513] mmc2: sdhci: Wake-up:   0x00000008 | Clock:    0x0000007f
[   44.888967] mmc2: sdhci: Timeout:   0x0000008f | Int stat: 0x00000000
[   44.895417] mmc2: sdhci: Int enab:  0x117f100b | Sig enab: 0x117f100b
[   44.901869] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000502
[   44.908321] mmc2: sdhci: Caps:      0x07eb0000 | Caps_1:   0x0000b407
[   44.914776] mmc2: sdhci: Cmd:       0x0000353a | Max curr: 0x00ffffff
[   44.921228] mmc2: sdhci: Resp[0]:   0x00001000 | Resp[1]:  0x00000000
[   44.927679] mmc2: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
[   44.934131] mmc2: sdhci: Host ctl2: 0x00000000
[   44.938584] mmc2: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x84711208
[   44.945037] mmc2: sdhci-esdhc-imx: ========= ESDHC IMX DEBUG STATUS DUMP =========
[   44.952620] mmc2: sdhci-esdhc-imx: cmd debug status:  0x2100
[   44.958291] mmc2: sdhci-esdhc-imx: data debug status:  0x2260
[   44.964050] mmc2: sdhci-esdhc-imx: trans debug status:  0x2360
[   44.969895] mmc2: sdhci-esdhc-imx: dma debug status:  0x2400
[   44.975564] mmc2: sdhci-esdhc-imx: adma debug status:  0x2510
[   44.981323] mmc2: sdhci-esdhc-imx: fifo debug status:  0x2680
[   44.987082] mmc2: sdhci-esdhc-imx: async fifo debug status:  0x2750
[   44.993363] mmc2: sdhci: ============================================
[   45.000199] ath10k_warn: 14 callbacks suppressed
[   45.000222] ath10k_sdio mmc2:0001:1: failed to write to address 0x828: -110
[   45.000251] ath10k_sdio mmc2:0001:1: unable to disable sdio interrupts: -110
[   45.000266] ath10k_sdio mmc2:0001:1: Could not init hif: -110
[   45.644544] ath10k_sdio mmc2:0001:1: failed to read from address 0x850: -16
[   45.644590] ath10k_sdio mmc2:0001:1: unable to decrement the command credit count register: -16
[   45.644603] ath10k_sdio mmc2:0001:1: Unable to read soc register from device: -16
[   46.275640] ath10k_sdio mmc2:0001:1: failed to read from address 0x850: -16
[   46.275686] ath10k_sdio mmc2:0001:1: unable to decrement the command credit count register: -16
[   46.275699] ath10k_sdio mmc2:0001:1: unable to write to the device (-16)
[   46.275712] ath10k_sdio mmc2:0001:1: settings HTC version failed
[   46.281785] ath10k_sdio mmc2:0001:1: Could not init core: -22
[   46.918870] ath10k_sdio mmc2:0001:1: failed to read from address 0x868: -16
[   46.918912] ath10k_sdio mmc2:0001:1: failed to read fifo/chip control register: -16
[   48.932147] ath10k_sdio mmc2:0001:1: settings HTC version failed
[   48.938267] ath10k_sdio mmc2:0001:1: Could not init core: -22
[   50.206548] ath10k_warn: 9 callbacks suppressed
[   50.206579] ath10k_sdio mmc2:0001:1: unable to disable sdio function: -16
[   50.843208] ath10k_sdio mmc2:0001:1: failed to read from address 0x850: -16
[   50.843255] ath10k_sdio mmc2:0001:1: unable to decrement the command credit count register: -16
[   50.843268] ath10k_sdio mmc2:0001:1: Unable to read soc register from device: -16
[   51.473781] ath10k_sdio mmc2:0001:1: failed to read from address 0x850: -16
[   51.473828] ath10k_sdio mmc2:0001:1: unable to decrement the command credit count register: -16
[   51.473842] ath10k_sdio mmc2:0001:1: unable to write to the device (-16)
[   51.473854] ath10k_sdio mmc2:0001:1: settings HTC version failed
[   51.479930] ath10k_sdio mmc2:0001:1: Could not init core: -22
[   52.117194] ath10k_sdio mmc2:0001:1: failed to read from address 0x868: -16
[   52.117236] ath10k_sdio mmc2:0001:1: failed to read fifo/chip control register: -16
[   52.748390] ath10k_sdio mmc2:0001:1: unable to disable sdio function: -16
[   63.713567] ath10k_sdio mmc2:0001:1: failed to read from address 0x850: -16
[   63.713615] ath10k_sdio mmc2:0001:1: unable to decrement the command credit count register: -16
[   63.713629] ath10k_sdio mmc2:0001:1: Unable to read soc register from device: -16
[   64.344710] ath10k_sdio mmc2:0001:1: failed to read from address 0x850: -16
[   64.344761] ath10k_sdio mmc2:0001:1: unable to decrement the command credit count register: -16
[   64.344774] ath10k_sdio mmc2:0001:1: unable to write to the device (-16)
[   64.344788] ath10k_sdio mmc2:0001:1: settings HTC version failed
[   64.350878] ath10k_sdio mmc2:0001:1: Could not init core: -22
[   64.987185] ath10k_sdio mmc2:0001:1: failed to read from address 0x868: -16
[   64.987228] ath10k_sdio mmc2:0001:1: failed to read fifo/chip control register: -16
[   65.617225] ath10k_sdio mmc2:0001:1: unable to disable sdio function: -16
 
 
  • Up0
  • Down0
ddeepakk Moderator
Join Date: 27 Jun 17
Posts: 144
Posted: Wed, 2022-08-24 18:33

Hi Anthony,

This forum is only from QCA9377 SW support for the driver downloaded from qualcomm.com.

ath10k is an open source driver and recommend you to use ath10k forums to resolve your issues.

Thanks.

  • Up0
  • Down0
wolfram.wadepohl
Join Date: 8 Aug 19
Location: Metzingen
Posts: 7
Posted: Wed, 2022-08-24 22:30

Hi Anthony,

try the [email protected] list or contact Kalle Valo [email protected], the maintainer ot the ath10k.

If you need some payed support I can recommend Fabio Estevam from DENX [email protected]. Please contact Wolfgang Denk [email protected] for a quotation.

  • Up0
  • Down0
aneedles
Join Date: 24 Aug 22
Posts: 2
Posted: Thu, 2022-08-25 12:02

Hi ddeepakk,

Sorry about that, I will reach out to the ath10k maintainers. 

Hi wolfram.wadepohl,

Thanks for the resources! I appreciate it.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.