Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Apr 2011 18:50:14 +0800
From:      Adrian Chadd <adrian.chadd@gmail.com>
To:        freebsd-wireless@freebsd.org
Subject:   Getting -HEAD net80211 modules building under -8
Message-ID:  <BANLkTim0RkQFKdxv=yhh0oBUTMgGVF1PXA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

The subject says it all. I'm trying to do this for people who would like to
take advantage of net80211 on -8 so they don't have to upgrade to get newer
stuff.
(And so I can leave my netbook at -8 and not have to upgrade.)

Here's what I've done so far to get a module to build. I'd like to try and
commit whatever's needed to get it to build without too much evilness.

Firstly, I needed to move /usr/src/sys/net80211 out of the way, as the
include's are #include <net80211/ieee80211_X.h> and the search path is:

cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc
-I. -I@ -I@/contrib/altq ...

.. and this obviously isn't any good for what needs to happen here. I wonder
if it's possible to modify the early include path to include -I../.. so the
correct net80211 headers are included.

The patches so far:

sys/modules/wlan/Makefile hackery:

Index: Makefile
===================================================================
--- Makefile    (revision 220650)
+++ Makefile    (working copy)
@@ -15,6 +15,8 @@
 SRCS+=    bus_if.h device_if.h opt_inet.h opt_inet6.h opt_ipx.h opt_wlan.h
\
     opt_ddb.h

+CFLAGS+=    -I../..
+
 .if !defined(KERNBUILDDIR)
 opt_wlan.h:
     echo "#define IEEE80211_DEBUG 1" > ${.TARGET}


.. build hackery:

(adrian) eeepc:/data/1/adrian/head-2/sys/modules/wlan% cat /data/1/bin/build

make MODULES_OVERRIDE="wlan wlan_acl wlan_amrr wlan_ccmp wlan_rssadapt
wlan_tkip wlan_wep wlan_xauth" KMODDIR="/boot/kernel" KMODOWN='adrian'
KMODGRP='adrian' SYSDIR=/home/adrian/work/freebsd/releng-8.0/sys $@

.. and hackery to the ioctl interface:

Index: ieee80211_ioctl.c
===================================================================
--- ieee80211_ioctl.c    (revision 220650)
+++ ieee80211_ioctl.c    (working copy)
@@ -3251,7 +3251,11 @@
     void *ioctl;

     IEEE80211_LOCK(ic);
+#if __FreeBSD_version < 900000
+    if_purgemaddrs(parent);
+#else
     if_delallmulti(parent);
+#endif
     ioctl = parent->if_ioctl;    /* XXX WAR if_allmulti */
     parent->if_ioctl = NULL;
     TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTim0RkQFKdxv=yhh0oBUTMgGVF1PXA>