Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 May 2006 21:01:38 +0200
From:      Ulrich Spoerlein <uspoerlein@gmail.com>
To:        Scot Hetzel <swhetzel@gmail.com>
Cc:        wpaul@freebsd.org, stable@freebsd.org
Subject:   Re: ipw2100 vs ndis(4) -- does it work for anybody?
Message-ID:  <20060503190138.GC3184@roadrunner.q.local>
In-Reply-To: <790a9fff0605021216s6db35c26m465148b051af74d3@mail.gmail.com>
References:  <20060502171813.GA7296@roadrunner.q.local> <790a9fff0605021216s6db35c26m465148b051af74d3@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--ZwgA9U+XZDXt4+m+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Scot, Bill,

Scot Hetzel wrote:
> You need to use the ndisgen script to create the NDIS kernel module
> for your card.
>=20
> ndisgen /compat/ndis/w70n51.inf /compat/ndis/w70n51.sys

Thanks! Since when is this required? I think I never ran this tool
before. Where is this documented?

Anyway, now ndis0 is attached, but it is very, very unstable.

ndis0: <Intel(R) PRO/Wireless LAN 2100 3A Mini PCI Adapter> mem 0xfaffc000-=
0xfaffcfff irq 9 at device 3.0 on pci2
ndis0: NDIS API version: 5.1
ndis0: Ethernet address: 00:0c:f1:3b:f0:41

This is using the IPW driver for XP, version 1.2.4.35, similar panics
happened with the 1.2.2.8 driver. I'm running 6.1-RC from Apr. 25 on a
Dell Inspiron 8600 (Centrino) with a MiniPCI version of the IPW 2100
adapter.

none1@pci2:3:0: class=3D0x028000 card=3D0x25618086 chip=3D0x10438086 rev=3D=
0x04 hdr=3D0x00
    vendor   =3D 'Intel Corporation'
    device   =3D 'Intel(R) PRO/Wireless 2100 LAN Card Driver'
    class    =3D network

Running 'ifconfig ndis0 up scan' several times, I get:
Fatal trap 12: page fault while in kernel mode
fault virtual address   =3D 0x38=20
fault code              =3D supervisor read, page not present
instruction pointer     =3D 0x20:0xc053f3aa
stack pointer           =3D 0x28:0xed2dc024
frame pointer           =3D 0x28:0xed2dc024
code segment            =3D base 0x0, limit 0xfffff, type 0x1b
                        =3D DPL 0, pres 1, def32 1, gran 1
processor eflags        =3D interrupt enabled, resume, IOPL =3D 0
current process         =3D 257 (ifconfig)
[thread pid 257 tid 100052 ]=20
Stopped at      device_is_alive+0x6:    cmpl    $0,0x38(%eax)
db> tr
Tracing pid 257 tid 100052 td 0xc4d7b300=20
device_is_alive(0,0,0,2,0) at device_is_alive+0x6
ntoskrnl_finddev(faffc000,0,ed2dc164,c4c37980,c520dca0) at ntoskrnl_finddev=
+0x19
ntoskrnl_finddev(faffc000,0,ed2dc164,c4c0b000,c520d490) at ntoskrnl_finddev=
+0xb4
ntoskrnl_finddev(faffc000,0,ed2dc164,c4c0b380,c532ed00) at ntoskrnl_finddev=
+0xb4
ntoskrnl_finddev(faffc000,0,ed2dc164,c4bd0a80,c53550b0) at ntoskrnl_finddev=
+0xb4
ntoskrnl_finddev(faffc000,0,ed2dc164,c4b4cc00,c5366100) at ntoskrnl_finddev=
+0xb4
ntoskrnl_finddev(faffc000,0,ed2dc164,c4bd0480,c5205980) at ntoskrnl_finddev=
+0xb4
ntoskrnl_finddev(faffc000,0,ed2dc164,c5181c40,c534a5c0) at ntoskrnl_finddev=
+0xb4
MmMapIoSpace(faffc000,0,1000,0,ed2dc200) at MmMapIoSpace+0x4a
NdisMMapIoSpace(c53682c4,c5310200,faffc000,0,1000) at NdisMMapIoSpace+0x1f
_end(c5368000,0,ed2dc230,c5065e0b,c5368000) at 0xc4bc6761
w70n51_sys_drv_data_start(c5368000,c5310200,c0938bb6,c5368000,0) at w70n51_=
sys_drv_data_start+0x1233
w70n51_sys_drv_data_start(ed2dc280,ed2dc284,ed2dc288,e,c5310200) at w70n51_=
sys_drv_data_start+0x96b
x86_stdcall_wrap_end(c4efc000,0,0,c4efc000,80206910) at x86_stdcall_wrap_en=
d+0x1e
ndis_init(c4efc000,0,0,0,0) at ndis_init+0x37
ndis_ioctl(c4ebfc00,80206910,c52300e0) at ndis_ioctl+0x333
ifhwioctl(80206910,c4ebfc00,c52300e0,c4d7b300,0) at ifhwioctl+0x337
ifioctl(c4f80b20,80206910,c52300e0,c4d7b300,0) at ifioctl+0xc3
soo_ioctl(c4f1bb40,80206910,c52300e0,c4b00d80,c4d7b300) at soo_ioctl+0x487
ioctl(c4d7b300,ed2dcd04,3,0,247) at ioctl+0x41d
syscall(3b,3b,3b,3,1) at syscall+0x2b7
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (54, FreeBSD ELF32, ioctl), eip =3D 0x4813881f, esp =3D 0xbfbfe=
48c, ebp =3D 0xbfbfe4d8 ---
db>

Next thing I tried was running wpa_supplicant, to associate with an
WPA-AP, I immediately got
panic: vm_fault: fault on nofault entry, addr: ed2da000
KDB: enter: panic
[thread pid 100 tid 100052 ]
Stopped at      kdb_enter+0x2b: nop     =20
db> bt
Tracing pid 100 tid 100052 td 0xc4d7b300
kdb_enter(c06ec93f) at kdb_enter+0x2b
panic(c06fe4b4,ed2da000,0,ed2dc00c,c053bcf1) at panic+0xbb
vm_fault(c1043000,ed2da000,1,0,c4d7b300) at vm_fault+0x16c
trap_pfault(ed2dc12c,0,ed2daf58) at trap_pfault+0x182
trap(c4f00090,ed2d0028,c4bc0028,ed2dc29c,ed2dc2c8) at trap+0x2fd
calltrap() at calltrap+0x5
--- trap 0xc, eip =3D 0xc4f73e32, esp =3D 0xed2dc16c, ebp =3D 0xed2dc27c ---
w70n51_sys_drv_data_start(c504b000,d010122,c54ba000,200,ed2dc2d0) at 0xc4f7=
3e32
x86_stdcall_wrap_end(c4f03000,d010122,c54ba000,ed2dc33c,c4f03000) at x86_st=
dcall_wrap_end+0x1e
ndis_ioctl(c4ec0800,c01c697b,c546d060,c4ec08b4,ed2dcc44) at ndis_ioctl+0x6cf
in_control(c5045b20,c01c697b,c546d060,c4ec0800,c4d7b300) at in_control+0xba6
ifioctl(c5045b20,c01c697b,c546d060,c4d7b300,0) at ifioctl+0x198
soo_ioctl(c4f1b0d8,c01c697b,c546d060,c4b00d80,c4d7b300) at soo_ioctl+0x487
ioctl(c4d7b300,ed2dcd04,3,38,297) at ioctl+0x41d
syscall(3b,3b,3b,bfbfe9b0,0) at syscall+0x2b7
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (54, FreeBSD ELF32, ioctl), eip =3D 0x482a081f, esp =3D 0xbfbfe=
95c, ebp =3D 0xbfbfe9c8 ---

Next up, I often get panics on attach, ie., when loading the module. One
lead to this panic:

Fatal trap 12: page fault while in kernel mode
fault virtual address   =3D 0xc5386cf0
fault code              =3D supervisor read, page not present
instruction pointer     =3D 0x20:0xc0935b98
stack pointer           =3D 0x28:0xe3594c70
frame pointer           =3D 0x28:0xe3594c74
code segment            =3D base 0x0, limit 0xfffff, type 0x1b
                        =3D DPL 0, pres 1, def32 1, gran 1
processor eflags        =3D interrupt enabled, resume, IOPL =3D 0
current process         =3D 13 (swi4: clock sio)
[thread pid 13 tid 100003 ]
Stopped at      ntoskrnl_remove_timer+0x4:      movl    0x18(%eax),%ebx
db> tr
Tracing pid 13 tid 100003 td 0xc4b03a80
ntoskrnl_remove_timer(c093d620,0,c093a5be,d82,4) at ntoskrnl_remove_timer+0=
x4
ntoskrnl_timercall(c5386cd8) at ntoskrnl_timercall+0x27
softclock(0) at softclock+0x27b
ithread_execute_handlers(c4b02624,c4b00480) at ithread_execute_handlers+0x1=
21
ithread_loop(c4a6c0d0,e3594d38) at ithread_loop+0x54
fork_exit(c051535c,c4a6c0d0,e3594d38) at fork_exit+0x70
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip =3D 0, esp =3D 0xe3594d6c, ebp =3D 0 ---
db>

I guess I'm doing something rather stupid.

Ulrich Spoerlein

PS: This looks somewhat like PR kern/83586
--=20
 PGP Key ID: 20FEE9DD				Encrypted mail welcome!
Fingerprint: AEC9 AF5E 01AC 4EE1 8F70  6CBD E76E 2227 20FE E9DD
Which is worse: ignorance or apathy?
Don't know. Don't care.

--ZwgA9U+XZDXt4+m+
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFEWP4R524iJyD+6d0RAhBeAKCCK2eIjD/P2SGoVby7MvIzhqEr1gCfSLt3
DnOxGl0SLEfGHLloJ0uR2Do=
=N9kq
-----END PGP SIGNATURE-----

--ZwgA9U+XZDXt4+m+--



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