From: Hauke Mehrtens <hauke@hauke-m.de>
To: Arend van Spriel <arend@broadcom.com>
Cc: JoSH Lehan <krellan@gmail.com>,
linux-wireless@vger.kernel.org,
"Luis R. Rodriguez" <mcgrof@do-not-panic.com>
Subject: Re: Using compat-drivers conflicts with kernel mac80211 and cfg80211
Date: Sat, 11 May 2013 11:18:14 +0200 [thread overview]
Message-ID: <518E0CD6.3040501@hauke-m.de> (raw)
In-Reply-To: <518DF4B1.3020706@broadcom.com>
On 05/11/2013 09:35 AM, Arend van Spriel wrote:
> On 05/11/2013 02:52 AM, JoSH Lehan wrote:
>> It seems I can choose to use the mac80211/cfg80211 that came with the
>> kernel,*or*, the mac80211/cfg80211 that come with compat-drivers. Is
>> this correct? I'll have to maintain these two mac80211/cfg80211
>> drivers in separate directories, since they have the same name, and it
>> will complicate my detection/loading script, but if there's no other
>> way, then this is what needs to be done.
>
> Luis may correct me, but I think you are correct. compat-drivers
> provides a compat.ko which is the glue between new drivers and your
> kernel. With the new drivers you get new features provided you have new
> mac80211/cfg80211 as well. Hence the glue is between wireless modules
> (including mac80211/cfg80211) and rest of your kernel. On a non-embedded
> system the compat-driver modules are installed in a separate folder
> /lib/modules/<your_kernel_version/updates. depmod is run during the
> install in which this folder takes precedence.
>
> Not sure what your use-case is. You have a system in which different
> wireless devices may be plugged in or ...?
You can only use mac80211/cfg80211 from compat-driver *or* the kernel.
There was a plan to rename all exported symbols and make it possible to
use both at the same time, but no one fully implemented it. The API
between mac80211/cfg80211 is not stable and changing very often to
implement new features so it is not possible to use new drivers with an
older version of mac80211/cfg80211 or the other way around.
compat.ko is not a glue it is more a module containing all the functions
not available in the kernel comopat-drivers was compiled against, but
needed by some drivers or frameworks like mac80211.
You should take all wireless drivers using mac80211/cfg80211 from
compat-drivers and not use the in kernel versions any more.
>> Could it be because I cross-compile compat-drivers? Looking at the
>> installation scripts, it's clearly intended to be ran by the end user
>> to replace the drivers in their distribution with updated drivers, and
>> it could be that I missed something when tweaking it to cross-compile
>> the drivers and not install them locally.
>
> Probably not, provided you build it for your kernel version.
>
>> Has anybody else tried to use compat-drivers to build for an embedded
>> system? If so, what's the recommended solution? How to solve the
>> mac80211/cfg80211 problem, where the kernel-compiled mac80211/cfg80211
>> modules conflict with their equivalent compat-drivers modules?
>
> Depends what you call an embedded system. We used it to run our driver
> on Android. Just cross-compiling it and install it on the system is what
> we did. Recently, there have been a number of people walking that path
> and contacting us. It may be an idea to have a compat-drivers feature to
> generate Android tarballs as it is always running a few kernel versions
> behind mainline.
>
> Regards,
> Arend
next prev parent reply other threads:[~2013-05-11 9:18 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-11 0:52 Using compat-drivers conflicts with kernel mac80211 and cfg80211 JoSH Lehan
2013-05-11 7:35 ` Arend van Spriel
2013-05-11 9:18 ` Hauke Mehrtens [this message]
2013-05-11 23:10 ` JoSH Lehan
2013-05-13 4:55 ` Luis R. Rodriguez
2013-05-11 22:54 ` JoSH Lehan
2013-05-11 23:10 ` Larry Finger
2013-05-11 23:21 ` JoSH Lehan
2013-05-12 0:46 ` Adrian Chadd
2013-05-12 10:34 ` Arend van Spriel
2013-05-13 3:29 ` JoSH Lehan
2013-05-13 3:56 ` JoSH Lehan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=518E0CD6.3040501@hauke-m.de \
--to=hauke@hauke-m.de \
--cc=arend@broadcom.com \
--cc=krellan@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=mcgrof@do-not-panic.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.