I have run into strange wifi trouble with my R7800 build for 17.01 branch: building from the current HEAD of the 17.01 branch make radio1 to fail. The earlier 17.01 builds upto r3422-b78bcdf619. worked ok, as does the official 17.01.2 build of r3435-65eec8bd5f. But my personal build r3437-a6b5ddfd9b fails. (I think that the only possible difference between the release 17.01.2 build by my build is possibly CONFIG_ATH_USER_REGD=y and CONFIG_PACKAGE_ATH_DFS=y in my build. I haven't checked the release for those options but they may be absent.)
In any case now my 17.01 build fails radio1 with errors like:
[ 30.720699] ath10k_pci 0001:01:00.0: enabling device (0140 -> 0142)
[ 30.720807] ath10k_pci 0001:01:00.0: enabling bus mastering
[ 30.721324] ath10k_pci 0001:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[ 30.850119] ath10k_pci 0001:01:00.0: Direct firmware load for ath10k/pre-cal-pci-0001:01:00.0.bin failed with error -2
[ 30.850161] ath10k_pci 0001:01:00.0: Falling back to user helper
[ 31.242322] ath10k_pci 0001:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
[ 31.242381] ath10k_pci 0001:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[ 31.257107] ath10k_pci 0001:01:00.0: firmware ver 10.4-3.4-00072 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast crc32 75ec955f
[ 31.280234] ath10k_pci 0001:01:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0046,subsystem-vendor=168c,subsystem-device=cafe from ath10k/QCA9984/hw1.0/board-2.bin
[ 31.280373] ath10k_pci 0001:01:00.0: board_file api 1 bmi_id N/A crc32 dd636801
[ 33.348520] ath10k_pci 0001:01:00.0: unable to read from the device
[ 33.348545] ath10k_pci 0001:01:00.0: could not execute otp for board id check: -110
[ 33.353589] ath10k_pci 0001:01:00.0: failed to get board id: -110
[ 35.368529] ath10k_pci 0001:01:00.0: unable to read from the device (-110)
[ 35.368551] ath10k_pci 0001:01:00.0: could not read board ext data addr (-110)
[ 35.374286] ath10k_pci 0001:01:00.0: could not push board ext data (-110)
[ 35.381551] ath10k_pci 0001:01:00.0: failed to download board data: -110
[ 35.388351] ath10k_pci 0001:01:00.0: failed to run otp: -110
[ 35.395173] ath10k_pci 0001:01:00.0: could not init core (-110)
[ 35.400863] ath10k_pci 0001:01:00.0: could not probe fw (-110)
I have built several times, but have found no obvious reason for the failure or solution.
I decided to to fix that by backporting the otp fixes from @dissent1
OTP fixes work ok and now my R7800 runs 17.01 with properly identified and calibrated radios:
[ 37.260259] ath10k_pci 0001:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[ 37.390005] ath10k_pci 0001:01:00.0: Direct firmware load for ath10k/pre-cal-pci-0001:01:00.0.bin failed with error -2
[ 37.390042] ath10k_pci 0001:01:00.0: Falling back to user helper
[ 37.808590] ath10k_pci 0001:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
[ 37.808623] ath10k_pci 0001:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[ 37.819418] ath10k_pci 0001:01:00.0: firmware ver 10.4-3.4-00082 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast crc32 f301de65
[ 40.089782] ath10k_pci 0001:01:00.0: board_file api 2 bmi_id 0:2 crc32 751efba1
[ 45.939850] ath10k_pci 0001:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 512 raw 0 hwcrypto 1
The backport consists of three components:
- ath10k QCA9984 firmware updates ( commits 4101020d, 6c344e39, a124f073, a1afee24). I skipped the qca4019 and "ct" specific things, but at least the "ct" things should likely be included if this gets officially backported to 17.01. I have also not really looked into possible qca988x changes)
- removal of the old 936-ath10k_skip_otp_check.patch (done by commit cc189c0b7) and replacing it with the same (possibly unnecessary) new 936 patch as currently in master (commit c69a89fe)
- the two new commits from @dissent1 for properly reading board ID and calibration data (48ae1f53, e980f3b6 in PR https://github.com/lede-project/source/pull/1153)
I have placed an unified patch of these changes into my R7800 community firmware download page:
https://www.dropbox.com/sh/ew0gap0crn30wyk/AADQLCBF5All8wc8RXmxisqAa