linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Linux wireless compatibility package for kernels >= 2.6.22
@ 2007-11-11  3:53 Luis R. Rodriguez
  2007-11-12  4:27 ` Pavel Roskin
  0 siblings, 1 reply; 5+ messages in thread
From: Luis R. Rodriguez @ 2007-11-11  3:53 UTC (permalink / raw)
  To: wireless; +Cc: ath5k-devel

I've started a compatibility package for the Linux wireless subsystem
for kernels >= 2.6.22. You can download it here:

http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2

If you'd like to send patches to add new drivers (as you test them
from wireless-2.6.git), please send against

git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat-wireless-2.6.git

I'll just paste the README here now as most info is already there.

--

Linux Wireless comptatibility package
=====================================

This is a Linux wireless comptatibility package which provides the latest
Linux wireless subsystem enhancements for kernels 2.6.22 and above. We provide
comptatibility support since 2.6.22 as that is when mac80211 was introduced
onto the stock kernel. This adds mac80211 and mac80211 drivers as we
go on testing
them.

Where to get the latest
-----------------------

This package lets you build your own 'latest', all you need is a local
git repository
checkout of wireless-2.6.git. However since not many users are expected to keep
the git repository updated we provide hourly snapshots against the latest at:

http://linuxwireless.org/download/compat-wireless-2.6/

Building, and installing
------------------------

Build: build the latest linux wireless subsystem

        make

Install:

We use the updates/ directory so your distribution's drivers are left intact.

        sudo make install

Uninstall:

This nukes our changes to updates/ so you can go back to using your
distribution's supported drivers.

        sudo make uninstall

Load:

This unloads your old mac80211 and wireless drivers and loads the new
shiny ones. For example if ipw3945 and its proprietary daemon are found
it'll be stopped and the module unloaded and then iwl3945 will be loaded.

        sudo make load

Drivers
-------

We'll add more as we go...

Driver                  2.6.22  2.6.23
ath5k                   OK      ?
b43 + ssb               ?       ?
iwl3945                 OK      ?
iwl4965                 ?       ?
zd1211rw-mac80211       OK      ?

Known issues
------------

* Strange wireless device names:

On Ubuntu and Fedora you may end up with strange network device names,
for example, wlan0_rename. This is a known issue and will be worked on.

* nl80211:

More compatibility work is needed to add nl80211

* b43:

We still need to iron out some compat stuff for b43

* MadWifi:

If MadWifi is present the build system will detect this and only recommend
what to do. At the present time ath_pci is being picked up over ath5k if both
are present. What the build system currently suggests is to just rename
ath_pci.ko to ath_pci.ko.ignore and then running depmod -ae. This is not
required with ipw3945 and iwl3945.

Why?
----

For users or developers stuck on older kernels that want to help test or
patch wireless work. Additionally if you're on a recent kernel this lets
you get the latest and greatest wireless-2.6 git work without much effort.
This may mean new drivers for some users. Last but not least we hope this
will encourage vendors and developers to post patches upstream first
rather than forking or maintaining their own mac80211 releases with
their own patches for their own drivers.

Bugs
-----

If you've found a bug please report it to our linux-wireless mailing list:

linux-wireless@vger.kernel.org

Report the bug because you are working with the latest and greatest.
If your bug is compatibility-related then we should still try to fix
it within the compat.[ch] work.

License
-------

This work is a subset of the Linux kernel as such we keep the kernel's
Copyright practice. Some files have their own copyright and in those
cases the license is mentioned in the file. All additional work made
to building this package is licensed under the GPLv2.

Developers
----------

Please try adding new drivers, test them and if they work enable them. You
can then send patches. Compatibility work goes into compat/compat.[ch]. If
using those files do not suffice additional actual code changes can go into
compat/compat.diff.

scripts/admin-clean.sh          - Cleans the compat-wireless-2.6 tree
scripts/admin-update.sh         - Updates compat-wireless-2.6 with your git tree
scripts/admin-refresh.sh        - Does the above two

To add new drivers:

1. Add directory to scripts/admin-update.sh $DRIVERS variable
2. Add new compat-wireless-2.6/ dir to obj-y on the local Makefile
3. Update compat patch:

        cp drivers/foo/Makefile drivers/Makefile.old
        # edit drivers/foo/Makefile and make necessary changes to enable module
        diff -u drivers/foo/Makefile.old drivers/foo/Makefile >> \
                compat/compat.diff
        # Append to compat/compat.[ch] any new changes needed
        # to support the driver, please be specific about the reasons
        # for your additions

4. Refresh and test:
        ./scripts/admin-refresh.sh
5. Send patches of the work

Patches
-------

Please send patches against:

git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat-wireless-2.6.git

To: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
CC: linux-wireless@vger.kernel.org
Subject: [PATCH] compat-2.6: add driver foo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Linux wireless compatibility package for kernels >= 2.6.22
  2007-11-11  3:53 Linux wireless compatibility package for kernels >= 2.6.22 Luis R. Rodriguez
@ 2007-11-12  4:27 ` Pavel Roskin
  2007-11-13 23:10   ` Luis R. Rodriguez
  0 siblings, 1 reply; 5+ messages in thread
From: Pavel Roskin @ 2007-11-12  4:27 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: wireless, ath5k-devel

Hello!

On Sat, 2007-11-10 at 22:53 -0500, Luis R. Rodriguez wrote:
> I've started a compatibility package for the Linux wireless subsystem
> for kernels >= 2.6.22. You can download it here:
> 
> http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2

I would prefer that you use exactly the same path for all drivers, so
that the patches are compatible.  Wireless drivers should be in
drivers/net/wireless.

Also, I cannot compile it against current wireless-2.6/everything
compiled outside the source tree:

/home/proski/src/compat-wireless-2.6/drivers/iwlwifi/iwl-3945-rs.c:40:40: error: ../mac80211/ieee80211_rate.h: No such file or directory

After some hack to make it compile, I still get:

  CC [M]  /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.o
/home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:6: warning:
"LINUX_VERSION_CODE" is not defined
/home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:28:
warning: "KERNEL_VERSION" is not defined
/home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:42: error:
missing binary operator before token "("

-- 
Regards,
Pavel Roskin


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Linux wireless compatibility package for kernels >= 2.6.22
  2007-11-12  4:27 ` Pavel Roskin
@ 2007-11-13 23:10   ` Luis R. Rodriguez
  2007-11-14 18:02     ` Pavel Roskin
  0 siblings, 1 reply; 5+ messages in thread
From: Luis R. Rodriguez @ 2007-11-13 23:10 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: wireless, ath5k-devel

On Nov 11, 2007 11:27 PM, Pavel Roskin <proski@gnu.org> wrote:
> Hello!
>
> On Sat, 2007-11-10 at 22:53 -0500, Luis R. Rodriguez wrote:
> > I've started a compatibility package for the Linux wireless subsystem
> > for kernels >= 2.6.22. You can download it here:
> >
> > http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
>
> I would prefer that you use exactly the same path for all drivers, so
> that the patches are compatible.  Wireless drivers should be in
> drivers/net/wireless.

Thanks for reviewing this. I've changed the directories to match the
kernel's. As a consequence the updates/ directory also have a similar
structure now. Upon install we'll be sure to remove the old
directories if present for now.

> Also, I cannot compile it against current wireless-2.6/everything
> compiled outside the source tree:
>
> /home/proski/src/compat-wireless-2.6/drivers/iwlwifi/iwl-3945-rs.c:40:40: error: ../mac80211/ieee80211_rate.h: No such file or directory

I ran into to this but I had fixed it in compat.diff. Anyway, this
won't be necessary anymore as the directories match the kernel's now.

> After some hack to make it compile, I still get:
>
>   CC [M]  /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.o
> /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:6: warning:
> "LINUX_VERSION_CODE" is not defined
> /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:28:
> warning: "KERNEL_VERSION" is not defined
> /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:42: error:
> missing binary operator before token "("

I'm not sure what happened here as <linux/version.h> should have been
included in mac80211.h. Anyway, to be sure we won't run into these
I've added <net/compat.h> to <net/cfg80211.h> which much of the
wireless subsystem uses.

Please give this new release a try:

http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2

I've also started documenting this online:

http://linuxwireless.org/en/users/download

Note: This link will be gone soon and replaced with:

http://linuxwireless.org/en/users/Download

I need 2.6.23 testers (hint Fedora people).

  Luis

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Linux wireless compatibility package for kernels >= 2.6.22
  2007-11-13 23:10   ` Luis R. Rodriguez
@ 2007-11-14 18:02     ` Pavel Roskin
  2007-11-16 23:54       ` Luis R. Rodriguez
  0 siblings, 1 reply; 5+ messages in thread
From: Pavel Roskin @ 2007-11-14 18:02 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: wireless, ath5k-devel

Hello, Luis!

On Tue, 2007-11-13 at 18:10 -0500, Luis R. Rodriguez wrote:

> I ran into to this but I had fixed it in compat.diff. Anyway, this
> won't be necessary anymore as the directories match the kernel's now.

OK, that's much better now.

> > After some hack to make it compile, I still get:
> >
> >   CC [M]  /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.o
> > /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:6: warning:
> > "LINUX_VERSION_CODE" is not defined
> > /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:28:
> > warning: "KERNEL_VERSION" is not defined
> > /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:42: error:
> > missing binary operator before token "("
> 
> I'm not sure what happened here as <linux/version.h> should have been
> included in mac80211.h. Anyway, to be sure we won't run into these
> I've added <net/compat.h> to <net/cfg80211.h> which much of the
> wireless subsystem uses.

This problem is still there.  I think the best approach would be to
"force-feed" compat.h to the compiler.  It already includes
linux/version.h, but since it's the first header, it needs
linux/autoconf.h.

The following patch works for me.  The compat.diff patch can be cleaned
up, but it's a separate issue.


Force inclusion of compat.h first.

Include linux/autoconf.h before other headers.

Signed-off-by: Pavel Roskin <proski@gnu.org>
---

 Makefile        |    2 +-
 compat/compat.h |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)


diff --git a/Makefile b/Makefile
index af1e02f..f1c39a9 100644
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@ ifneq ($(KERNELRELEASE),)
 -include $(src)/config.mk
 
 # This is a hack! But hey.. it works, got any better ideas, send a patch ;)
-NOSTDINC_FLAGS := -I$(PWD)/include/ $(CFLAGS)
+NOSTDINC_FLAGS := -I$(PWD)/include/ -include $(M)/compat/compat.h $(CFLAGS)
 
 obj-y := net/wireless/ net/mac80211/  \
 	drivers/net/wireless/ath5k/ \
diff --git a/compat/compat.h b/compat/compat.h
index 6ae32ef..05995f2 100644
--- a/compat/compat.h
+++ b/compat/compat.h
@@ -1,6 +1,7 @@
 #ifndef LINUX_26_COMPAT_H
 #define LINUX_26_COMPAT_H
 
+#include <linux/autoconf.h>
 #include <linux/kernel.h>
 #include <linux/netdevice.h>
 #include <linux/genetlink.h>


-- 
Regards,
Pavel Roskin


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: Linux wireless compatibility package for kernels >= 2.6.22
  2007-11-14 18:02     ` Pavel Roskin
@ 2007-11-16 23:54       ` Luis R. Rodriguez
  0 siblings, 0 replies; 5+ messages in thread
From: Luis R. Rodriguez @ 2007-11-16 23:54 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: wireless, ath5k-devel

On Nov 14, 2007 1:02 PM, Pavel Roskin <proski@gnu.org> wrote:
> Hello, Luis!
>
> On Tue, 2007-11-13 at 18:10 -0500, Luis R. Rodriguez wrote:
>
> > I ran into to this but I had fixed it in compat.diff. Anyway, this
> > won't be necessary anymore as the directories match the kernel's now.
>
> OK, that's much better now.
>
> > > After some hack to make it compile, I still get:
> > >
> > >   CC [M]  /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.o
> > > /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:6: warning:
> > > "LINUX_VERSION_CODE" is not defined
> > > /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:28:
> > > warning: "KERNEL_VERSION" is not defined
> > > /home/proski/src/compat-wireless-2.6/mac80211/ieee80211.c:24:42: error:
> > > missing binary operator before token "("
> >
> > I'm not sure what happened here as <linux/version.h> should have been
> > included in mac80211.h. Anyway, to be sure we won't run into these
> > I've added <net/compat.h> to <net/cfg80211.h> which much of the
> > wireless subsystem uses.
>
> This problem is still there.  I think the best approach would be to
> "force-feed" compat.h to the compiler.  It already includes
> linux/version.h, but since it's the first header, it needs
> linux/autoconf.h.
>
> The following patch works for me.  The compat.diff patch can be cleaned
> up, but it's a separate issue.
>
>
> Force inclusion of compat.h first.
>
> Include linux/autoconf.h before other headers.
>
> Signed-off-by: Pavel Roskin <proski@gnu.org>

Thanks, applied. More in the next e-mail.

  Luis

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-11-16 23:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-11  3:53 Linux wireless compatibility package for kernels >= 2.6.22 Luis R. Rodriguez
2007-11-12  4:27 ` Pavel Roskin
2007-11-13 23:10   ` Luis R. Rodriguez
2007-11-14 18:02     ` Pavel Roskin
2007-11-16 23:54       ` Luis R. Rodriguez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).