Re: Fw: CMDCODE_ACCESS_WRITE failed...


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


This archive was generated by hypermail 2.1.4.