Repository navigation
Conversation
|
These should go directly into ath10k list I believe. I'd like to see responses to it.. |
Also SoB-s are missing |
|
@M0Rf30 do these changes help specifically only for connecting to 5Ghz WI-Fi or do they also fix firmware crashes for "normal" one? I just in general want to know more: how did you come to these conclusions, how did you trace the driver and which command causes which crash, etc |
|
2.4 GHz was always fine — it never exercised the broken paths. All three patches are about making 5
How I traced it: I have two devices (tulip = c2-00538, jasmine = c2-00811) reachable over SSH/USB, so The interesting one is 3. The crash PC was always 0xb00c87e0, so I pulled the running WLAN firmware That packet is: The rodata strings next to the function name it: wlan_txbf.c / wlan_txbfee_parse_gid — i.e. the VHT The trigger is the AP sending a VHT Group ID Management action frame, which only happens if the STA I also checked whether a firmware update would fix it: disassembling jasmine's newer c2-00811 shows |
5d2fbd1 to
22e33e9
Compare
014aa83 to
5243761
Compare
22e33e9 to
fc2dde4
Compare
|
SInce this smells like fw-specific quirk, I think this should be implemented as another "firmware feature bits". Add it to struct ath10k_fw_features and to |
WCN3990 firmware advertises WMI_SERVICE_THERM_THROT, so the existing service-bit guard in ath10k_thermal_set_throttling() lets the pdev quiet mode command through. The firmware crashes on it deterministically and takes the modem down with it. Rather than hardcoding a chip check, add ATH10K_FW_FEATURE_NO_QUIET_MODE so affected firmware images can opt out via firmware-N.bin. Tested on SDM660 (WCN3990). Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
fc2dde4 to
0b9a486
Compare
Associating with a VHT AP that does MU-MIMO crashes WCN3990 firmware: qcom-q6v5-mss 4080000.remoteproc: fatal error received: err_qdi.c:459:EX:wlan_process:1:WLAN RT:207f:PC=b00c87e0 Disassembling wlanmdsp.mbn shows the fault is in the beamformee Group ID Management handler (wlan_txbf.c:wlan_txbfee_parse_gid), which dereferences a NULL per-peer TxBF context. Firmware builds c2-00538 and c2-00811 both carry the same unguarded load, and the image is signed, so it has to be worked around on the host. The AP only sends Group ID Management frames to stations advertising beamformee support. Add ATH10K_FW_FEATURE_NO_VHT_TXBF; when set by firmware-N.bin, strip the VHT beamformer/beamformee capability bits reported by the firmware. VHT rates are unaffected (VHT80 MCS9 still negotiated). Tested on SDM660 (WCN3990, firmware c2-00538 and c2-00811). Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
WCN3990 firmware never tunes the radio while actively scanning 5 GHz channels, so 5 GHz BSSes are never discovered. 2.4 GHz is unaffected. Add ATH10K_FW_FEATURE_PASSIVE_SCAN_5GHZ; when set by firmware-N.bin, mark every 5 GHz channel passive in the WMI channel list. Tested on SDM660 (WCN3990). Signed-off-by: Gianluca Boiano <morf3089@gmail.com>
0b9a486 to
3156639
Compare
then find a way how to detect it. it can be also device-tree quirk. In cases when it can't be auto-detected. |
|
Yeah, this looks a lot safer to limit to firmware fuatures. So far it seems that each device's firmware is unique snowflake (downstream seems to configure firmware capabilities in some We've found that possibly downstream's qcacld is parsing this INI file passed from some ioctl by userspace, but this needs to be verified.. @M0Rf30 maybe you can push your new fwencoder bits into https://github.com/sdm660-mainline/qca-swiss-army-knife for a while? |
|
Pushed the fwencoder bits to https://github.com/sdm660-mainline/qca-swiss-army-knife (master, 21f2e36). Bits are now sorted: 23 |
|
@minlexx the line you linked is the PNO handler. qcacld reads the ini itself at init (cfg_parse("wlan/qca_cld/WCNSS_qcom_cfg.ini")), no ioctl. From sdm660-common WCNSS_qcom_cfg.ini: • gThermalMitigationEnable=0: downstream never sends quiet mode, so no-quiet-mode stays. The quiet-mode and passive-scan workarounds were already posted by Malte Schababerle for SM8150: https://www.mail-archive.com/ath10k@lists.infradead.org/msg17637.html. Qualcomm asked for firmware dumps; nothing merged. @okias c2-00811 is the latest firmware for these devices. I'll put that in the commit messages for whatever bits are left. |
Cool, good to know! Good luck with tests ;) |
Three WCN3990 firmware workarounds needed for usable 5 GHz, reworked as ath10k firmware feature bits (per review) instead of
QCA_REV_WCN3990()checks:firmware-N.binnameATH10K_FW_FEATURE_NO_QUIET_MODE(23)no-quiet-modeWMI_SERVICE_THERM_THROT)ATH10K_FW_FEATURE_NO_VHT_TXBF(24)no-vht-txbfwlan_txbfee_parse_gid)ATH10K_FW_FEATURE_PASSIVE_SCAN_5GHZ(25)passive-scan-5ghzEnable with the matching
ath10k-fwencoderupdate (qca-swiss-army-knife, also adds missingiram-recovery= 22):Note:
firmware-5.binis shared by all WCN3990 SoCs on SNOC, so the bits should ship in sdm660 device firmware packages rather than linux-firmware.