cvs commit: src/sys/dev/if_ndis if_ndis.c if_ndisvar.h

Andrew Thompson thompsa at FreeBSD.org
Sun Jul 15 18:48:21 UTC 2007


On Sun, Jul 15, 2007 at 03:11:40PM +0200, Matteo Riondato wrote:
> On Sun, Jul 15, 2007 at 11:13:46PM +1200, Andrew Thompson wrote:
> > On Sat, Jul 14, 2007 at 01:08:33AM +0200, Matteo Riondato wrote:
> > > On Thu, Jul 12, 2007 at 02:54:05AM +0000, Andrew Thompson wrote:
> > > > thompsa     2007-07-12 02:54:05 UTC
> > > > 
> > > >   FreeBSD src repository
> > > > 
> > > >   Modified files:
> > > >     sys/dev/if_ndis      if_ndis.c if_ndisvar.h 
> > > >   Log:
> > > >   Improve the net80211 handling within ndis
> > > >    - use net80211 for scanning and pass the results back to the scan cache
> > > >    - use ieee80211_init_channels to fill our channel list
> > > >    - fix up state transitions
> > > >    - depreciate the old wicontrol ioctls
> > > >    - add some debugging lines (#define NDIS_DEBUG)
> > > 
> > > I wonder whether this commit can be guilty of my wireless connection
> > > (which uses ndis) no longer working. I rebuild my system today and when
> > > I rebooted my machine can no longer connect to the network. "ifconfig
> > > ndis0 scan" seems not to work any more. 
> > > I will be pleased to give more debug information, if you tell me what
> > > you need. 
> > 
> > You can turn on net80211 debugging my setting sysctl
> > net.wlan.0.debug=0xffffffff (or use wlandebug). Kick off a scan and see
> > if anything is returned.
> 
> kaiser# sysctl net.wlan.0.debug=0xffffffff
> net.wlan.0.debug: 0 -> 2147483647
> kaise# ifconfig ndis0 scan
> ndis0: ieee80211_start_scan: acrive scan 2147483647, desired mode auto,
> append, nopick, once
> ndis0 scan set  dwell min 20 max 200
> ndis0: scan_restart: no channels to scan
 

Can you please test the attached patch, it also turns on debugging
printfs which I would be interested in.



Andrew
-------------- next part --------------
Index: if_ndis.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/if_ndis/if_ndis.c,v
retrieving revision 1.123
diff -u -p -r1.123 if_ndis.c
--- if_ndis.c	12 Jul 2007 02:54:05 -0000	1.123
+++ if_ndis.c	15 Jul 2007 18:46:29 -0000
@@ -89,6 +89,7 @@ __FBSDID("$FreeBSD: src/sys/dev/if_ndis/
 #include <compat/ndis/ndis_var.h>
 #include <dev/if_ndis/if_ndisvar.h>
 
+#define NDIS_DEBUG
 #ifdef NDIS_DEBUG
 #define DPRINTF(x)	printf x
 #else
@@ -752,11 +753,16 @@ ndis_attach(dev)
 				setbit(&bands, IEEE80211_MODE_11G);
 				break;
 			default:
+				DPRINTF(("Unknown nettype %d\n",
+					    ntl->ntl_type[i]));
 				break;
 			}
 		}
 		free(ntl, M_DEVBUF);
 nonettypes:
+		/* Default to 11b channel set if the card did not supply any */
+		if (bands == 0)
+			setbit(ic->ic_modecaps, IEEE80211_MODE_11B);
 		len = sizeof(rates);
 		bzero((char *)&rates, len);
 		r = ndis_get_info(sc, OID_802_11_SUPPORTED_RATES,


More information about the freebsd-current mailing list