QCA6174 hw2.1?

Moritz Morawietz moritz.morawietz at informatik.uni-oldenburg.de
Mon Apr 27 07:00:14 PDT 2015


Hi!

I have the same problems with my card (also a Killer N1525). It seems
you've done it, but i can't figure out how.

Do i need to build and use kvalo's kernel, or is it enough to build
the modules ath10k_core & ath10k_pci?
I'm a bit afraid of compiling the whole kernel ^^
output of uname -a:
Linux companion 4.0.0-2-ARCH #1 SMP PREEMPT Tue Apr 14 07:14:46 CEST
2015 x86_64 GNU/Linux

I have the disassembly.py, but cannot find the dissect.py, can you
provide the link? Or, even better, the assembled files?


Many thanks for help!

Moritz

2015-04-27 2:21 GMT+02:00 Gabriele Martino <g.martino at gmx.com>:
> Just tried the kvalo's kernel.
> NetworkManager connected flawlessly at boot to my WPA2 home network on
> 2.4GHz. Will try 5GHz later.
> iwconfig reports a fixed 1Mb/s bitrate, but I can copy files to my nas
> (smb share) at about 3.3MB/s.
> That's a reasonable speed for b/g wireless.
>
> iwconfig:
> wlp3s0    IEEE 802.11abgn  ESSID:"W-I-SEE-YOU-N"
>           Mode:Managed  Frequency:2.412 GHz  Access Point:
> 40:16:7E:2C:79:90
>           Bit Rate=1 Mb/s   Tx-Power=20 dBm
>           Retry short limit:7   RTS thr:off   Fragment thr:off
>           Encryption key:off
>           Power Management:on
>           Link Quality=59/70  Signal level=-51 dBm
>           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>           Tx excessive retries:0  Invalid misc:42   Missed beacon:0
>
> iwlist scan (part of):
> wlp3s0    Scan completed :
>           Cell 01 - Address: 40:16:7E:2C:79:90
>                     Channel:1
>                     Frequency:2.412 GHz (Channel 1)
>                     Quality=60/70  Signal level=-50 dBm
>                     Encryption key:on
>                     ESSID:"W-I-SEE-YOU-N"
>                     Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
>                               24 Mb/s; 36 Mb/s; 54 Mb/s
>                     Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
>                     Mode:Master
>                     Extra:tsf=00000005244f5a5d
>                     Extra: Last beacon: 33ms ago
>                     IE: Unknown: 000D572D492D5345452D594F552D4E
>                     IE: Unknown: 010882848B962430486C
>                     IE: Unknown: 030101
>                     IE: Unknown: 2A0104
>                     IE: Unknown: 2F0104
>                     IE: IEEE 802.11i/WPA2 Version 1
>                         Group Cipher : CCMP
>                         Pairwise Ciphers (1) : CCMP
>                         Authentication Suites (1) : PSK
>
> dmesg output:
> [    2.212106] ath10k_pci 0000:03:00.0: enabling device (0000 -> 0002)
> [    2.212558] ath10k_pci 0000:03:00.0: pci irq msi-x interrupts 8
> irq_mode 0 reset_mode 0
> [    2.368318] ath10k_pci 0000:03:00.0: Direct firmware load for
> ath10k/cal-pci-0000:03:00.0.bin failed with error -2
> [    2.368971] ath10k_pci 0000:03:00.0: Direct firmware load for
> ath10k/QCA6174/hw2.1/board-pci-168c:003e:1a56:1525.bin failed with error -2
> [    2.368974] ath10k_pci 0000:03:00.0: failed to load spec board file,
> falling back to generic: -2
> [    2.369252] ath10k_pci 0000:03:00.0: Direct firmware load for
> ath10k/QCA6174/hw2.1/firmware-5.bin failed with error -2
> [    2.369270] ath10k_pci 0000:03:00.0: could not fetch firmware file
> 'ath10k/QCA6174/hw2.1/firmware-5.bin': -2
> [    3.559021] ath10k_pci 0000:03:00.0: qca6174 hw2.1 (0x05010000,
> 0x003405ff, 168c:003e:1a56:1525 fallback) fw killer-n1525-fw api 4 htt
> 3.0 wmi 4 cal otp max_sta 32
> [    3.559024] ath10k_pci 0000:03:00.0: debug 1 debugfs 0 tracing 0 dfs
> 0 testmode 0
> [    3.623733] ath: EEPROM regdomain: 0x6c
> [    3.623735] ath: EEPROM indicates we should expect a direct regpair map
> [    3.623736] ath: Country alpha2 being used: 00
> [    3.623737] ath: Regpair used: 0x6c
> [    3.638102] ath10k_pci 0000:03:00.0 wlp3s0: renamed from wlan0
> [    7.523617] ath10k_pci 0000:03:00.0: no channel configured; ignoring
> frame(s)!
> [    7.627173] ath10k_pci 0000:03:00.0: no channel configured; ignoring
> frame(s)!
> [   12.149947] wlp3s0: authenticate with 40:16:7e:2c:79:90
> [   12.183915] wlp3s0: send auth to 40:16:7e:2c:79:90 (try 1/3)
> [   12.185559] wlp3s0: authenticated
> [   12.186043] wlp3s0: associate with 40:16:7e:2c:79:90 (try 1/3)
> [   12.189402] wlp3s0: RX AssocResp from 40:16:7e:2c:79:90 (capab=0x411
> status=0 aid=3)
> [   12.192174] wlp3s0: associated
> [  313.912952] wlp3s0: AP 40:16:7e:2c:79:90 changed bandwidth, new
> config is 2412 MHz, width 1 (2412/0 MHz)
> [  313.912955] wlp3s0: AP 40:16:7e:2c:79:90 changed bandwidth in a way
> we can't support - disconnect
> [  318.709453] wlp3s0: authenticate with 40:16:7e:2c:79:90
> [  318.750807] wlp3s0: send auth to 40:16:7e:2c:79:90 (try 1/3)
> [  318.752541] wlp3s0: authenticated
> [  318.753030] wlp3s0: associate with 40:16:7e:2c:79:90 (try 1/3)
> [  318.756524] wlp3s0: RX AssocResp from 40:16:7e:2c:79:90 (capab=0x411
> status=0 aid=1)
> [  318.759082] wlp3s0: associated
>
> I'm using the board file "eeprom_qca9377_1p0_NFA435_olpc.bin".
>
> Regards,
> Gabriele
>
>
> On 26/04/2015 16:10, Gabriele Martino wrote:
>> Hi Corin,
>> the "dissect.py" script seems to work better than the "disassemble.py":
>>
>> [ 6483.455435] ath10k_pci 0000:03:00.0: pci irq msi-x interrupts 8
>> irq_mode 0 reset_mode 0
>> [ 6483.600747] ath10k_pci 0000:03:00.0: Direct firmware load for
>> ath10k/cal-pci-0000:03:00.0.bin failed with error -2
>> [ 6484.772417] ath10k_pci 0000:03:00.0: firmware crashed! (uuid n/a)
>> [ 6484.772433] ath10k_pci 0000:03:00.0: qca6174 hw2.1 (0x05010000,
>> 0x003405ff) fw killer-n1525-fw api 4 htt 0.0 wmi 4 cal otp max_sta 32
>> [ 6484.772435] ath10k_pci 0000:03:00.0: debug 1 debugfs 0 tracing 0 dfs
>> 0 testmode 0
>> [ 6484.773333] ath10k_pci 0000:03:00.0: firmware register dump:
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [00]: 0x05010000 0x000015B3
>> 0x0095186B 0x00955B31
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [04]: 0x0095186B 0x00060130
>> 0x00000010 0x0040AF04
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [08]: 0x00000018 0x00000001
>> 0x00000001 0x00412250
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [12]: 0x00000009 0x00000000
>> 0x0096C09C 0x0096C0A7
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [16]: 0x0096BDBC 0x009286B6
>> 0x00000000 0x00000000
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [20]: 0x4095186B 0x0040E160
>> 0x0041F82C 0x00000001
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [24]: 0x80936238 0x0040E1C0
>> 0x00000000 0xC095186B
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [28]: 0x80936361 0x0040E1E0
>> 0x00000000 0x0041C8DC
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [32]: 0x80934A67 0x0040E200
>> 0x00436DF0 0x0040E250
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [36]: 0x809A5C92 0x0040E250
>> 0x004275B0 0x00000001
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [40]: 0x809A5CEA 0x0040E290
>> 0x00426F40 0x00000004
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [44]: 0x809A5DCA 0x0040E2B0
>> 0x00426F40 0x0041C8DC
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [48]: 0x800A0909 0x0040E2D0
>> 0x00426F40 0x004275A0
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [52]: 0x800A024A 0x0040E2F0
>> 0x0041ABB0 0x00420440
>> [ 6484.773333] ath10k_pci 0000:03:00.0: [56]: 0x809287D9 0x0040E310
>> 0x00000000 0x00400000
>> [ 6485.765040] ath10k_pci 0000:03:00.0: failed to receive control
>> response completion, polling..
>> [ 6486.765027] ath10k_pci 0000:03:00.0: ctl_resp never came in (-110)
>> [ 6486.765032] ath10k_pci 0000:03:00.0: failed to connect to HTC: -110
>> [ 6486.828658] ath10k_pci 0000:03:00.0: could not init core (-110)
>> [ 6486.828689] ath10k_pci 0000:03:00.0: could not probe fw (-110)
>> [ 6486.831175] ath10k_pci 0000:03:00.0: cannot restart a device that
>> hasn't been started
>>
>> Well, at least it loads correctly. This should be the firmware crash
>> fixed in the patches, it's time to test kvalo's kernel sources.
>>
>>
>> On 26/04/2015 05:51, Corin Lawson wrote:
>>> Hi Gabriele,
>>>
>>> I think we have the same card (the vendor and device ids are the
>>> determining factor):
>>>
>>>     $ lspci -n -s 05:00.0
>>>     05:00.0 0280: 168c:003e (rev 20)
>>>
>>> Without the skip_otp option I get this in dmesg:
>>>
>>>     [18396.622576] ath10k_pci 0000:05:00.0: pci irq msi interrupts 1
>>> irq_mode 0 reset_mode 0
>>>     [18396.768593] ath10k_pci 0000:05:00.0: Direct firmware load for
>>> ath10k/cal-pci-0000:05:00.0.bin failed with error -2
>>>     [18396.847975] ath10k_pci 0000:05:00.0: otp calibration failed: 3
>>>     [18396.847977] ath10k_pci 0000:05:00.0: failed to run otp: -22
>>>     [18396.847978] ath10k_pci 0000:05:00.0: could not init core (-22)
>>>     [18396.847995] ath10k_pci 0000:05:00.0: could not probe fw (-22)
>>>
>>> Which is different to your messages. I'm taking a guess here, but
>>> those DMAR messages seem to indicate that the firmware is attempting
>>> to write to the wrong part of memory (i.e. wrong firmware).
>>>
>>> Using kvalo's kernel fork is probably a good step (it contains those
>>> necessary patches). If you still don't get it working, then my only
>>> other idea is to try that dissect.py gist I mentioned previously. Here
>>> are the commands that worked for me:
>>>
>>>     # python dissect.py <
>>> drivers/Production/Windows8.1-x64/k1525w81/qca61x420.bin
>>>     # python assemble.py killer-n1525-fw 0 fw-2.bin fw-1.bin 4 >
>>> /lib/firmware/ath10k/QCA6174/hw2.1/firmware-4.bin
>>>
>>> The dissect.py script produced fw-1.bin which is the otp file and
>>> fw-2.bin which is the correct firmware (don't quote me on that, but it
>>> worked for me). As for your board.bin file, you need to check the .inf
>>> file that comes with your drivers. I'm not sure what the structure of
>>> that file is... for all I know I could be using the wrong board
>>> file...
>>>
>>> I hope this helps, otherwise you've reached the limits of my
>>> experience :) Maybe someone else on the list has a better idea?
>>>
>>> Cheers,
>>> Corin
>>>
>>>
>>> On Sat, Apr 25, 2015 at 10:58 PM, Gabriele Martino <g.martino at gmx.com> wrote:
>>>> On 25/04/2015 05:47, Corin Lawson wrote:
>>>>> I also had problems with calibration, I had to pass skip_otp=y to the module:
>>>>>
>>>>>     $ cat /etc/modprobe.d/ath10k.conf
>>>>>     options ath10k_core skip_otp=y
>>>> Hi Corin,
>>>> I removed ath10k_pci, ath10k_core and ath before loading ath10k_core
>>>> with skip_otp=1, but nothing happened:
>>>>
>>>> [ 1808.473874] ath10k_pci 0000:03:00.0: pci irq msi-x interrupts 8
>>>> irq_mode 0 reset_mode 0
>>>> [ 1808.618770] ath10k_pci 0000:03:00.0: Direct firmware load for
>>>> ath10k/cal-pci-0000:03:00.0.bin failed with error -2
>>>> [ 1808.687492] dmar: DRHD: handling fault status reg 2
>>>> [ 1808.687506] dmar: DMAR:[DMA Write] Request device [03:00.0] fault
>>>> addr 7ee00000
>>>>                DMAR:[fault reason 05] PTE Write access is not set
>>>> [ 1809.688015] ath10k_pci 0000:03:00.0: unable to write to the device
>>>> [ 1809.688018] ath10k_pci 0000:03:00.0: failed to download normal
>>>> firmware: -110
>>>> [ 1809.688020] ath10k_pci 0000:03:00.0: could not init core (-110)
>>>> [ 1809.688054] ath10k_pci 0000:03:00.0: could not probe fw (-110)
>>>>
>>>> I assembled the otp.bin with fw.bin to get the blob, so I'm not sure
>>>> skip_otp will fix this...
>>>> Now I'm cloning the kvalo's kernel tree, this should be faster than
>>>> picking the single patches.
>>>>
>>>>> FWIW:
>>>>>
>>>>>     $ lspci -vs 05:00.0
>>>>>     05:00.0 Network controller: Qualcomm Atheros Device 003e (rev 20)
>>>>>             Subsystem: Bigfoot Networks, Inc. Device 1525
>>>>>             Flags: bus master, fast devsel, latency 0, IRQ 31
>>>>>             Memory at f7800000 (64-bit, non-prefetchable) [size=2M]
>>>>>             Capabilities: <access denied>
>>>>>             Kernel driver in use: ath10k_pci
>>>>>             Kernel modules: ath10k_pci
>>>> Well, mine seems a bit different:
>>>>
>>>> 03:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless
>>>> Network Adapter (rev 20)
>>>>         Subsystem: Bigfoot Networks, Inc. Killer N1525 Wireless-AC
>>>>         Flags: bus master, fast devsel, latency 0, IRQ 32
>>>>         Memory at f6800000 (64-bit, non-prefetchable) [size=2M]
>>>>         Capabilities: [40] Power Management version 3
>>>>         Capabilities: [50] MSI: Enable+ Count=8/8 Maskable+ 64bit-
>>>>         Capabilities: [70] Express Endpoint, MSI 00
>>>>         Capabilities: [100] Advanced Error Reporting
>>>>         Capabilities: [148] Virtual Channel
>>>>         Capabilities: [168] Device Serial Number 00-00-00-00-00-00-00-00
>>>>         Capabilities: [178] Latency Tolerance Reporting
>>>>         Capabilities: [180] L1 PM Substates
>>>>         Kernel driver in use: ath10k_pci
>>>>         Kernel modules: ath10k_pci
>>>>
>>>>> I would interested in knowing from where you got your drivers/board
>>>>> files. I had to download mine from my laptop manufacturer's (MSI)
>>>>> website.
>>>> I mounted the preinstalled Windows 8 partition on /mnt and run:
>>>> find /mnt -iname '*.bin'
>>>>
>>>> The same files can be found inside the driver installer on the Alienware
>>>> (Dell) website.
>>>>
>>>> Regards,
>>>> Gabriele
>>>>
>>> _______________________________________________
>>> ath10k mailing list
>>> ath10k at lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/ath10k
>
> --
>
> *Gabriele Martino*
>
> Linux Sysadmin & Web Development
>
> g.martino at gmx.com
>
>
>
> _______________________________________________
> ath10k mailing list
> ath10k at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/ath10k



More information about the ath10k mailing list