2020-03-21 22:40:03

by Ming Chen

[permalink] [raw]
Subject: Firmware Crashed

Hello guys,

I have a QCA9986 PCIe wireless module, and I plug it to a PPC-64 device where running Linux Kernel 4.14.83 with the wireless driver backports-4.20.17-1. The below is PCI info for this PCI device,
XXX@YYY:/lib/firmware/ath10k/QCA9984/hw1.0# lspci -k
00:00.0 Class 0604: 1957:0840 pcieport
01:00.0 Class 0280: 168c:0046 ath10k_pci
00:00.0 Class 0604: 1957:0840 pcieport

I am using this firmware binary file(10.4-3.10-00047) and its associated board binary file.
https://github.com/kvalo/ath10k-firmware/blob/master/QCA9984/hw1.0/3.10/firmware-5.bin_10.4-3.10-00047 AND https://github.com/kvalo/ath10k-firmware/blob/master/QCA9984/hw1.0/board-2.bin

But it will always report "Firmware Crashed" when I insert ath10k_pci.ko. I am not sure what caused this issue. Can someone help me take a look?

The error log while I am doing insmod ath10k_pci.ko is shown as below,
[ 2336.982978] ath10k_pci 0000:01:00.0: pci probe 168c:0046 168c:cafe
[ 2336.983260] ath10k_pci 0000:01:00.0: boot pci_mem 0x8000080080980000
[ 2336.983560] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[ 2336.983597] ath10k_pci 0000:01:00.0: boot qca99x0 chip reset
[ 2336.983601] ath10k_pci 0000:01:00.0: boot cold reset
[ 2337.041151] ath10k_pci 0000:01:00.0: boot cold reset complete
[ 2337.041158] ath10k_pci 0000:01:00.0: boot waiting target to initialise
[ 2337.041164] ath10k_pci 0000:01:00.0: boot target indicator 2
[ 2337.041171] ath10k_pci 0000:01:00.0: boot target initialised
[ 2337.041175] ath10k_pci 0000:01:00.0: boot qca99x0 chip reset complete (cold)
[ 2337.041247] ath10k_pci 0000:01:00.0: boot hif power up
[ 2337.041258] ath10k_pci 0000:01:00.0: boot qca99x0 chip reset
[ 2337.041261] ath10k_pci 0000:01:00.0: boot cold reset
[ 2337.097164] ath10k_pci 0000:01:00.0: boot cold reset complete
[ 2337.097172] ath10k_pci 0000:01:00.0: boot waiting target to initialise
[ 2337.097179] ath10k_pci 0000:01:00.0: boot target indicator 2
[ 2337.097187] ath10k_pci 0000:01:00.0: boot target initialised
[ 2337.097190] ath10k_pci 0000:01:00.0: boot qca99x0 chip reset complete (cold)
[ 2337.097212] ath10k_pci 0000:01:00.0: boot init ce src ring id 0 entries 16 base_addr c000000051919000
[ 2337.097229] ath10k_pci 0000:01:00.0: boot ce dest ring id 1 entries 512 base_addr c000000051760000
[ 2337.097244] ath10k_pci 0000:01:00.0: boot ce dest ring id 2 entries 128 base_addr c00000006795a000
[ 2337.097261] ath10k_pci 0000:01:00.0: boot init ce src ring id 3 entries 32 base_addr c000000051e64000
[ 2337.097318] ath10k_pci 0000:01:00.0: boot init ce src ring id 4 entries 8192 base_addr c000000075f00000
[ 2337.097335] ath10k_pci 0000:01:00.0: boot ce dest ring id 5 entries 512 base_addr c000000077246000
[ 2337.097352] ath10k_pci 0000:01:00.0: boot init ce src ring id 7 entries 2 base_addr c000000075e80000
[ 2337.097366] ath10k_pci 0000:01:00.0: boot ce dest ring id 7 entries 2 base_addr c000000051a4c000
[ 2337.097382] ath10k_pci 0000:01:00.0: boot ce dest ring id 8 entries 128 base_addr c000000075e85000
[ 2337.098026] ath10k_pci 0000:01:00.0: bmi get target info
[ 2337.098171] ath10k_pci 0000:01:00.0: Hardware name qca9984/qca9994 hw1.0 version 0x1000000
[ 2337.098175] ath10k_pci 0000:01:00.0: trying fw api 6
[ 2337.098216] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA9984/hw1.0/firmware-6.bin failed with error -2
[ 2337.098224] ath10k_pci 0000:01:00.0: boot fw request 'ath10k/QCA9984/hw1.0/firmware-6.bin': -2
[ 2337.098227] ath10k_pci 0000:01:00.0: trying fw api 5
[ 2337.100926] ath10k_pci 0000:01:00.0: boot fw request 'ath10k/QCA9984/hw1.0/firmware-5.bin': 0
[ 2337.100936] ath10k_pci 0000:01:00.0: found fw version 10.4-3.10-00047
[ 2337.100941] ath10k_pci 0000:01:00.0: found fw timestamp 1557172134
[ 2337.100946] ath10k_pci 0000:01:00.0: found otp image ie (9235 B)
[ 2337.100949] ath10k_pci 0000:01:00.0: found fw image ie (396915 B)
[ 2337.100953] ath10k_pci 0000:01:00.0: found firmware features ie (3 B)
[ 2337.100956] ath10k_pci 0000:01:00.0: Enabling feature bit: 3
[ 2337.100960] ath10k_pci 0000:01:00.0: Enabling feature bit: 12
[ 2337.100963] ath10k_pci 0000:01:00.0: Enabling feature bit: 13
[ 2337.100967] ath10k_pci 0000:01:00.0: Enabling feature bit: 14
[ 2337.100970] ath10k_pci 0000:01:00.0: Enabling feature bit: 16
[ 2337.100973] ath10k_pci 0000:01:00.0: Enabling feature bit: 17
[ 2337.100978] ath10k_pci 0000:01:00.0: features
[ 2337.100984] ath10k_pci 0000:01:00.0: 00000000: 00 00 00 00 00 03 70 08 ......p.
[ 2337.100988] ath10k_pci 0000:01:00.0: found fw ie wmi op version 6
[ 2337.100991] ath10k_pci 0000:01:00.0: found fw ie htt op version 4
[ 2337.100995] ath10k_pci 0000:01:00.0: found fw code swap image ie (270212 B)
[ 2337.100999] ath10k_pci 0000:01:00.0: using fw api 5
[ 2337.101010] ath10k_pci 0000:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
[ 2337.101014] ath10k_pci 0000:01:00.0: kconfig debug 1 debugfs 1 tracing 0 dfs 0 testmode 0
[ 2337.103917] ath10k_pci 0000:01:00.0: firmware ver 10.4-3.10-00047 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps crc32 19ca6df2
[ 2337.103926] ath10k_pci 0000:01:00.0: boot did not find a pre calibration file, try DT next: -2
[ 2337.103930] ath10k_pci 0000:01:00.0: unable to load pre cal data from DT: -2
[ 2337.103934] ath10k_pci 0000:01:00.0: could not load pre cal data: -2
[ 2337.103938] ath10k_pci 0000:01:00.0: boot upload otp to 0x1234 len 9235 for board id
[ 2337.103943] ath10k_pci 0000:01:00.0: bmi fast download address 0x1234 buffer 0x800000001012c038 length 9235
[ 2337.103947] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x1234
[ 2337.104188] ath10k_pci 0000:01:00.0: bmi lz data buffer 0x800000001012c038 length 9232
[ 2337.133722] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xc0000000750f7a50 length 4
[ 2337.133909] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x0
[ 2337.133956] ath10k_pci 0000:01:00.0: bmi execute address 0x1234 param 0x10
[ 2338.333138] ath10k_pci 0000:01:00.0: bmi cmd took 299 jiffies hz 250 ret 0
[ 2338.333155] ath10k_pci 0000:01:00.0: bmi execute result 0x42c00
[ 2338.333161] ath10k_pci 0000:01:00.0: boot get otp board id result 0x00042c00 board_id 11 chip_id 0 ext_bid_support 1
[ 2338.333165] ath10k_pci 0000:01:00.0: SMBIOS bdf variant name not set.
[ 2338.333168] ath10k_pci 0000:01:00.0: DT bdf variant name not set.
[ 2338.333174] ath10k_pci 0000:01:00.0: boot using board name 'bus=pci,bmi-chip-id=0,bmi-board-id=11'
[ 2338.333179] ath10k_pci 0000:01:00.0: boot using board name 'bus=pci,bmi-chip-id=0,bmi-board-id=11'
[ 2338.333189] ath10k_pci 0000:01:00.0: boot fw request 'ath10k/QCA9984/hw1.0/board.bin': 0
[ 2338.333192] ath10k_pci 0000:01:00.0: using board api 1
[ 2338.333947] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id 0:11 crc32 85498734
[ 2338.334766] ath10k_pci 0000:01:00.0: bmi start
[ 2338.334773] ath10k_pci 0000:01:00.0: bmi write address 0x400800 length 4
[ 2338.334807] ath10k_pci 0000:01:00.0: bmi read address 0x400810 length 4
[ 2338.334888] ath10k_pci 0000:01:00.0: bmi write address 0x400810 length 4
[ 2338.334901] ath10k_pci 0000:01:00.0: bmi write address 0x400844 length 4
[ 2338.334965] ath10k_pci 0000:01:00.0: bmi write address 0x400904 length 4
[ 2338.335011] ath10k_pci 0000:01:00.0: bmi write address 0x4008bc length 4
[ 2338.335058] ath10k_pci 0000:01:00.0: boot did not find a pre calibration file, try DT next: -2
[ 2338.335062] ath10k_pci 0000:01:00.0: unable to load pre cal data from DT: -2
[ 2338.335065] ath10k_pci 0000:01:00.0: failed to load pre cal data: -2
[ 2338.335069] ath10k_pci 0000:01:00.0: pre cal download procedure failed, try cal file: -2
[ 2338.335073] ath10k_pci 0000:01:00.0: boot did not find a calibration file, try DT next: -2
[ 2338.335077] ath10k_pci 0000:01:00.0: boot did not find DT entry, try target EEPROM next: -2
[ 2338.335082] ath10k_pci 0000:01:00.0: boot did not find target EEPROM entry, try OTP next: -95
[ 2338.335086] ath10k_pci 0000:01:00.0: bmi read address 0x4008ac length 4
[ 2338.335145] ath10k_pci 0000:01:00.0: boot push board extended data addr 0x0
[ 2338.335150] ath10k_pci 0000:01:00.0: bmi read address 0x400854 length 4
[ 2338.335221] ath10k_pci 0000:01:00.0: bmi write address 0xc0000 length 12288
[ 2338.361178] ath10k_pci 0000:01:00.0: bmi write address 0x400858 length 4
[ 2338.361348] ath10k_pci 0000:01:00.0: boot upload otp to 0x1234 len 9235 for ext board id
[ 2338.361353] ath10k_pci 0000:01:00.0: bmi fast download address 0x1234 buffer 0x800000001012c038 length 9235
[ 2338.361357] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x1234
[ 2338.361392] ath10k_pci 0000:01:00.0: bmi lz data buffer 0x800000001012c038 length 9232
[ 2338.390933] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xc0000000750f78d0 length 4
[ 2338.391113] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x0
[ 2338.391160] ath10k_pci 0000:01:00.0: bmi execute address 0x1234 param 0x40000
[ 2338.392373] ath10k_pci 0000:01:00.0: bmi execute result 0x0
[ 2338.392377] ath10k_pci 0000:01:00.0: ext board id does not exist in otp, ignore it
[ 2338.392380] ath10k_pci 0000:01:00.0: otp returned ext board id 0
[ 2338.392385] ath10k_pci 0000:01:00.0: boot upload otp to 0x1234 len 9235
[ 2338.392390] ath10k_pci 0000:01:00.0: bmi fast download address 0x1234 buffer 0x800000001012c038 length 9235
[ 2338.392393] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x1234
[ 2338.392406] ath10k_pci 0000:01:00.0: bmi lz data buffer 0x800000001012c038 length 9232
[ 2338.423316] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xc0000000750f7990 length 4
[ 2338.423499] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x0
[ 2338.423547] ath10k_pci 0000:01:00.0: bmi execute address 0x1234 param 0x700
[ 2339.631535] ath10k_pci 0000:01:00.0: bmi cmd took 302 jiffies hz 250 ret 0
[ 2339.631546] ath10k_pci 0000:01:00.0: bmi execute result 0x0
[ 2339.631550] ath10k_pci 0000:01:00.0: boot otp execute result 0
[ 2339.631555] ath10k_pci 0000:01:00.0: boot using calibration mode otp
[ 2339.631559] ath10k_pci 0000:01:00.0: boot found firmware code swap binary
[ 2339.631563] ath10k_pci 0000:01:00.0: bmi write address 0x4222f0 length 208
[ 2339.631587] ath10k_pci 0000:01:00.0: boot uploading firmware image 800000001012e454 len 396915
[ 2339.631592] ath10k_pci 0000:01:00.0: bmi fast download address 0x1234 buffer 0x800000001012e454 length 396915
[ 2339.631596] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x1234
[ 2339.631934] ath10k_pci 0000:01:00.0: bmi lz data buffer 0x800000001012e454 length 396912
[ 2340.889804] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xc0000000750f7a30 length 4
[ 2340.890104] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x0
[ 2340.890153] ath10k_pci 0000:01:00.0: bmi write address 0x400814 length 4
[ 2340.890193] ath10k_pci 0000:01:00.0: pci hif map service
[ 2340.890199] ath10k_pci 0000:01:00.0: boot htc service 'Control' ul pipe 0 dl pipe 1 eid 0 ready
[ 2340.890203] ath10k_pci 0000:01:00.0: boot htc service 'Control' eid 0 TX flow control disabled
[ 2340.890207] ath10k_pci 0000:01:00.0: bmi done
[ 2340.890240] ath10k_pci 0000:01:00.0: htt tx max num pending tx 2500
[ 2340.890444] ath10k_pci 0000:01:00.0: htt rx ring size 2048 fill_level 1023
[ 2340.890449] ath10k_pci 0000:01:00.0: boot hif start
[ 2340.899082] ath10k_pci 0000:01:00.0: firmware crashed! (guid n/a)
[ 2340.899099] ath10k_pci 0000:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
[ 2340.899105] ath10k_pci 0000:01:00.0: kconfig debug 1 debugfs 1 tracing 0 dfs 0 testmode 0
[ 2340.902074] ath10k_pci 0000:01:00.0: firmware ver 10.4-3.10-00047 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps crc32 19ca6df2
[ 2340.902803] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id 0:11 crc32 85498734
[ 2340.902810] ath10k_pci 0000:01:00.0: htt-ver 0.0 wmi-op 6 htt-op 4 cal otp max-sta 32 raw 0 hwcrypto 1
[ 2340.902938] ath10k_pci 0000:01:00.0: firmware register dump:
[ 2340.902944] ath10k_pci 0000:01:00.0: [00]: 0x01000000 0x000015B3 0x000CFFCA 0x00975B31
[ 2340.902948] ath10k_pci 0000:01:00.0: [04]: 0x000CFFCA 0x00060F30 0x00000011 0x00420D24
[ 2340.902953] ath10k_pci 0000:01:00.0: [08]: 0x000C0000 0x0040680C 0x00406814 0x00400000
[ 2340.902957] ath10k_pci 0000:01:00.0: [12]: 0x00000009 0x00000000 0x000CFEE4 0x000CFEEF
[ 2340.902962] ath10k_pci 0000:01:00.0: [16]: 0x000CFFCA 0x000CFEE4 0x00000000 0x00000000
[ 2340.902966] ath10k_pci 0000:01:00.0: [20]: 0x400CFFCA 0x0040678C 0x00975A00 0x00000000
[ 2340.902971] ath10k_pci 0000:01:00.0: [24]: 0x809CCB9B 0x004067EC 0x00000001 0xC00CFFCA
[ 2340.902976] ath10k_pci 0000:01:00.0: [28]: 0x809BFCB3 0x0040680C 0x000C0000 0x00406950
[ 2340.902980] ath10k_pci 0000:01:00.0: [32]: 0x809BFCE0 0x0040684C 0x000C0000 0x00406950
[ 2340.902985] ath10k_pci 0000:01:00.0: [36]: 0x809CCE75 0x0040687C 0x000C0000 0x00406950
[ 2340.902989] ath10k_pci 0000:01:00.0: [40]: 0x809866C9 0x0040689C 0x0040694C 0x0040690C
[ 2340.902994] ath10k_pci 0000:01:00.0: [44]: 0x809CD060 0x0040690C 0x0040694C 0x004144FC
[ 2340.902999] ath10k_pci 0000:01:00.0: [48]: 0x8098159B 0x0040693C 0x00416DF0 0x00400000
[ 2340.903003] ath10k_pci 0000:01:00.0: [52]: 0x800DFF26 0x004069AC 0x00000004 0x00413FF0
[ 2340.903008] ath10k_pci 0000:01:00.0: [56]: 0x800C383A 0x004069DC 0x00413E10 0x00400000
[ 2340.903012] ath10k_pci 0000:01:00.0: Copy Engine register dump:
[ 2340.903021] ath10k_pci 0000:01:00.0: [00]: 0x0004a000 2 2 3 2
[ 2340.903029] ath10k_pci 0000:01:00.0: [01]: 0x0004a400 7 7 6 7
[ 2340.903038] ath10k_pci 0000:01:00.0: [02]: 0x0004a800 0 0 127 0
[ 2340.903046] ath10k_pci 0000:01:00.0: [03]: 0x0004ac00 0 0 0 0
[ 2340.903054] ath10k_pci 0000:01:00.0: [04]: 0x0004b000 0 0 0 0
[ 2340.903062] ath10k_pci 0000:01:00.0: [05]: 0x0004b400 0 0 0 0
[ 2340.903070] ath10k_pci 0000:01:00.0: [06]: 0x0004b800 0 0 0 0
[ 2340.903078] ath10k_pci 0000:01:00.0: [07]: 0x0004bc00 1 1 1 1
[ 2340.903087] ath10k_pci 0000:01:00.0: [08]: 0x0004c000 0 0 127 0
[ 2340.903095] ath10k_pci 0000:01:00.0: [09]: 0x0004c400 1 1 1 1
[ 2340.903103] ath10k_pci 0000:01:00.0: [10]: 0x0004c800 0 0 0 0
[ 2340.903111] ath10k_pci 0000:01:00.0: [11]: 0x0004cc00 0 0 0 0
[ 2341.893166] ath10k_pci 0000:01:00.0: failed to receive control response completion, polling..
[ 2341.893176] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893186] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893203] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893209] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893214] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893218] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893227] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893230] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893234] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893240] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893243] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2341.893247] ath10k_pci 0000:01:00.0: pci hif send complete check
[ 2342.917164] ath10k_pci 0000:01:00.0: ctl_resp never came in (-110)
[ 2342.917172] ath10k_pci 0000:01:00.0: failed to connect to HTC: -110
[ 2342.917177] ath10k_pci 0000:01:00.0: boot hif stop
[ 2342.917222] ath10k_pci 0000:01:00.0: boot qca99x0 chip reset
[ 2342.917226] ath10k_pci 0000:01:00.0: boot cold reset
[ 2342.973153] ath10k_pci 0000:01:00.0: boot cold reset complete
[ 2342.973160] ath10k_pci 0000:01:00.0: boot waiting target to initialise
[ 2342.973167] ath10k_pci 0000:01:00.0: boot target indicator 2
[ 2342.973174] ath10k_pci 0000:01:00.0: boot target initialised
[ 2342.973177] ath10k_pci 0000:01:00.0: boot qca99x0 chip reset complete (cold)
[ 2342.975699] ath10k_pci 0000:01:00.0: could not init core (-110)
[ 2342.975829] ath10k_pci 0000:01:00.0: boot hif power down
[ 2342.975833] ath10k_pci 0000:01:00.0: could not probe fw (-110)
[ 2342.989170] ath10k_pci 0000:01:00.0: cannot restart a device that hasn't been started


Thanks,
Ming Chen




2020-03-22 06:18:56

by Tom Psyborg

[permalink] [raw]
Subject: Re: Firmware Crashed

can you try to boot it in another device and using some distro that
has 4.19 or later kernel without backports?

2020-03-23 21:23:20

by Tom Psyborg

[permalink] [raw]
Subject: Re: Firmware Crashed

On 23/03/2020, Ming Chen <[email protected]> wrote:
> No, it will be very difficult for us to upgrade the kernel.
> This module(QCA9986 PCIe) is from the a third party company. They are using
> the QCA driver and it works well. We are trying to integrate this module to
> our own device(PPC-64 + Kernel 4.14.83). We don't want to upgrade the
> kernel, since it will be a huge challenge work for us.
>
>
> Thanks
> Ming Chen
>
>> -----Original Message-----
>> From: Tom Psyborg <[email protected]>
>> Sent: Saturday, March 21, 2020 11:16 PM
>> To: Ming Chen <[email protected]>
>> Cc: linux-wireless <[email protected]>
>> Subject: Re: Firmware Crashed
>>
>> can you try to boot it in another device and using some distro that
>> has 4.19 or later kernel without backports?
>

My suggestion is to try it in x86_64 PC. Then you can just use live
linux distro with different kernel versions. If it does not work with
any of these you may have ran into a hw bug sample. If it does work
then you don't need to update your PPC64 kernel but find an
architecture/device speific bug that prevents it from loading.

2020-03-23 23:01:33

by Ben Greear

[permalink] [raw]
Subject: Re: Firmware Crashed

On 3/23/20 3:53 PM, Ming Chen wrote:
>>> No, it will be very difficult for us to upgrade the kernel.
>>> This module(QCA9986 PCIe) is from the a third party company. They are
>>> using the QCA driver and it works well. We are trying to integrate
>>> this module to our own device(PPC-64 + Kernel 4.14.83). We don't want
>>> to upgrade the kernel, since it will be a huge challenge work for us.
>>>
>>>
>>> Thanks
>>> Ming Chen
>>>
>>>> -----Original Message-----
>>>> From: Tom Psyborg <[email protected]>
>>>> Sent: Saturday, March 21, 2020 11:16 PM
>>>> To: Ming Chen <[email protected]>
>>>> Cc: linux-wireless <[email protected]>
>>>> Subject: Re: Firmware Crashed
>>>>
>>>> can you try to boot it in another device and using some distro that
>>>> has 4.19 or later kernel without backports?
>>>
>>
>> My suggestion is to try it in x86_64 PC. Then you can just use live linux distro
>> with different kernel versions. If it does not work with any of these you may
>> have ran into a hw bug sample. If it does work then you don't need to update
>> your PPC64 kernel but find an architecture/device speific bug that prevents it
>> from loading.
>
> [Ming Chen]
> Thanks for the suggestion. I don't have a PC with PCIe socket on my hand, but it's indeed worth to have a try. I will try to find a one.

In case you want to try the ath10k-ct firmware for your chip, you can send me the firmware crash output and maybe
I can understand why it is crashing.

http://www.candelatech.com/ath10k.php

Thanks,
Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com

2020-03-24 03:09:48

by Ben Greear

[permalink] [raw]
Subject: Re: Firmware Crashed



On 03/23/2020 07:58 PM, Ming Chen wrote:
>>>>> No, it will be very difficult for us to upgrade the kernel.
>>>>> This module(QCA9986 PCIe) is from the a third party company. They
>>>>> are using the QCA driver and it works well. We are trying to
>>>>> integrate this module to our own device(PPC-64 + Kernel 4.14.83). We
>>>>> don't want to upgrade the kernel, since it will be a huge challenge work for
>> us.
>>>>>
>>>>>
>>>>> Thanks
>>>>> Ming Chen
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Tom Psyborg <[email protected]>
>>>>>> Sent: Saturday, March 21, 2020 11:16 PM
>>>>>> To: Ming Chen <[email protected]>
>>>>>> Cc: linux-wireless <[email protected]>
>>>>>> Subject: Re: Firmware Crashed
>>>>>>
>>>>>> can you try to boot it in another device and using some distro that
>>>>>> has 4.19 or later kernel without backports?
>>>>>
>>>>
>>>> My suggestion is to try it in x86_64 PC. Then you can just use live
>>>> linux distro with different kernel versions. If it does not work with
>>>> any of these you may have ran into a hw bug sample. If it does work
>>>> then you don't need to update your PPC64 kernel but find an
>>>> architecture/device speific bug that prevents it from loading.
>>>
>>> [Ming Chen]
>>> Thanks for the suggestion. I don't have a PC with PCIe socket on my hand, but
>> it's indeed worth to have a try. I will try to find a one.
>>
>> In case you want to try the ath10k-ct firmware for your chip, you can send me
>> the firmware crash output and maybe I can understand why it is crashing.
>>
>> http://www.candelatech.com/ath10k.php
>>
>> Thanks,
>> Ben
>>
>> --
>> Ben Greear <[email protected]>
>> Candela Technologies Inc http://www.candelatech.com
> [Ming Chen]
> Thanks for reminding. I just realized that the functionality of board-2.bin in ath10k driver was commented out by someone of my company, and now I restored this functionality in ath10k driver. But, firmware is still crashed, and it seems like it is caused by failing to fetch board data. That is said, the driver failed to find a matched (bus=pci,bmi-chip-id=0,bmi-board-id=11) board data from board-2.bin.
>
> Does that mean the vendor of this wireless module has not committed their board data to upstream and build to board-2.bin file?
>
> The below is the piece of BMI log,
> [ 9217.343233] ath10k_pci 0000:01:00.0: boot upload otp to 0x1234 len 8999 for board id
> [ 9217.343239] ath10k_pci 0000:01:00.0: bmi fast download address 0x1234 buffer 0x800000000018a084 length 8999
> [ 9217.343242] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x1234
> [ 9217.343828] ath10k_pci 0000:01:00.0: bmi lz data buffer 0x800000000018a084 length 8996
> [ 9217.372561] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xc00000007584fa50 length 4
> [ 9217.372782] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x0
> [ 9217.372831] ath10k_pci 0000:01:00.0: bmi execute address 0x1234 param 0x10
> [ 9218.783383] ath10k_pci 0000:01:00.0: bmi cmd took 353 jiffies hz 250 ret 0
> [ 9218.783396] ath10k_pci 0000:01:00.0: bmi execute result 0x2c00
> [ 9218.783401] ath10k_pci 0000:01:00.0: boot get otp board id result 0x00002c00 board_id 11 chip_id 0 ext_bid_support 0
> [ 9218.783405] ath10k_pci 0000:01:00.0: SMBIOS bdf variant name not set.
> [ 9218.783409] ath10k_pci 0000:01:00.0: DT bdf variant name not set.
> [ 9218.783415] ath10k_pci 0000:01:00.0: boot using board name 'bus=pci,bmi-chip-id=0,bmi-board-id=11'
> [ 9218.783420] ath10k_pci 0000:01:00.0: boot using board name 'bus=pci,bmi-chip-id=0,bmi-board-id=11'
> [ 9218.783916] ath10k_pci 0000:01:00.0: boot fw request 'ath10k/QCA9984/hw1.0/board-2.bin': 0

This is about a wave-2 9984 NIC. You sure yours is 9886 chipset?

Thanks,
Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com

2020-03-24 04:02:33

by Ben Greear

[permalink] [raw]
Subject: Re: Firmware Crashed



On 03/23/2020 08:30 PM, Ming Chen wrote:
>>>>>>> No, it will be very difficult for us to upgrade the kernel.
>>>>>>> This module(QCA9986 PCIe) is from the a third party company. They
>>>>>>> are using the QCA driver and it works well. We are trying to
>>>>>>> integrate this module to our own device(PPC-64 + Kernel 4.14.83).
>>>>>>> We don't want to upgrade the kernel, since it will be a huge
>>>>>>> challenge work for
>>>> us.
>>>>>>>
>>>>>>>
>>>>>>> Thanks
>>>>>>> Ming Chen
>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Tom Psyborg <[email protected]>
>>>>>>>> Sent: Saturday, March 21, 2020 11:16 PM
>>>>>>>> To: Ming Chen <[email protected]>
>>>>>>>> Cc: linux-wireless <[email protected]>
>>>>>>>> Subject: Re: Firmware Crashed
>>>>>>>>
>>>>>>>> can you try to boot it in another device and using some distro
>>>>>>>> that has 4.19 or later kernel without backports?
>>>>>>>
>>>>>>
>>>>>> My suggestion is to try it in x86_64 PC. Then you can just use live
>>>>>> linux distro with different kernel versions. If it does not work
>>>>>> with any of these you may have ran into a hw bug sample. If it does
>>>>>> work then you don't need to update your PPC64 kernel but find an
>>>>>> architecture/device speific bug that prevents it from loading.
>>>>>
>>>>> [Ming Chen]
>>>>> Thanks for the suggestion. I don't have a PC with PCIe socket on my
>>>>> hand, but
>>>> it's indeed worth to have a try. I will try to find a one.
>>>>
>>>> In case you want to try the ath10k-ct firmware for your chip, you can
>>>> send me the firmware crash output and maybe I can understand why it is
>> crashing.
>>>>
>>>> http://www.candelatech.com/ath10k.php
>>>>
>>>> Thanks,
>>>> Ben
>>>>
>>>> --
>>>> Ben Greear <[email protected]>
>>>> Candela Technologies Inc http://www.candelatech.com
>>> [Ming Chen]
>>> Thanks for reminding. I just realized that the functionality of board-2.bin in
>> ath10k driver was commented out by someone of my company, and now I
>> restored this functionality in ath10k driver. But, firmware is still crashed, and it
>> seems like it is caused by failing to fetch board data. That is said, the driver
>> failed to find a matched (bus=pci,bmi-chip-id=0,bmi-board-id=11) board data
>> from board-2.bin.
>>>
>>> Does that mean the vendor of this wireless module has not committed their
>> board data to upstream and build to board-2.bin file?
>>>
>>> The below is the piece of BMI log,
>>> [ 9217.343233] ath10k_pci 0000:01:00.0: boot upload otp to 0x1234 len
>>> 8999 for board id [ 9217.343239] ath10k_pci 0000:01:00.0: bmi fast
>>> download address 0x1234 buffer 0x800000000018a084 length 8999 [
>>> 9217.343242] ath10k_pci 0000:01:00.0: bmi lz stream start address
>>> 0x1234 [ 9217.343828] ath10k_pci 0000:01:00.0: bmi lz data buffer
>>> 0x800000000018a084 length 8996 [ 9217.372561] ath10k_pci 0000:01:00.0:
>>> bmi lz data buffer 0xc00000007584fa50 length 4 [ 9217.372782]
>>> ath10k_pci 0000:01:00.0: bmi lz stream start address 0x0 [
>>> 9217.372831] ath10k_pci 0000:01:00.0: bmi execute address 0x1234 param
>>> 0x10 [ 9218.783383] ath10k_pci 0000:01:00.0: bmi cmd took 353 jiffies
>>> hz 250 ret 0 [ 9218.783396] ath10k_pci 0000:01:00.0: bmi execute result
>> 0x2c00 [ 9218.783401] ath10k_pci 0000:01:00.0: boot get otp board id result
>> 0x00002c00 board_id 11 chip_id 0 ext_bid_support 0 [ 9218.783405]
>> ath10k_pci 0000:01:00.0: SMBIOS bdf variant name not set.
>>> [ 9218.783409] ath10k_pci 0000:01:00.0: DT bdf variant name not set.
>>> [ 9218.783415] ath10k_pci 0000:01:00.0: boot using board name
>> 'bus=pci,bmi-chip-id=0,bmi-board-id=11'
>>> [ 9218.783420] ath10k_pci 0000:01:00.0: boot using board name
>> 'bus=pci,bmi-chip-id=0,bmi-board-id=11'
>>> [ 9218.783916] ath10k_pci 0000:01:00.0: boot fw request
>>> 'ath10k/QCA9984/hw1.0/board-2.bin': 0
>>
>> This is about a wave-2 9984 NIC. You sure yours is 9886 chipset?
>>
>> Thanks,
>> Ben
>>
>> --
>> Ben Greear <[email protected]>
>> Candela Technologies Inc http://www.candelatech.com
> [Ming Chen] Yeah, I am sure it is a QCA9986 (not 9886), and I can see its device ID is 168c:0046. And the ath10k wireless driver will try to load the firmware from the path of ath10k/QCA9984/hw1.0 by default. So I thought we should use the board binary file same as QCA9984 (https://github.com/kvalo/ath10k-firmware/blob/master/QCA9984/hw1.0/board-2.bin).
> Is there a board binary file for QCA9986 specifically?

Ok, I mis-read your earlier email.

You do need a board file that matches your card. The NIC vendor should be able to provide this,
but you may have to package it in board2.bin format. I think the ath10k-firmware git project
has some scripts in it to do the packaging...or google can probably find a link.

Thanks,
Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com