Monitor mode not working for iwi(4) on 7.X
Alexey Dokuchaev
danfe at FreeBSD.org
Fri Oct 8 13:18:50 UTC 2010
On Thu, Oct 07, 2010 at 08:43:37PM +0200, Bernhard Schmidt wrote:
> Try the attached patch, this is basically the code from stable/6
> ported to head and stable/7. I did only some basic tests but monitor
> mode seems to work and it is still possible to use the card in STA
> mode.
>
> I'm not sure why that got lost, but there must be a reason I'm not
> seeing right now. If someone has more knowledge about that, please
> let me know, otherwise I intend to commit it this weekend.
Unfortunately, I am getting instant panic when trying any of aircrack-ng
suite utilities ("ifconfig iwi0 scan/list scan" works though):
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x0
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc0768d42
stack pointer = 0x28:0xe4112c80
frame pointer = 0x28:0xe4112c98
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 35 (iwi0 taskq)
(kgdb) bt
...
#6 0xc060cae0 in trap_fatal (frame=0xe4112c40, eva=0)
at /usr/src/sys/i386/i386/trap.c:941
#7 0xc060cd90 in trap_pfault (frame=0xe4112c40, usermode=0, eva=0)
at /usr/src/sys/i386/i386/trap.c:863
#8 0xc060d7f7 in trap (frame=0xe4112c40) at /usr/src/sys/i386/i386/trap.c:541
#9 0xc05f4d9b in calltrap () at /usr/src/sys/i386/i386/exception.s:166
#10 0xc0768d42 in iwi_monitor_scan (arg=0xc3dcc000, npending=4)
at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:2744
...
(kgdb) f 10
#10 0xc0768d42 in iwi_monitor_scan (arg=0xc3dcc000, npending=4)
at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:2744
2744 struct iwi_softc *sc = ic->ic_ifp->if_softc;
(kgdb) l
2739
2740 static void
2741 iwi_monitor_scan(void *arg, int npending)
2742 {
2743 struct ieee80211com *ic = arg;
2744 struct iwi_softc *sc = ic->ic_ifp->if_softc;
2745 IWI_LOCK_DECL;
2746
2747 IWI_LOCK(sc);
2748 (void) iwi_scanchan(sc, 2000, 0);
(kgdb) p ((struct ieee80211com *)arg)->ic_ifp
$1 = (struct ifnet *) 0x0
Any suggestions?
./danfe
More information about the freebsd-net
mailing list