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

Jaco Joubert jdjoubert at gmail.com
Wed Oct 15 12:04:18 PDT 2014


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



More information about the wcn36xx mailing list