Intel 3945ABG with ipw driver on CURRENT

Pankov Pavel pankov_p at mail.ru
Thu Oct 4 09:07:54 PDT 2007


On Thursday 04 October 2007 18:51:10 Mel wrote:
> On Thursday 04 October 2007 10:31:38 Tom Evans wrote:
> > On Wed, 2007-10-03 at 17:55 +0100, Rui Paulo wrote:
> > > On 10/3/07, Frank Staals <frankstaals at gmx.net> wrote:
> > > > Hey,
> > > >
> > > > Last week I finally received my Dell Latitude D630 which is using the
> > > > Intel 3945ABG chipset for it's wireless connectivity. This should be
> > > > supported with the ipw driver which is available in CURRENT.
> > > > Unfortunately my card is not detected when loading the module.
> > >
> > > If your card is a 3945ABG, then you need the wpi driver, which is not
> > > included (yet, I hope) in FreeBSD.
> > >
> > > Try here:
> > > http://www.clearchain.com/wiki/Wpi
> > >
> > > Regards.
> >
> > This prompted me to give the wpi driver another go. Both the snapshot
> > 20070923-freebsd-wpi and the version available in perforce fail to load,
> > due to
> >   link_elf: symbol _mtx_assert undefined
> >
> > FreeBSD version is (csup'ed ~1hr before build time)
> > FreeBSD zoot.mintel.co.uk 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Wed Oct  3
> > 11:47:24 BST 2007     root at zoot.mintel.co.uk:/usr/obj/usr/src/sys/ZOOT
> > i386
>
> Does ZOOT have WITNESS?
>
> It loads for me, but locks up machine randomly, sometimes on scan,
> sometimes on up, sometimes on assigning an IP. It points to the lock set at
> the end of _init(). Ben knows.

Try this patch, please. It makes wpi absolutely stable for me (it looses link 
sometimes, but it doesn't panic anymore at least:

--- 20070923-freebsd-wpi/sys/dev/wpi/if_wpi.c~	2007-09-23 18:21:03.000000000 
+0400
+++ 20070923-freebsd-wpi/sys/dev/wpi/if_wpi.c	2007-09-29 21:31:58.000000000 
+0400
@@ -725,8 +725,9 @@
 	ic->ic_newstate = wpi_newstate;
 	ieee80211_media_init(ic, wpi_media_change, ieee80211_media_status);
 
-	sc->amrr.amrr_min_success_threshold = 1;
-	sc->amrr.amrr_max_success_threshold = 15;
+	ieee80211_amrr_init(&sc->amrr, ic,
+		IEEE80211_AMRR_MIN_SUCCESS_THRESHOLD,
+		IEEE80211_AMRR_MAX_SUCCESS_THRESHOLD);
 
 	/* whilst ieee80211_ifattach will listen for ieee80211 frames,
 	 * we also want to listen for the lower level radio frames 


More information about the freebsd-mobile mailing list