NetBSD Problem Report #43125
From gson@gson.org Mon Apr 5 11:02:49 2010
Return-Path: <gson@gson.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by www.NetBSD.org (Postfix) with ESMTP id A44BB63B11D
for <gnats-bugs@gnats.NetBSD.org>; Mon, 5 Apr 2010 11:02:49 +0000 (UTC)
Message-Id: <20100405110246.59E9C75EAD@guava.gson.org>
Date: Mon, 5 Apr 2010 14:02:46 +0300 (EEST)
From: gson@gson.org (Andreas Gustafsson)
Reply-To: gson@gson.org (Andreas Gustafsson)
To: gnats-bugs@gnats.NetBSD.org
Subject: zyd(4) crashes with Buffalo WLI-U2-KG54L
X-Send-Pr-Version: 3.95
>Number: 43125
>Category: kern
>Synopsis: zyd(4) crashes with Buffalo WLI-U2-KG54L
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: mlelstv
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Apr 05 11:05:00 +0000 2010
>Closed-Date:
>Last-Modified: Wed Feb 02 20:30:02 +0000 2011
>Originator: Andreas Gustafsson
>Release: NetBSD-current as of roughly Feb 24, 2010
>Organization:
>Environment:
System: NetBSD
Architecture: i386
Machine: i386
>Description:
Connecting a Buffalo WLI-U2-KG54L USB WLAN dongle to a
NetBSD-current/i386 machine, it successfully attaches as "zyd0",
but attempting to ifconfig the interface consistently leads
to a kernel trap. Even the command "ifconfig zyd0" (with no
further arguments) causes a crash.
Screenshot of trap message and backtrace:
http://www.gson.org/netbsd/bugs/buffalo/backtrace.jpg
Photo of Buffalo WLI-U2-KG54L:
http://www.gson.org/netbsd/bugs/buffalo/device.jpg
The screenshot is from a -current as of a couple of weeks ago,
but I have also reproduced the problem with a -current built
from 2010.04.04.23.38.55 sources.
>How-To-Repeat:
Connect a WLI-U2-KG54L. Attempt to use it.
>Fix:
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: kern-bug-people->mlelstv
Responsible-Changed-By: mlelstv@NetBSD.org
Responsible-Changed-When: Sun, 06 Jun 2010 15:20:38 +0000
Responsible-Changed-Why:
I can repeat the problem with a SMC USB2.0 WLAN and have a patch.
State-Changed-From-To: open->analyzed
State-Changed-By: mlelstv@NetBSD.org
State-Changed-When: Sun, 06 Jun 2010 15:20:38 +0000
State-Changed-Why:
zyd (and probably rum) do some magic to delay firmware installation
until the device is initialized. However, you can call ioctl which
then uses uninitialized data structures.
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
To: gnats-bugs@NetBSD.org
Cc: mlelstv@NetBSD.org, kern-bug-people@NetBSD.org, netbsd-bugs@NetBSD.org,
gnats-admin@NetBSD.org, mlelstv@NetBSD.org, gson@gson.org,
tsutsui@ceres.dti.ne.jp
Subject: Re: kern/43125 (zyd(4) crashes with Buffalo WLI-U2-KG54L)
Date: Sun, 13 Jun 2010 12:31:25 +0900
> Synopsis: zyd(4) crashes with Buffalo WLI-U2-KG54L
> I can repeat the problem with a SMC USB2.0 WLAN and have a patch.
Any progress on this?
> State-Changed-From-To: open->analyzed
:
> zyd (and probably rum) do some magic to delay firmware installation
> until the device is initialized. However, you can call ioctl which
> then uses uninitialized data structures.
FUKAUMI Naoki suggested on tech-kern@ to introduce aftermountroothook()
to handle deferred initialization that should be done after mountroot():
http://mail-index.NetBSD.org/tech-kern/2010/05/27/msg008261.html
But as I wrote in the thread, I think it's rather better to handle
such device initializations in the autoconf(9) layer as we do
in config_interrupt(9) than adding a common hook because
such MI hooks seem deprecated like shutdownhook_establish(9) etc.
How about this patch that introduces config_mountroot(9)?
(zyd diff is based on FUKAUMI-san's one)
---
Index: dev/usb/if_zyd.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/if_zyd.c,v
retrieving revision 1.25
diff -u -r1.25 if_zyd.c
--- dev/usb/if_zyd.c 5 Apr 2010 07:21:49 -0000 1.25
+++ dev/usb/if_zyd.c 13 Jun 2010 03:00:12 -0000
@@ -156,7 +156,7 @@
CFATTACH_DECL_NEW(zyd, sizeof(struct zyd_softc), zyd_match,
zyd_attach, zyd_detach, zyd_activate);
-Static int zyd_attachhook(void *);
+Static void zyd_attachhook(device_t);
Static int zyd_complete_attach(struct zyd_softc *);
Static int zyd_open_pipes(struct zyd_softc *);
Static void zyd_close_pipes(struct zyd_softc *);
@@ -245,10 +245,10 @@
UMATCH_VENDOR_PRODUCT : UMATCH_NONE;
}
-Static int
-zyd_attachhook(void *xsc)
+Static void
+zyd_attachhook(device_t self)
{
- struct zyd_softc *sc = xsc;
+ struct zyd_softc *sc = device_private(self);
firmware_handle_t fwh;
const char *fwname;
u_char *fw;
@@ -259,7 +259,7 @@
if ((error = firmware_open("zyd", fwname, &fwh)) != 0) {
aprint_error_dev(sc->sc_dev,
"failed to open firmware %s (error=%d)\n", fwname, error);
- return error;
+ return;
}
size = firmware_get_size(fwh);
fw = firmware_malloc(size);
@@ -267,7 +267,7 @@
aprint_error_dev(sc->sc_dev,
"failed to allocate firmware memory\n");
firmware_close(fwh);
- return ENOMEM;
+ return;
}
error = firmware_read(fwh, 0, fw, size);
firmware_close(fwh);
@@ -275,7 +275,7 @@
aprint_error_dev(sc->sc_dev,
"failed to read firmware (error %d)\n", error);
firmware_free(fw, 0);
- return error;
+ return;
}
error = zyd_loadfirmware(sc, fw, size);
@@ -283,7 +283,7 @@
aprint_error_dev(sc->sc_dev,
"could not load firmware (error=%d)\n", error);
firmware_free(fw, 0);
- return ENXIO;
+ return;
}
firmware_free(fw, 0);
@@ -292,7 +292,7 @@
/* complete the attach process */
if ((error = zyd_complete_attach(sc)) == 0)
sc->attached = 1;
- return error;
+ return;
}
void
@@ -334,13 +334,10 @@
IFQ_SET_READY(&ifp->if_snd);
memcpy(ifp->if_xname, device_xname(sc->sc_dev), IFNAMSIZ);
- if_attach(ifp);
- /* XXXX: alloc temporarily until the layer2 can be configured. */
- if_alloc_sadl(ifp);
-
SIMPLEQ_INIT(&sc->sc_rqh);
- return;
+ /* defer configrations after file system is ready to load firmware */
+ config_mountroot(self, zyd_attachhook);
}
Static int
@@ -424,7 +421,7 @@
IEEE80211_CHAN_DYN | IEEE80211_CHAN_2GHZ;
}
- if_free_sadl(ifp);
+ if_attach(ifp);
ieee80211_ifattach(ic);
ic->ic_node_alloc = zyd_node_alloc;
ic->ic_newassoc = zyd_newassoc;
@@ -461,11 +458,8 @@
struct ifnet *ifp = &sc->sc_if;
int s;
- if (!sc->attached) {
- if_free_sadl(ifp);
- if_detach(ifp);
+ if (!sc->attached)
return 0;
- }
s = splusb();
@@ -2450,10 +2444,6 @@
struct ieee80211com *ic = &sc->sc_ic;
int i, error;
- if ((sc->sc_flags & ZD1211_FWLOADED) == 0)
- if ((error = zyd_attachhook(sc)) != 0)
- return error;
-
zyd_stop(ifp, 0);
IEEE80211_ADDR_COPY(ic->ic_myaddr, CLLADDR(ifp->if_sadl));
Index: kern/init_main.c
===================================================================
RCS file: /cvsroot/src/sys/kern/init_main.c,v
retrieving revision 1.420
diff -u -r1.420 init_main.c
--- kern/init_main.c 10 Jun 2010 20:54:53 -0000 1.420
+++ kern/init_main.c 13 Jun 2010 03:00:12 -0000
@@ -266,6 +266,7 @@
static void start_init(void *);
static void configure(void);
static void configure2(void);
+static void configure3(void);
void main(void);
/*
@@ -626,6 +627,8 @@
} while (error != 0);
mountroothook_destroy();
+ configure3();
+
/*
* Initialise the time-of-day clock, passing the time recorded
* in the root filesystem (if any) for use by systems that
@@ -783,6 +786,20 @@
}
static void
+configure3(void)
+{
+
+ /*
+ * Create threads to call back and finish configuration for
+ * devices that want the mounted root file system.
+ */
+ config_create_mountrootthreads();
+
+ /* Get the threads going and into any sleeps before continuing. */
+ yield();
+}
+
+static void
check_console(struct lwp *l)
{
struct vnode *vp;
Index: kern/subr_autoconf.c
===================================================================
RCS file: /cvsroot/src/sys/kern/subr_autoconf.c,v
retrieving revision 1.206
diff -u -r1.206 subr_autoconf.c
--- kern/subr_autoconf.c 30 Apr 2010 21:17:22 -0000 1.206
+++ kern/subr_autoconf.c 13 Jun 2010 03:00:12 -0000
@@ -200,6 +200,9 @@
struct deferred_config_head interrupt_config_queue =
TAILQ_HEAD_INITIALIZER(interrupt_config_queue);
int interrupt_config_threads = 8;
+struct deferred_config_head mountroot_config_queue =
+ TAILQ_HEAD_INITIALIZER(mountroot_config_queue);
+int mountroot_config_threads = 2;
static void config_process_deferred(struct deferred_config_head *, device_t);
@@ -427,6 +430,7 @@
{
config_process_deferred(&deferred_config_queue, dev);
config_process_deferred(&interrupt_config_queue, dev);
+ config_process_deferred(&mountroot_config_queue, dev);
}
static void
@@ -454,6 +458,30 @@
}
}
+static void
+config_mountroot_thread(void *cookie)
+{
+ struct deferred_config *dc;
+
+ while ((dc = TAILQ_FIRST(&mountroot_config_queue)) != NULL) {
+ TAILQ_REMOVE(&mountroot_config_queue, dc, dc_queue);
+ (*dc->dc_func)(dc->dc_dev);
+ kmem_free(dc, sizeof(*dc));
+ }
+ kthread_exit(0);
+}
+
+void
+config_create_mountrootthreads()
+{
+ int i;
+
+ for (i = 0; i < mountroot_config_threads; i++) {
+ (void)kthread_create(PRI_NONE, 0, NULL,
+ config_mountroot_thread, NULL, NULL, "config");
+ }
+}
+
/*
* Announce device attach/detach to userland listeners.
*/
@@ -1848,6 +1876,39 @@
}
/*
+ * Defer some autoconfiguration for a device until after root file system
+ * is mounted (to load firmware etc).
+ */
+void
+config_mountroot(device_t dev, void (*func)(device_t))
+{
+ struct deferred_config *dc;
+
+ /*
+ * If root file system is mounted, callback now.
+ */
+ if (rootvnode != NULL) {
+ (*func)(dev);
+ return;
+ }
+
+#ifdef DIAGNOSTIC
+ TAILQ_FOREACH(dc, &mountroot_config_queue, dc_queue) {
+ if (dc->dc_dev == dev)
+ panic("%s: deferred twice", __func__);
+ }
+#endif
+
+ dc = kmem_alloc(sizeof(*dc), KM_SLEEP);
+ if (dc == NULL)
+ panic("%s: unable to allocate callback", __func__);
+
+ dc->dc_dev = dev;
+ dc->dc_func = func;
+ TAILQ_INSERT_TAIL(&mountroot_config_queue, dc, dc_queue);
+}
+
+/*
* Process a deferred configuration queue.
*/
static void
Index: sys/device.h
===================================================================
RCS file: /cvsroot/src/sys/sys/device.h,v
retrieving revision 1.136
diff -u -r1.136 device.h
--- sys/device.h 25 Mar 2010 19:23:18 -0000 1.136
+++ sys/device.h 13 Jun 2010 03:00:15 -0000
@@ -479,9 +479,11 @@
void config_defer(device_t, void (*)(device_t));
void config_deferred(device_t);
void config_interrupts(device_t, void (*)(device_t));
+void config_mountroot(device_t, void (*)(device_t));
void config_pending_incr(void);
void config_pending_decr(void);
void config_create_interruptthreads(void);
+void config_create_mountrootthreads(void);
int config_finalize_register(device_t, int (*)(device_t));
void config_finalize(void);
---
upgt(4) (which requires firmware to get MAC address) on hpcarm
works fine with this patch.
(though I wonder if we should avoid such copy-n-pasted code..)
---
Izumi Tsutsui
From: Michael van Elst <mlelstv@serpens.de>
To: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
Cc: gnats-bugs@NetBSD.org, mlelstv@NetBSD.org, kern-bug-people@NetBSD.org,
netbsd-bugs@NetBSD.org, gnats-admin@NetBSD.org, gson@gson.org
Subject: Re: kern/43125 (zyd(4) crashes with Buffalo WLI-U2-KG54L)
Date: Sun, 13 Jun 2010 09:17:41 +0200
On Sun, Jun 13, 2010 at 12:31:25PM +0900, Izumi Tsutsui wrote:
> > Synopsis: zyd(4) crashes with Buffalo WLI-U2-KG54L
>
> > I can repeat the problem with a SMC USB2.0 WLAN and have a patch.
>
> Any progress on this?
zyd loads the firmware when the interface is put in UP state, but
you may call ioctl on the interface before this. The ioctl may end
in net80211 code that relies on initialized hardware.
So my patch just initializes the hardware on the first ioctl too.
Unfortunately this doesn't make zyd work on my network, there
seem to be other issues as I also see USB errors.
My assumption was that the deferred initialization was to avoid
consuming firmware ressources until the device is actually used
and not about availability of the firmware. It also lets you
load and unload the firmware by just putting the interface up
and down.
Moving initialization into a config_mountroot() looks interesting,
but it looks a bit like it may only happen once and leaves out
the possibility to reload the firmware. Or can you control this
with drvctl?
If drvctl lets you detach and rescan USB devices, then maybe
a solution would be to not even attach the devices before the
firmware is available but to defer all this to an rc script?
Greetings,
--
Michael van Elst
Internet: mlelstv@serpens.de
"A potential Snark may lurk in every tree."
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
To: mlelstv@serpens.de
Cc: gnats-bugs@NetBSD.org, mlelstv@NetBSD.org, kern-bug-people@NetBSD.org,
netbsd-bugs@NetBSD.org, gnats-admin@NetBSD.org, gson@gson.org,
tsutsui@ceres.dti.ne.jp
Subject: Re: kern/43125 (zyd(4) crashes with Buffalo WLI-U2-KG54L)
Date: Sun, 13 Jun 2010 18:47:27 +0900
> My assumption was that the deferred initialization was to avoid
> consuming firmware ressources until the device is actually used
> and not about availability of the firmware. It also lets you
> load and unload the firmware by just putting the interface up
> and down.
Hmm, probably we should ask a person who implemented it,
but my assumption is that it was just a hack since
we didn't have proper hooks to defer initialization
after mountroot(9).
> Moving initialization into a config_mountroot() looks interesting,
> but it looks a bit like it may only happen once and leaves out
> the possibility to reload the firmware. Or can you control this
> with drvctl?
>
> If drvctl lets you detach and rescan USB devices, then maybe
> a solution would be to not even attach the devices before the
> firmware is available but to defer all this to an rc script?
IMO we should have firmware in root file system as kernel modules
and we don't have to defer it to an rc script.
Anyway, your suggestion looks beyond the scope of this PR.
---
Izumi Tsutsui
From: Izumi Tsutsui <tsutsui@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/43125 CVS commit: src/sys
Date: Fri, 25 Jun 2010 15:10:43 +0000
Module Name: src
Committed By: tsutsui
Date: Fri Jun 25 15:10:43 UTC 2010
Modified Files:
src/sys/kern: init_main.c subr_autoconf.c
src/sys/sys: device.h
Log Message:
Add config_mountroot(9), which defers device configuration
after mountroot(), like config_interrupt(9) that defers
configuration after interrupts are enabled.
This will be used for devices that require firmware loaded
from the root file system by firmload(9) to complete device
initialization (getting MAC address etc).
No objection on tech-kern@:
http://mail-index.NetBSD.org/tech-kern/2010/06/18/msg008370.html
and will also fix PR kern/43125.
To generate a diff of this commit:
cvs rdiff -u -r1.420 -r1.421 src/sys/kern/init_main.c
cvs rdiff -u -r1.206 -r1.207 src/sys/kern/subr_autoconf.c
cvs rdiff -u -r1.136 -r1.137 src/sys/sys/device.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: analyzed->feedback
State-Changed-By: tsutsui@NetBSD.org
State-Changed-When: Sat, 26 Jun 2010 01:13:25 +0900
State-Changed-Why:
config_mountroot(9) has been added, and zyd(4) with config_montroot(9)
patch works fine here. Could you also try it?
From: Izumi Tsutsui <tsutsui@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/43125 CVS commit: src/sys/dev/usb
Date: Sun, 4 Jul 2010 15:38:28 +0000
Module Name: src
Committed By: tsutsui
Date: Sun Jul 4 15:38:27 UTC 2010
Modified Files:
src/sys/dev/usb: if_zyd.c
Log Message:
Make zyd(4) use config_mountroot(9) to complete device initialization
(which requires firmload(9)) right after mountroot.
Now it's attached on boot as following:
---
uhub4 at usb4: vendor 0x1033 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 5 ports with 5 removable, self powered
:
zyd0 at uhub4 port 4
zyd0: PCI PCI GW-US54GXS, rev 2.00/48.10, addr 3
:
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
zyd0: HMAC ZD1211B, FW 47.25, RF AL2230, PA 0, address 00:22:cf:xx:xx:xx
zyd0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
zyd0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
:
---
Should close PR kern/43125, no particular objections in that PR.
To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/dev/usb/if_zyd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: Andreas Gustafsson <gson@gson.org>
To: gnats-bugs@NetBSD.org
Cc: mlelstv@NetBSD.org,
netbsd-bugs@netbsd.org,
gnats-admin@netbsd.org,
tsutsui@NetBSD.org
Subject: Re: kern/43125 (zyd(4) crashes with Buffalo WLI-U2-KG54L)
Date: Mon, 2 Aug 2010 11:30:36 +0300
tsutsui@NetBSD.org wrote:
> Synopsis: zyd(4) crashes with Buffalo WLI-U2-KG54L
>
> State-Changed-From-To: analyzed->feedback
> State-Changed-By: tsutsui@NetBSD.org
> State-Changed-When: Sat, 26 Jun 2010 01:13:25 +0900
> State-Changed-Why:
> config_mountroot(9) has been added, and zyd(4) with config_montroot(9)
> patch works fine here. Could you also try it?
I finally got around to trying it, using NetBSD-current as of source
date 2010.08.01.12.42.45 and a GENERIC kernel. When I connect the
device, I now get the following kernel messages:
zyd0: Buffalo USB2.0 WLAN, rev 2.00/48.10, addr 2
zyd0: sorry, radio "PV2000" is not supported yet
zyd0: could not attach RF
and ifconfig now fails with "Device not configured" rather than a
kernel panic.
--
Andreas Gustafsson, gson@gson.org
From: Andreas Gustafsson <gson@gson.org>
To: gnats-bugs@NetBSD.org
Cc: mlelstv@NetBSD.org,
netbsd-bugs@netbsd.org,
gnats-admin@netbsd.org,
tsutsui@NetBSD.org
Subject: Re: kern/43125 (zyd(4) crashes with Buffalo WLI-U2-KG54L)
Date: Mon, 2 Aug 2010 13:09:08 +0300
One more thing... When I unplug the Buffalo WLI-U2-KG54L after it has
failed to attach with the message "zyd0: could not attach RF",
the kernel panics with "fatal page fault in supervisor mode".
The last line of output before the ddb prompt is:
Stopped in pid 0.3 (system) at netbsd:usb_transfer_complete+0x3f: movb 0x211(%eax), %al
--
Andreas Gustafsson, gson@gson.org
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
To: gson@gson.org
Cc: gnats-bugs@NetBSD.org, mlelstv@NetBSD.org, netbsd-bugs@NetBSD.org,
gnats-admin@NetBSD.org, tsutsui@NetBSD.org, tsutsui@ceres.dti.ne.jp
Subject: Re: kern/43125 (zyd(4) crashes with Buffalo WLI-U2-KG54L)
Date: Tue, 3 Aug 2010 01:23:20 +0900
> zyd0: sorry, radio "PV2000" is not supported yet
> zyd0: could not attach RF
It might be worth to pull related changes from OpenBSD:
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/usb/if_zyd.c#rev1.75
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/usb/if_zyd.c#rev1.76
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/usb/if_zydreg.h#rev1.24
---
Izumi Tsutsui
From: "Izumi Tsutsui" <tsutsui@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/43125 CVS commit: src/sys/dev/usb
Date: Sun, 16 Jan 2011 09:08:29 +0000
Module Name: src
Committed By: tsutsui
Date: Sun Jan 16 09:08:29 UTC 2011
Modified Files:
src/sys/dev/usb: if_zyd.c if_zydreg.h
Log Message:
Pull AL2230S radio support for chips:
> zyd0: sorry, radio "PV2000" is not supported yet
> zyd0: could not attach RF
mentioned in PR kern/43125. From (FreeBSD via) OpenBSD.
Untested (no hardware here), but should not affect other chips.
To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/sys/dev/usb/if_zyd.c
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/usb/if_zydreg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: feedback->open
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Mon, 31 Jan 2011 04:53:02 +0000
State-Changed-Why:
Feedback was received in August...
State-Changed-From-To: open->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Mon, 31 Jan 2011 04:53:44 +0000
State-Changed-Why:
...and a fix for that issue was committed a couple weeks ago. Give it another
try and hopefully we can close this one out completely.
From: Andreas Gustafsson <gson@gson.org>
To: gnats-bugs@NetBSD.org
Cc: mlelstv@NetBSD.org,
netbsd-bugs@netbsd.org,
gnats-admin@netbsd.org,
dholland@NetBSD.org,
tsutsui@netbsd.org
Subject: Re: kern/43125 (zyd(4) crashes with Buffalo WLI-U2-KG54L)
Date: Wed, 2 Feb 2011 13:43:28 +0200
dholland@NetBSD.org wrote:
> ...and a fix for that issue was committed a couple weeks ago. Give
> it another try and hopefully we can close this one out completely.
I just tried a kernel built from today's -current
(2011.02.02.05.10.55), and I was now able to successfully configure
the WLI-U2-KG54L with a WEP key, obtain an address with DHCP, and
transfer some data using ssh. Many thanks to tsutsui for the fix.
--
Andreas Gustafsson, gson@gson.org
State-Changed-From-To: feedback->closed
State-Changed-By: gson@NetBSD.org
State-Changed-When: Wed, 02 Feb 2011 11:45:31 +0000
State-Changed-Why:
Bug fixed.
State-Changed-From-To: closed->open
State-Changed-By: gson@NetBSD.org
State-Changed-When: Wed, 02 Feb 2011 11:49:13 +0000
State-Changed-Why:
Still broken after all.
From: Andreas Gustafsson <gson@gson.org>
To: gnats-bugs@NetBSD.org
Cc: mlelstv@NetBSD.org,
netbsd-bugs@netbsd.org,
gnats-admin@netbsd.org,
dholland@NetBSD.org,
tsutsui@netbsd.org
Subject: Re: kern/43125 (zyd(4) crashes with Buffalo WLI-U2-KG54L)
Date: Wed, 2 Feb 2011 13:57:14 +0200
Regrettably, I have to retract my report of the Buffalo WLI-U2-KG54L
working. I have two almost identical-looking WLAN sticks, one older
WLI-U2-KG54 (without the -L suffix) and the newer Buffalo WLI-U2-KG54L,
and I accidentally tested the wrong one. So, the WLI-U2-KG54
works, but the WLI-U2-KG54L still doesn't.
The current symptoms (with the 2011.02.02.05.10.55 kernel) are that
setting a WEP key with ifconfig works, but when I run dhclient,
the console starts logging the following message several times a
second:
zyd0: xfer too short (length = 8)
An "ifconfig zyd0 down" stops the messages, and an "ifconfig zyd0 up"
restarts them.
--
Andreas Gustafsson, gson@gson.org
From: Michael van Elst <mlelstv@serpens.de>
To: gnats-bugs@NetBSD.org
Cc: mlelstv@NetBSD.org, gnats-admin@NetBSD.org, netbsd-bugs@NetBSD.org,
Andreas Gustafsson <gson@gson.org>
Subject: Re: kern/43125 (zyd(4) crashes with Buffalo WLI-U2-KG54L)
Date: Wed, 2 Feb 2011 21:25:09 +0100
On Wed, Feb 02, 2011 at 12:55:03PM +0000, Andreas Gustafsson wrote:
> The current symptoms (with the 2011.02.02.05.10.55 kernel) are that
> setting a WEP key with ifconfig works, but when I run dhclient,
> the console starts logging the following message several times a
> second:
>
> zyd0: xfer too short (length = 8)
Similar to the SMC device, it complains about too short
transfers with (length = 22).
--
Michael van Elst
Internet: mlelstv@serpens.de
"A potential Snark may lurk in every tree."
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.