From owner-freebsd-current@FreeBSD.ORG Sun Jul 15 18:48:21 2007 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5AD3616A402; Sun, 15 Jul 2007 18:48:21 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from heff.fud.org.nz (203-109-251-39.static.bliink.ihug.co.nz [203.109.251.39]) by mx1.freebsd.org (Postfix) with ESMTP id 8F81113C4AA; Sun, 15 Jul 2007 18:48:20 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: by heff.fud.org.nz (Postfix, from userid 1001) id C1B3D1CC5F; Mon, 16 Jul 2007 06:48:18 +1200 (NZST) Date: Mon, 16 Jul 2007 06:48:18 +1200 From: Andrew Thompson To: Matteo Riondato Message-ID: <20070715184818.GB10968@heff.fud.org.nz> References: <200707120254.l6C2s5Yg041022@repoman.freebsd.org> <20070713230833.GA2642@krapfengeist.dei.unipd.it> <20070715111346.GJ95956@heff.fud.org.nz> <20070715131140.GA1413@krapfengeist.dei.unipd.it> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0F1p//8PRICkK4MW" Content-Disposition: inline In-Reply-To: <20070715131140.GA1413@krapfengeist.dei.unipd.it> User-Agent: Mutt/1.5.13 (2006-08-11) Cc: FreeBSD Current Subject: Re: cvs commit: src/sys/dev/if_ndis if_ndis.c if_ndisvar.h X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Jul 2007 18:48:21 -0000 --0F1p//8PRICkK4MW Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 --0F1p//8PRICkK4MW Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="ndis_channels.diff" 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 #include +#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, --0F1p//8PRICkK4MW--