QCA9984 bmi identification failure

Christian Lamparter chunkeey at googlemail.com
Fri Mar 24 08:01:42 PDT 2017


On Friday, March 24, 2017 11:09:03 AM CET Sebastian Gottschall wrote:
> i have a r7800 running. consider to use the board.bin file which is 
> stored in flash memory of the r7800.
Well, this is a bit beside the point. But what makes you think that 
what is stored in the flash memory of R7800 is the "board.bin"? 
I know that Netgear provided a myriad of different board data files
with in there GPL drop:

Here's a link:
<https://github.com/paul-chambers/netgear-r7800/tree/master/git_home/madwifi-11n.git/halphy_tools/host/eepromUtil/release_qca9984/hw1>

So, does the data in your flash matches any of those files 1:1 or not?

(Note: From what I know, it's the caldata that's in the flash. 
caldata ≈ cal+board. But I'm asking why ath10k's bmi identification
isn't working for those chips right now. And judging from your logs,
you are using probably a similar WA to the 
936-ath10k_skip_otp_check.patch out of necessity as well.)

> there are 2 stored for both cards. you need to patch ath10k to use 
> different board.bin files for each card.
Exactly. Why do you (or anyone for that matter) need to patch ath10k?
The driver is supposed to support the QCA9984 out of the box, right?

And I know, that the bmi identification is supposed to work, as
somebody posted the following log:
<http://lists.infradead.org/pipermail/lede-dev/2016-December/004987.html>

[  379.392210] ath10k_pci 0002:01:00.0: boot upload otp to 0x1234 len 9000 for board id
[  379.399945] ath10k_pci 0002:01:00.0: bmi fast download address 0x1234 buffer 0xe1676038 length 9000
[  379.408977] ath10k_pci 0002:01:00.0: bmi lz stream start address 0x1234
[  379.415603] ath10k_pci 0002:01:00.0: bmi lz data buffer 0xe1676038 length 9000
[  379.451626] ath10k_pci 0002:01:00.0: bmi lz stream start address 0x0
[  379.457985] ath10k_pci 0002:01:00.0: bmi execute address 0x1234 param 0x10
[  380.857006] ath10k_pci 0002:01:00.0: bmi execute result 0x400
[  380.862749] ath10k_pci 0002:01:00.0: boot get otp board id result 0x00000400 board_id 1 chip_id 0
[  380.871603] ath10k_pci 0002:01:00.0: boot using board name 'bus=pci,bmi-chip-id=0,bmi-board-id=1'
[  380.880468] ath10k_pci 0002:01:00.0: board name
[  380.884999] ath10k_pci 0002:01:00.0: 00000000: 62 75 73 3d 70 63 69 2c 62 6d 69 2d 63 68 69 70  bus=pci,bmi-chip
[  380.895159] ath10k_pci 0002:01:00.0: 00000010: 2d 69 64 3d 30 2c 62 6d 69 2d 62 6f 61 72 64 2d  -id=0,bmi-board-
[  380.905317] ath10k_pci 0002:01:00.0: 00000020: 69 64 3d 31                                      id=1
[  380.914436] ath10k_pci 0002:01:00.0: boot found match for name 'bus=pci,bmi-chip-id=0,bmi-board-id=1'
[  380.923640] ath10k_pci 0002:01:00.0: boot found board data for 'bus=pci,bmi-chip-id=0,bmi-board-id=1'
[  380.932845] ath10k_pci 0002:01:00.0: using board api 2
...

The board name for the QCA9984 is supposed to look like
"'bus=pci,bmi-chip-id=0,bmi-board-id=1'"

and not like (from your log):
> bus=pci,vendor=168c,device=0046,subsystem-vendor=168c,subsystem-device=cafe 
> from ath10k/QCA9984/hw1.0/board-2.bin

> the failed to fetch board data error is normal. 
I don't think it is. I think it's a regression.

Thanks,
Christian



More information about the ath10k mailing list