Subject: Re: wi woes
To: None <current-users@NetBSD.org>
From: Eric Haszlakiewicz <erh@nimenees.com>
List: current-users
Date: 09/17/2003 17:21:37
On Fri, Sep 12, 2003 at 07:30:10PM -0500, Eric Haszlakiewicz wrote:
> On Fri, Sep 12, 2003 at 03:25:09PM -0500, David Young wrote:
> > Also, please break into the debugger next time a hang occurs, and send
> > me the stack trace.
gettick + 0xcb (i386/iso/clock.c:476)
i8254_delay + 0x49 (i386/iso/clock.c:559)
wi_seek_bap + 0xb1 (wi.c:2058, hmm.. not quite right, since that's the for loop)
wi_write_bap + 0x3b (wi.c:2110)
wi_start + 0x4e5 (wi.c:865)
ether_output + 0x596 (if_ethersubr.c:549)
ip_output + 0x8a4 (ip_output.c:828)
udp_output + 0x195 (udp_usrreq.c:922)
udp_usrreq + 0x301 (udp_usrreq.c:1066)
nfs_timer + 0x1ea (nfs_socket.c:1437)
softclock + 0x1ee (kern_timeout.c:403, hmm.. also a line off)
softintr_dispatch + 0xb1 (x86/x86/softintr.c:92)

> > BTW, wi is in need of an overhaul where it does not busy loop while it
> > waits for commands to complete. Instead it should tsleep() in the top
> > half, or frob a state variable and return in the bottom half. That will
> > end the annoying system pauses on PCI/PCMCIA wi and help us to add a
> > USB front-end to wi.
Well, I don't have a serial console on this box, and I updated my sources
since building the kernel, but it looks like it gets stuck in the busy
loop.  Do you need any more information about this?

Also, I noticed odd behavior with this machine not being able to talk to
certain other machines on the wireless network.  Specifically, I've got
a windows XP machine using a D-Link AirPlus (DWL-650+) which can
always talk to the access point/router, but occasionally fails to talk
to the netbsd box.  Removing the arp entry in NetBSD fixes it.  Not sure
if this is related or not, but I thought I'd mention it in case it
triggers any inspiration.

eric