issue about HT Avail timeout

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
mgkiller
Level 3
Level 3
10 replies posted 10 questions asked 10 sign-ins

I face a issue about ‘HT Avail timeout’, which lead to exit the wifi driver probe.

I find servel related subject about this. But no one confirm the exact root cause of the issue. Some people say that the isuue is related to LPO_IN, which must be supplied with a 32.768KHz clock.

 

I search info about CYW43438's LPO and find that LPO is only a option iteam.

 

44444.png

The AW-NM372SM uses an internal 26MHz xtal for normal operation and an external secondary low frequency clock for low-power-mode timing. Either the internal low-precision LPO or an external 32.768 kHz precision oscillator is required.

 

In my design,  32.768KHz clock is not supplied to LPO_IN.  Can someone tell me if the issue is caused by this reason? or there are other reasons?

Is there any way to make the wifi module work normally without connecting the 32.768kHz LPO input?

Any help is appreciated.

 

Here is my wifi log:

[ 101.970000] Loading modules backported from Linux version v5.4.18-2021_0527-0-gc6ec8acef0b8
[ 102.000000] Backport generated by backports.git v5.4.27-1-0-gf6e8852f
[ 108.260000] brcmfmac_module_init No platform data available.
[ 108.300000] brcmf_ops_sdio_probe Enter
[ 108.350000] brcmf_ops_sdio_probe Class=0
[ 108.350000] brcmf_ops_sdio_probe sdio vendor ID: 0x02d0
[ 108.350000] brcmf_ops_sdio_probe sdio device ID: 0xa9a6
[ 108.390000] brcmf_ops_sdio_probe Function#: 1
[ 108.390000] brcmf_ops_sdio_probe Enter
[ 108.420000] brcmf_ops_sdio_probe Class=0
[ 108.420000] brcmf_ops_sdio_probe sdio vendor ID: 0x02d0
[ 108.460000] brcmf_ops_sdio_probe sdio device ID: 0xa9a6
[ 108.500000] brcmf_ops_sdio_probe Function#: 2
[ 108.500000] brcmf_ops_sdio_probe F2 found, calling brcmf_sdiod_probe...
[ 108.530000] brcmf_sdiod_probe set F2 blocksize to 512
[ 108.530000] brcmf_sdio_probe Enter
[ 108.530000] brcmf_chip_recognition found AXI chip: BCM43430/1
[ 108.560000] brcmf_chip_cores_check [1 ] core 0x800:49 base 0x18000000 wrap 0x18100000
[ 108.560000] brcmf_chip_cores_check [2 ] core 0x812:39 base 0x18001000 wrap 0x18101000
[ 108.570000] brcmf_chip_cores_check [3 ] core 0x829:21 base 0x18002000 wrap 0x18102000
[ 108.580000] brcmf_chip_cores_check [4 ] core 0x82a:9 base 0x18003000 wrap 0x18103000
[ 108.590000] brcmf_chip_cores_check [5 ] core 0x80e:22 base 0x18004000 wrap 0x18104000
[ 108.600000] brcmf_chip_cores_check [6 ] core 0x135:0 base 0x00000000 wrap 0x18105000
[ 108.610000] brcmf_chip_cores_check [7 ] core 0x240:0 base 0x00000000 wrap 0x18106000
[ 108.620000] brcmf_chip_set_passive Enter
[ 108.640000] brcmf_chip_get_raminfo RAM: base=0x0 size=524288 (0x80000) sr=65536 (0x10000)
[ 108.640000] brcmf_chip_setup ccrev=49, pmurev=24, pmucaps=0x39d25f18
[ 108.660000] brcmf_get_module_param Enter, bus=0, chip=43430, rev=1
[ 108.660000] brcmf_sdiod_sgtable_alloc nents=35
[ 108.670000] brcmf_sdio_kso_init Enter
[ 108.670000] brcmf_sdio_drivestrengthinit No SDIO driver strength init needed for chip BCM43430/1 rev 1 pmurev 24
[ 108.690000] brcmf_sdio_probe completed!!
[ 108.690000] brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac43430-sdio for chip BCM43430/1
[ 108.700000] brcmf_fw_get_firmwares enter: dev=mmc0:0001:1
[ 108.710000] brcmf_ops_sdio_probe F2 init completed...
[ 109.830000] brcmf_fw_complete_request firmware cypress/cyfmac43430-sdio.bin found

 [ 165.600000] cfg80211: failed to load regulatory.db
[ 169.920000] brcmfmac: brcmf_fw_request_firmware: no board-specific nvram available (err=-2), device will use cypress/cyfmac43430-sdio.txt
[ 169.940000] brcmf_fw_complete_request firmware cypress/cyfmac43430-sdio.txt found
[ 169.960000] brcmf_fw_request_nvram_done enter: dev=mmc0:0001:1
[ 169.960000] brcmf_fw_request_nvram_done nvram c39ab000 len 684
[ 169.980000] brcmf_sdio_firmware_callback Enter: dev=mmc0:0001:1, err=0
[ 169.980000] brcmf_sdio_clkctl Enter
[ 170.000000] brcmf_sdio_htclk Enter
[ 170.000000] brcmf_sdio_htclk CLKCTL: turned ON
[ 170.000000] brcmf_sdio_clkctl 1 -> 3
[ 170.010000] brcmf_sdio_download_firmware firmware rstvec: 0
[ 170.020000] brcmf_sdio_download_code_file Enter
[ 170.030000] brcmf_sdiod_ramrw write 32768 bytes at offset 0x00000000 in window 0x00000000
[ 170.040000] brcmf_sdiod_ramrw write 32768 bytes at offset 0x00000000 in window 0x00008000
...
[ 170.170000] brcmf_sdiod_ramrw write 32768 bytes at offset 0x00000000 in window 0x00058000
[ 170.180000] brcmf_sdiod_ramrw write 26582 bytes at offset 0x00000000 in window 0x00060000
[ 170.190000] brcmf_sdio_verifymemory Compare RAM dl & ul at 0x00000000; size=419798
[ 170.200000] brcmf_sdiod_ramrw read 2048 bytes at offset 0x00000000 in window 0x00000000
[ 170.210000] brcmf_sdiod_ramrw read 2048 bytes at offset 0x00000800 in window 0x00000000
...
[ 172.350000] brcmf_sdiod_ramrw read 2048 bytes at offset 0x00005800 in window 0x00060000
[ 172.360000] brcmf_sdiod_ramrw read 2006 bytes at offset 0x00006000 in window 0x00060000
[ 172.370000] brcmf_sdio_download_nvram Enter
[ 172.370000] brcmf_sdiod_ramrw write 684 bytes at offset 0x00007d54 in window 0x00078000
[ 172.380000] brcmf_sdio_verifymemory Compare RAM dl & ul at 0x0007fd54; size=684
[ 172.390000] brcmf_sdiod_ramrw read 684 bytes at offset 0x00007d54 in window 0x00078000
[ 172.400000] brcmf_chip_set_active Enter
[ 172.410000] brcmf_sdio_clkctl Enter
[ 172.410000] brcmf_sdio_htclk Enter
[ 172.410000] brcmf_sdio_htclk CLKCTL: turned OFF
[ 172.420000] brcmf_sdio_clkctl 3 -> 1
[ 172.420000] brcmf_sdio_clkctl Enter
[ 172.430000] brcmf_sdio_htclk Enter
[ 173.450000] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[ 173.450000] brcmf_sdio_clkctl 1 -> 1
[ 173.460000] brcmf_sdio_firmware_callback failed: dev=mmc0:0001:1, err=0
[ 173.460000] brcmf_ops_sdio_remove Enter
[ 173.470000] brcmf_ops_sdio_remove sdio vendor ID: 0x02d0
[ 173.470000] brcmf_ops_sdio_remove sdio device ID: 0xa9a6
[ 173.480000] brcmf_ops_sdio_remove Function: 2
[ 173.490000] brcmf_sdiod_intr_unregister Entering oob=0 sd=0
[ 173.490000] brcmf_ops_sdio_remove Enter
[ 173.500000] brcmf_ops_sdio_remove sdio vendor ID: 0x02d0
[ 173.500000] brcmf_ops_sdio_remove sdio device ID: 0xa9a6
[ 173.510000] brcmf_ops_sdio_remove Function: 1
[ 173.510000] brcmf_sdiod_intr_unregister Entering oob=0 sd=0
[ 173.520000] brcmf_sdio_remove Enter
[ 173.530000] brcmf_sdiod_intr_unregister Entering oob=0 sd=0
[ 173.530000] brcmf_detach Enter
[ 173.540000] brcmf_sdio_clkctl Enter
[ 173.540000] brcmf_sdio_htclk Enter
[ 174.560000] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[ 174.560000] brcmf_sdio_clkctl 1 -> 1
[ 174.600000] brcmf_chip_set_passive Enter
[ 174.650000] brcmf_chip_reset_watchdog Enter
[ 174.650000] brcmf_sdio_clkctl Enter
[ 174.660000] brcmf_sdio_sdclk Enter
[ 174.660000] brcmf_sdio_clkctl 1 -> 0
[ 174.660000] brcmf_sdio_remove Disconnected
[ 174.670000] brcmf_ops_sdio_remove Exit

0 Likes
1 Solution
Murali_R
Moderator
Moderator
Moderator
250 sign-ins 250 replies posted 100 solutions authored

Figuring out a workaround and making the chip work with the internal LPO itself might lead to issues later such as power save and other things.
So its highly recommended that you use an external LPO and check if it resolves your issues.

View solution in original post

0 Likes
1 Reply
Murali_R
Moderator
Moderator
Moderator
250 sign-ins 250 replies posted 100 solutions authored

Figuring out a workaround and making the chip work with the internal LPO itself might lead to issues later such as power save and other things.
So its highly recommended that you use an external LPO and check if it resolves your issues.

0 Likes