From: Jouni Malinen (jkmaline_at_cc.hut.fi)
Date: 2002-06-09 07:29:52 UTC
On Sat, Jun 08, 2002 at 05:42:49PM -0500, Curtis V. Schleich wrote:
> Downloaded fresh kernel 2.4.18, compiled the same as the other kernel I
> referred to, still getting the resets. Could this be a hardware issue?
> Here is an excerpt from my logs:
>
> Jun 8 16:34:05 WirelessII kernel: wlan0: hfa384x_set_rid:
> CMDCODE_ACCESS_WRITE failed (res=-110)
Hmm.. If I remember correctly, TX or RX path should use hfa384x_set_rid() only if the station is used power saving modes (setting TIM; and if this fails, it should be shown in kernel log viewable with 'dmesg'). Other uses of set_rid() are from configuration changes, e.g. with iwconfig.
> Just a sample... Lots of them in the logs. Also on the console I get a
> message that the card is being reset. From the code I'm assuming that the
> card reset is in response to the above errors. This typically happens
> during heavy downloads, but also sometimes while the connected station is
> idle.
Getting this during idle times is interesting.. Could you please add extra information (rid number and length) to the error messages? You can either use the following patch or get a CVS snapshot from http://hostap.epitest.fi/. This should help in finding out, what is trying to change the RID when access command times out.
diff -u -p -r1.174 prism2.c --- driver/modules/prism2.c 6 Jun 2002 17:20:01 -0000 1.174 +++ driver/modules/prism2.c 9 Jun 2002 07:13:39 -0000 @@ -557,21 +557,23 @@ int hfa384x_set_rid(struct net_device *d if (!res) res = hfa384x_to_bap(dev, BAP0, &rec, sizeof(rec)); if (res) { - printk("%s: hfa384x_set_rid - to BAP0 failed\n", - dev->name); + printk("%s: hfa384x_set_rid (rid=%04x, len=%d) - to BAP0 " + "failed\n", dev->name, rid, len); goto fail; } res = hfa384x_to_bap(dev, BAP0, buf, len); if (res) { - printk("%s: hfa384x_set_rid - to BAP0(2) failed\n", dev->name); + printk("%s: hfa384x_set_rid (rid=%04x, len=%d) - to BAP0(2) " + "failed\n", dev->name, rid, len); goto fail; } res = hfa384x_cmd(dev, HFA384X_CMDCODE_ACCESS_WRITE, rid, NULL, NULL); if (res) { printk("%s: hfa384x_set_rid: CMDCODE_ACCESS_WRITE failed " - "(res=%d)\n", dev->name, res); + "(res=%d, rid=%04x, len=%d)\n", + dev->name, res, rid, len); goto fail; } -- Jouni Malinen PGP id EFC895FA