AdHoc (IBSS) on Nexus 7 (2013) connecting to one node only

Jaco Joubert jdjoubert at gmail.com
Mon Oct 20 23:59:17 PDT 2014


>>'struct ieee80211_rx_status' has no member named 'vendor_radiotap_len'
> This looks like you are using wrong mac80211 driver.

Thanks for the hint.  I am battling a bit to get the right version though.
My lack of intimate understanding on compiling drivers is probably the
reason why I'm currently failing to match up the relevant versions of
linux-next, backports and wcn36xx to compile this driver for CM11.
I tried to pick a version of linux-next where the mac80211 driver
still had the 'vendor_radiotap_len' flag, but I am now getting
different compile errors, like:
..../backport-wcn/net/wireless/reg.c: In function 'reg_process_hint':
..../backport-wcn/net/wireless/reg.c:1794:22: error:
'system_power_efficient_wq' undeclared (first use in this function)

This probably points to a mismatch in versions between the backports I
applied to the selected linux-next version.
Depending on time I might keep at it for a while, otherwise I'll
implement a manual workaround for our current project to not use
ad-hoc wifi.

Thanks for all your assistance anyway.

On Fri, Oct 17, 2014 at 4:28 PM, Eugene Krasnikov <k.eugene.e at gmail.com> wrote:
>>'struct ieee80211_rx_status' has no member named 'vendor_radiotap_len'
> This looks like you are using wrong mac80211 driver.
>
>> All the other modules are compiled, but it is as if the build ignores
> wcn36xx completely.
>
> When you use backports it will change your makefile so instead of
> using CONFIG_WCN36XX it will rename it to something like
> CPTCFG_WCN36XX therefore build system will skip building driver.
>
> 2014-10-15 20:04 GMT+01:00 Jaco Joubert <jdjoubert at gmail.com>:
>> Eugene,
>>
>> I eventually gave this a try.
>> I obviously need to adapt the steps a bit for deb.  I am currently
>> running into a problem compiling wcn36xx and I'm not sure if I'm maybe
>> doing something wrong.  I hope you can direct me a bit..
>>
>> I followed the steps to compile CyanogenMod and then configuring its
>> kernel to disable the prima driver and allow for kernel modules.
>> Although I haven't flashed my device with that version yet, it looks
>> like it builds fine.
>>
>> I then followed the steps to compile wcn36xx.
>>
>> 1.  The instructions refer specifically to the 'next-20131122' tag.
>> I'm not sure if that is a strict requirement, or if it was only the
>> latest at the time of writing.. In the current linux-next repository,
>> I can't find a tag like that (next-20131122).  What I did was to look
>> at the latest 'refresh' on backports, which in my case is commit
>> ed7bd06 ("backports: refresh patches on next-20140905").  I therefore
>> ran gentree referring to that tag (next-20140905).  (On a side-note..
>> I had to make a small fix in gentree to parse the result from git
>> ls-tree correctly.. with my git version, the file portion is not
>> tab-separated from the meta-data, but just space-separated).
>>
>> 2.  The instructions then indicate that I should link in the wcn36xx
>> code into backport-wcn, but in my case there is already a wcn36xx
>> directory in backport-wcn after I ran gentree
>> (drivers/net/wireless/ath/wcn36xx/).  I tried two approaches:
>>
>> 2.1.  Leave the one resulting from gentree as-is.  If I build with
>> this, I get the following error:
>> ..../backport-wcn/drivers/net/wireless/ath/wcn36xx/txrx.c: In function
>> 'wcn36xx_rx_skb':
>> ..../backport-wcn/drivers/net/wireless/ath/wcn36xx/txrx.c:61:2: error:
>> 'struct ieee80211_rx_status' has no member named 'vendor_radiotap_len'
>>
>> 2.2.  Remove the one resulting from gentree and replace it with a
>> symlink to the latest source from the wcn36xx repo.  In this case,
>> although the build runs through fine, it skips compiling wcn36xx.ko.
>> All the other modules are compiled, but it is as if the build ignores
>> wcn36xx completely.
>>
>> Could you please indicate if I'm missing something obvious?  I
>> appreciate your time.
>>
>> Regards,
>> Jaco
>>
>> On Sat, Aug 30, 2014 at 11:21 AM, Eugene Krasnikov <k.eugene.e at gmail.com> wrote:
>>> The approach should be the same on both mako and deb. Just follow step
>>> by step instructions on a wiki and that should work by default. If you
>>> face any problems, we can try to sort that out and update wiki.
>>>
>>> 2014-08-28 8:49 GMT+01:00 Jaco Joubert <jdjoubert at gmail.com>:
>>>> In the meantime I played a bit with CyanogenMod (which by the way does use
>>>> the prima driver compiled as part of the kernel.. not a dynamic module).
>>>> I experienced limited success for my specific requirement.  I sometimes have
>>>> to re-configure the connection a couple of times before it sets up correctly
>>>> and allow traffic to other ad-hoc nodes in range.  And when it does and
>>>> there are multiple other nodes on the ad-hoc network, it only supports
>>>> traffic to one (seems randomly chosen) node.
>>>>
>>>> While I'm trying to get to the bottom of why it (prima driver) is behaving
>>>> like it is, I am also considering replacing the prima driver with wcn36xx as
>>>> a test.  I unfortunately have limited experience in these sort of
>>>> operations.  Are there any sort of guidelines I can follow to to this
>>>> replacement, or am I completely on my own?  I can currently build
>>>> CyanogenMod from source.  Basically need to rip out prima and replace with
>>>> wcn36xx.  Also not sure if wcn36xx can/should be compiled as part of the
>>>> kernel, or should it be a dynamically loaded module.
>>>>
>>>> The wcn36xx driver page has some instructions for doing this kind of thing
>>>> for the "Mako" device on CM10.1
>>>> (http://wireless.kernel.org/en/users/Drivers/wcn36xx#Mako_on_CM_10.1).  I am
>>>> currently using the "deb" device on CM11 (M9).  I could attempt to roughly
>>>> follow the Mako guide, but I just don't want to do that if I know up-front
>>>> that my setup is too different.
>>>>
>>>> Any assistance would be greatly appreciated.
>>>>
>>>>
>>>> On Wed, Jul 23, 2014 at 4:04 PM, YanBo <dreamfly281 at gmail.com> wrote:
>>>>>
>>>>> Hi Jaco,
>>>>>
>>>>> The Prima driver also not implemented the ADHOC support, but there are P2P
>>>>> support in you may have a reference,
>>>>> WCN36XX and prima are totally different in the driver architect (IE
>>>>> WCN26XX use the wireless MAC80211 but Prima has it own 80211 stack)and
>>>>> license, you need evaluation them based on your specify requirement.
>>>>>
>>>>> BR /Yanbo
>>>>>
>>>>>
>>>>> On Wed, Jul 23, 2014 at 12:42 AM, Jaco Joubert <jdjoubert at gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> Thanks a lot for the responses.  I will investigate the prima driver as
>>>>>> well.
>>>>>>
>>>>>> I suppose its not fair to ask for an opinion between the 2 drivers on
>>>>>> this mailing list (wcn36xx vs prima), but maybe specifically related
>>>>>> to the Nexus 7 2013 device and CyanogenMod..
>>>>>> Should I rather try to get the prima driver behaving like I need, or
>>>>>> should I try replacing the prima driver with the wcn36xx driver?
>>>>>> Maybe someone has done this already for the specific device mentioned
>>>>>> and can give feedback on the outcome?
>>>>>>
>>>>>> On Tue, Jul 22, 2014 at 5:11 PM, Kalle Valo <kvalo at qca.qualcomm.com>
>>>>>> wrote:
>>>>>> > Jaco Joubert <jdjoubert at gmail.com> writes:
>>>>>> >
>>>>>> >> Apologies for my limited knowledge on this, but I'm not 100% sure!
>>>>>> >>
>>>>>> >> root at deb:/ # ls /sys/module/ | grep -E 'wcn|prima'
>>>>>> >> wcnss_ssr_8960
>>>>>> >> wcnsscore
>>>>>> >>
>>>>>> >> Does this mean wcn36xx?  Or how can I check?
>>>>>> >
>>>>>> > You should see wcn36xx module loaded. AFAIK CyanogenMod uses the prima
>>>>>> > driver and if you didn't compile wcn36xx yourself, you are most likely
>>>>>> > using the prima driver. And that driver is out of scope in this mailing
>>>>>> > list.
>>>>>> >
>>>>>> > --
>>>>>> > Kalle Valo
>>>>>>
>>>>>> _______________________________________________
>>>>>> wcn36xx mailing list
>>>>>> wcn36xx at lists.infradead.org
>>>>>> http://lists.infradead.org/mailman/listinfo/wcn36xx
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Eugene
>
>
>
> --
> Best regards,
> Eugene



More information about the wcn36xx mailing list