Date: Tue, 19 Oct 2010 18:48:35 +0200 From: Bernhard Schmidt <bschmidt@freebsd.org> To: Alexey Dokuchaev <danfe@freebsd.org> Cc: net@freebsd.org Subject: Re: Monitor mode not working for iwi(4) on 7.X Message-ID: <AANLkTikBhtpTRitvyA3i8g7AzSj_CY8a3s8HQjgiXWbF@mail.gmail.com> In-Reply-To: <20101016124152.GA95535@FreeBSD.org> References: <4763016D.7060100@janh.de> <201010081944.50287.bschmidt@techwires.net> <20101009060239.GA88618@FreeBSD.org> <201010092046.41551.bschmidt@techwires.net> <20101010072730.GA91527@FreeBSD.org> <20101016124152.GA95535@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Alexey Dokuchaev <danfe@freebsd.org>: > On Sun, Oct 10, 2010 at 07:27:30AM +0000, Alexey Dokuchaev wrote: >> On Sat, Oct 09, 2010 at 08:46:41PM +0200, Bernhard Schmidt wrote: >> > On Saturday 09 October 2010 08:02:39 Alexey Dokuchaev wrote: >> > > Much better! =A0"airodump-ng iwi0" now sees stations in addition to = APs, >> > > which means it can utilize monitor mode. =A0"ifconfig iwi0 scan" how= ever >> > > does not work after that (and "list scan" returns no results) even i= f I >> > > put adapter back to normal (from promisc and monitor modes) with >> > > ifconfig(8). =A0kldunloading and loading module again fixes the issu= e. >> > >> > Due to enqueueing the scan command in an infinite loop (yeah.. scannin= g >> > returns every frame, that's monitor mode for that device.. *sigh*) we >> > might increment a queue index but never actually dequeueing the comman= d. >> > On 'down' we clear the command queue but not the indices resulting in >> > the cur index not pointing to a filled entry. Attached patch should fi= x >> > that. >> >> It does, thanks! =A0"list scan" gets populated after I -mediaopt monitor >> after scan; module reload is not required anymore. > > Not sure if this is a driver or ifconfig(8) problem, but after I -mediaop= t > monitor, ifconfig(8) still reports it in media line: > > =A0 =A0 =A0 =A0media: IEEE 802.11 Wireless Ethernet autoselect <monitor> > > However, as I said, scan list gets populated, which suggests ifconfig(8) > is getting something wrong. =A0Doing -mediaopt monitor the second time > "knocks" ifconfig(8) though. I can't reproduce that on my stable/7 setup, neither in 'UP' nor in 'DOWN' state. Can you post the exact command sequence you've used? The output differs though.. # ifconfig iwi0 mediaopt monitor # ifconfig iwi0 up # ifconfig iwi0 | grep media media: IEEE 802.11 Wireless Ethernet autoselect (autoselect <monitor>) # ifconfig iwi0 -mediaopt monitor # ifconfig iwi0 | grep media media: IEEE 802.11 Wireless Ethernet autoselect # -- Bernhard
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikBhtpTRitvyA3i8g7AzSj_CY8a3s8HQjgiXWbF>