qca6164 support

vvanpo vvanpo at gmail.com
Mon Aug 3 11:45:29 PDT 2015


Hi,

I just got a Lenovo Yoga 3 11, only to find the wireless doesn't work.

The PCI id is 168c:0041:17aa:3545
I downloaded the driver (version 12.0.0.102, date 06/24/2015) from the
Lenovo website and extracted it in Wine (as I saw someone else do from
another thread), which resulted in the following bin files:
eeprom_ar6320_2p1_NFA324i_5.bin
eeprom_ar6320_2p1_NFA344i.bin
eeprom_ar6320_2p1_NFA344i_highTX.bin
eeprom_ar6320_2p1_NFA345i.bin
eeprom_ar6320_2p1_NFA345i_highTX.bin
eeprom_ar6320_2p1_NFA354xp.bin
eeprom_ar6320_2p1_NFA355i.bin
qca61x4_1_1_2.bin

In the netathr10x.inf file, my device and subsystem ids correspond to
section 'ATHR_DEV_OS63_988x_LE_NFA345_IPG.ndi', although I'm not sure
how that relates to which bin file and what a 'section' is exactly.  I
chose to use the NFA345i.bin file, which I symlinked
    /lib/firmware/ath10k/QCA6174/hw2.1/board-pci-168c:0041:17aa:3545.bin
to.

I used dissect.py/assemble.py to create firmware-5.bin:
    ./dissect.py < qca61x4_1_1_2.bin
    ./assemble.py atheros-12.0.0.102-fw 0 fw-2.bin fw-1.bin 4 > firmware-5.bin

I enabled skip_otp=y.
I compiled master at github.com/kvalo/ath, but with the modification
    #define QCA6174_2_1_DEVICE_ID   (0x0041)
so it would recognize my card.

On loading the ath10k_pci module I get a 'firmware crashed!' message,
and a firmware dump.  Sometimes the dump itself must print garbage to
dmesg and turns my terminal into mojibake, which I think has to do
with the features string as here:
http://lists.infradead.org/pipermail/ath10k/2015-July/005703.html

As you can probably tell I'm haphazardly shooting in the dark without
much knowledge of whats actually going on.  Is there a way I can
meaningfully contribute, or am I at the mercy of those with access to
documentation on how the qualcomm firmware works?
  Some questions:
  - when ath10k_print_driver_info gets called, my ar->chip_id is
printed as 0x003405ff, which should correspond to
QCA6174_HW_2_2_CHIP_ID_REV when masked (like in
ath10k_pci_get_num_banks).  So why is it still referred to as hw2.1
(instead of hw2.2), and what do these revisions signify, anyway?
  - how can I be sure I'm using the correct bin files, and is there
any documentation on the format of these files?
  - what would need to be changed to add support for qca6164 in ath10k?

Thanks,
Victor



More information about the ath10k mailing list