Subject: Re: wi driver in current
To: None <current-users@netbsd.org>
From: David Young <dyoung@ojctech.com>
List: current-users
Date: 09/29/2002 14:40:55
--sm4nu43k4a2Rpi4c
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline


Martin,

The new connection-state tracking might affect this. Recently I have
been able to give a Lucent card a work-out, and it appears that Lucent
firmware implements connection-state indications differently, or less
reliably, than Intersil.

If you will, send me the debug outputs (enabled w/ "ifconfig wi0 debug").

Because there are an overwhelming number of debug outputs, now, I have
attached a patch for you to eliminate some of them.

Dave

-- 
David Young             OJC Technologies
dyoung@ojctech.com      Engineering from the Right Brain
                        Urbana, IL * (217) 278-3933

--sm4nu43k4a2Rpi4c
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=widbg

Index: wi.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/ic/wi.c,v
retrieving revision 1.88
diff -c -r1.88 wi.c
*** wi.c	2002/09/27 21:54:17	1.88
--- wi.c	2002/09/29 19:35:14
***************
*** 758,766 ****
--- 761,771 ----
  		ifp->if_ierrors++;
  		return;
  	}
+ #if defined(WI_DEBUG)
  	if (ifp->if_flags & IFF_DEBUG)
  		printf("%s: rx_frame.wi_dat_len = %d\n", sc->sc_dev.dv_xname,
  		    le16toh(rx_frame.wi_dat_len));
+ #endif /* defined(WI_DEBUG) */
  	/* Read optional LLC. */
  	if (wi_read_data(sc, id, sizeof(struct wi_frame), (caddr_t)&llc,
  	    min(sizeof(struct llc), le16toh(rx_frame.wi_dat_len)))) {
***************
*** 797,804 ****
--- 802,811 ----
  	case WI_STAT_TUNNEL:
  	case WI_STAT_1042:
  
+ #if defined(WI_DEBUG)
  		if (ifp->if_flags & IFF_DEBUG)
  			printf("%s: rx RFC1042\n", sc->sc_dev.dv_xname);
+ #endif /* defined(WI_DEBUG) */
  
  		/* Convert from RFC1042 encapsulation to Ethernet II
  		 * encapsulation.
***************
*** 807,814 ****
--- 814,823 ----
  			return;
  		break;
  	case WI_STAT_MGMT:
+ #if defined(WI_DEBUG)
  		if (ifp->if_flags & IFF_DEBUG)
  			printf("%s: rx Mgmt\n", sc->sc_dev.dv_xname);
+ #endif /* defined(WI_DEBUG) */
  
  		if (sc->wi_ptype == WI_PORTTYPE_HOSTAP) {
  			(void)wi_rx_mgmt(sc, id, &rx_frame, &llc, m, maxlen);
***************
*** 817,824 ****
--- 826,835 ----
  		/* fall through */
  	case WI_STAT_NORMAL:
  
+ #if defined(WI_DEBUG)
  		if (ifp->if_flags & IFF_DEBUG)
  			printf("%s: rx Normal\n", sc->sc_dev.dv_xname);
+ #endif /* defined(WI_DEBUG) */
  
  		/* linux-wlan-ng reports that some RFC1042 frames
  		 * are misidentified as Ethernet II frames. Check.
***************
*** 827,835 ****
--- 838,848 ----
  		    llc.llc_dsap == LLC_SNAP_LSAP &&
  		    llc.llc_ssap == LLC_SNAP_LSAP &&
  		    llc.llc_control == LLC_UI) {
+ #if defined(WI_DEBUG)
  			if (ifp->if_flags & IFF_DEBUG)
  				printf("%s: actually rx RFC1042\n",
  				    sc->sc_dev.dv_xname);
+ #endif /* defined(WI_DEBUG) */
  
  			if (wi_rx_rfc1042(sc, id, &rx_frame, &llc, m, maxlen))
  				return;

--sm4nu43k4a2Rpi4c--