Can the devs give a short/expanded overview of WCN3660 and how it communicates with the driver?

Farm Dve farmdve at data.bg
Thu Feb 12 19:18:24 PST 2015


After poking around the Prima driver and doing some debug prints, I
discovered something interesting, I think. WLANTL_RxFrames which is
called as a callback from WDTS_RxPacket seem to be receiving packets
of type eWLAN_PAL_PKT_TYPE_RX_RAW(number 3) when not associated with
any access point. And while I have not verified it, I believe these
are full unstripped 802.11 frames that could be used, the only problem
is they seem to get filtered out somewhere, and I get 0 packets in
tcpdump.

Here is my previous message that I failed to include in the list:
>>Thank you for the reply Mr. Bjorn.

>>I've looked around in the original Prima driver, and as far as I saw,
>>it doesn't have the necessary code to set the chip in monitoring
>>mode(this happens with iwconfig wlan0 mode monitor which in turn does
>>an ioctl call with the SIOCSIWMODE. And even if it did, the fw needs
>>to not give us fake ethernet packets, but all the frame data we need.
>>So to sum it up, we need to instruct the fw that we want to not
>>connect to any specific AP, make the fw send us everything without
>>stripping the frames.

>>Kind regards.

On Thu, Feb 12, 2015 at 6:48 PM, Bjorn Andersson <bjorn at kryo.se> wrote:
> On Wed, Feb 11, 2015 at 4:52 PM, Farm Dve <farmdve at data.bg> wrote:
>> I asked Mr. Bjorn and he was very helpful, but I am looking at the
>> sources, all of them and I cannot wrap my head around it. I would like
>> to just throw this quickly, that I am not experienced with the linux
>> kernel. Lots of stuff are still hard to grasp, such as how wcn36xx
>> communicates with userspace APIs for networking(such as
>> socket,recv,buf).
>>
>> We have the wcn36xx driver, we also have drivers/staging/prima/CORE,
>> how exactly are they related?
>> If wcn36xx is the driver, what is the purpose of prima/CORE? I looked
>> at prima and there are a bunch of folders with..awful and
>> non-descriptive names, although the files are documented it leaves a
>> lot to be desired. Such as HDD,VOSS,DXE and so forth.
>
> The prima driver is the original Qualcomm/Atheros driver, the wcn36xx
> driver is a reimplementation of that driver using the frameworks
> provided by the Linux kernel. You can see the benefit of this by
> comparing the amount of code in the two implementations. (although
> wcn36xx isn't feature complete yet).
>
>> What about wcnss in net/wireless/wcnss, is it obsolete thanks to wcn36xx?
>>
>
> The wcn36xx driver is the driver for the WiFi part of the combo ship -
> also including BlueTooth and FM-receiver. The wcnss driver seems to be
> the driver for the combo chip itself.
>
> For my mainline testing I reworked the wcnss driver into something
> "understandable" more to the point. You can find this hack here:
>
> https://github.com/andersson/kernel/commit/f3b1e9ed5a803aafb4e4f76dc007fa33e38314a9
>
> [..]
>> I have not figured out if the actual firmware loaded by PIL has some
>> sort of strict verfication preventing altering of the firmware.
>
> Correct, but as far as I understand the firmware you have can work in
> monitoring mode with the official driver. So you should not need to
> change the firmware.
>
>> Basically too much info is still hidden, so much for Atheros/Qualcomm
>> participating in a joint open-source project.
>>
>
> Please look around the mainline kernel, Qualcomm is doing a lot of
> work in the Linux kernel. That work will lead to us having the
> dependencies in place for actually working on this driver in mainline.
>
> Regards,
> Bjorn



More information about the wcn36xx mailing list