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>