From owner-freebsd-net@freebsd.org Thu Aug 27 16:46:51 2015 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4932D9C4A0B for ; Thu, 27 Aug 2015 16:46:51 +0000 (UTC) (envelope-from ohartman@zedat.fu-berlin.de) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 28FB3136D for ; Thu, 27 Aug 2015 16:46:51 +0000 (UTC) (envelope-from ohartman@zedat.fu-berlin.de) Received: by mailman.ysv.freebsd.org (Postfix) id 2441F9C4A08; Thu, 27 Aug 2015 16:46:51 +0000 (UTC) Delivered-To: net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 09FD29C4A07; Thu, 27 Aug 2015 16:46:51 +0000 (UTC) (envelope-from ohartman@zedat.fu-berlin.de) Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de [130.133.4.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B5DC0136A; Thu, 27 Aug 2015 16:46:50 +0000 (UTC) (envelope-from ohartman@zedat.fu-berlin.de) Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost.zedat.fu-berlin.de (Exim 4.85) with esmtp (envelope-from ) id <1ZV0K8-002NW9-PG>; Thu, 27 Aug 2015 18:46:48 +0200 Received: from x5ce1b92b.dyn.telefonica.de ([92.225.185.43] helo=thor.walstatt.dynvpn.de) by inpost2.zedat.fu-berlin.de (Exim 4.85) with esmtpsa (envelope-from ) id <1ZV0K8-002MAW-HU>; Thu, 27 Aug 2015 18:46:48 +0200 Date: Thu, 27 Aug 2015 18:45:14 +0200 From: "O. Hartmann" To: Adrian Chadd Cc: Gleb Smirnoff , "current@freebsd.org" , "net@freebsd.org" Subject: Re: [head up!] WiFi drivers changes Message-ID: <20150827184514.7e86e531.ohartman@zedat.fu-berlin.de> In-Reply-To: <20150827183253.55400c5a.ohartman@zedat.fu-berlin.de> References: <20150806151355.GL889@FreeBSD.org> <20150807175226.357b5dce.ohartman@zedat.fu-berlin.de> <20150827183253.55400c5a.ohartman@zedat.fu-berlin.de> Organization: FU Berlin X-Mailer: Claws Mail 3.12.0 (GTK+ 2.24.28; amd64-portbld-freebsd11.0) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/jy+C+SSGd=FpQ_VTbJ3Z_zE"; protocol="application/pgp-signature" X-Originating-IP: 92.225.185.43 X-ZEDAT-Hint: A X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Aug 2015 16:46:51 -0000 --Sig_/jy+C+SSGd=FpQ_VTbJ3Z_zE Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Am Thu, 27 Aug 2015 18:32:53 +0200 "O. Hartmann" schrieb: > Am Fri, 7 Aug 2015 16:50:23 -0700 > Adrian Chadd schrieb: >=20 > > Hi, > >=20 > > Gleb/others doing this: you have 4 days to figure out what's wrong > > with things, or I'm backing all of this work out. > >=20 > > Thanks, > >=20 > >=20 > > -adrian > >=20 > >=20 > > On 7 August 2015 at 08:52, O. Hartmann wr= ote: > > > Am Thu, 6 Aug 2015 18:13:55 +0300 > > > Gleb Smirnoff schrieb: > > > > > >> Hi! > > >> > > >> As part of the "opaque ifnet project" [1], all 802.11 (WiFi) drive= rs > > >> undergo change of not being an interface anymore. Historically in Fr= eeBSD > > >> 802.11 stack, 802.11 devices called if_attach() and created an inter= face. > > >> Later this was generalized and real functioning interface is created= by > > >> net80211 stack. However, remnant of parent interface remained. If you > > >> are running Intel Centrino wireless, then you got iwn0 interface and > > >> wlan0 interface. However, the former doesn't do anything. You can't > > >> assign addresses to it or modify any of it parameters. Or you can > > >> modify them, but that affects nothing. > > >> > > >> This superfluous ifnet on the list entangles the net80211 stack and > > >> also is on the way of [1]. So, decision was made to remove it. I > > >> already did preparatory commits back in May, and now it is time to > > >> finish that. > > >> > > >> The patch is: > > >> > > >> https://reviews.freebsd.org/D2655 > > >> > > >> And the Wiki page for it is: > > >> > > >> https://wiki.freebsd.org/projects/ifnet/net80211 > > >> > > >> The patch modifies every driver, and diff is bulky. However, changes > > >> are mechanical and simple, most drivers appeared to work after first > > >> run. Most converted drivers are tested to work. > > >> > > >> This is list of drivers that are not tested, due to lack of testers: > > >> > > >> mwl, ipw, bwn, wi, upgt, uath. > > >> > > >> But, as said, changes are mechanical and probability is 95% that > > >> they will work. > > >> > > >> The only complex one is ndis(4). It could be broken by conversion. > > >> Since I already got a tester volunteer, I will fix it quickly if > > >> anything happens. > > >> > > >> Another untrivial one is wtap(4), which is not connected to the > > >> build and appeared to be broken even before conversion. Anyway, > > >> I made it compilable. > > >> > > >> Now, for the configuration. The sequence of commands you need > > >> to run to configure a WiFi interface doesn't change. As before > > >> it is: > > >> > > >> ifconfig wlan0 create wlandev iwn0 > > >> ifconfig wlan0 $foo > > >> > > >> Your rc.conf doesn't need any changes. As before: > > >> > > >> wlans_iwn0=3D"wlan0" > > >> ifconfig_wlan0=3D"DHCP WPA" > > >> > > >> However, iwn0 disappeared from the 'ifconfig -l'. It is still > > >> in devinfo, or in dmesg. For the sake of installers or other > > >> configuration software, a sysctl is provided: > > >> > > >> net.wlan.devices: iwn0 > > >> > > >> The /etc subsystem needs to be tweaked. Previously the wlan(4) > > >> interfaces were created in childif_create(), and the script > > >> did check for presence of parent interface. In my patch I > > >> provided wlans_up(), that doesn't check. The code in D2655 > > >> now works correctly both on patched and on unpatched kernel. > > >> > > >> Alternatively, I could tweak childif_create() to use net.wlan.devices > > >> instead of 'ifconfig -l'. Or, to use them both, to work on older > > >> and on newer kernels? > > >> > > >> I am not sure which path with /etc is better, so seeking for > > >> help with that. > > >> > > > > > > After updating to FreeBSD 11.0-CURRENT #0 r286415: Fri Aug 7 17:22:4= 3 CEST 2015 > > > amd64, several APs won't startup anymore: > > > > > > [...] > > > Starting hostapd. > > > Configuration file: /etc/hostapd.conf > > > bsd_set_if_media: SIOCSIFMEDIA Device not configured > > > bsd_init: failed to set operation mode > > > bsd driver initialization failed. > > > wlan0: interface state UNINITIALIZED->DISABLED > > > wlan0: AP-DISABLED > > > hostapd_free_hapd_data: Interface wlan0 wasn't started > > > ELOOP: remaining socket: sock=3D5 eloop_data=3D0x801c47100 user_data= =3D0x0 > > > handler=3D0x41a0e0 /etc/rc.d/hostapd: WARNING: failed to start hostapd > > _______________________________________________ > > freebsd-current@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-current > > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.o= rg" >=20 > Again, > with the most recent changes as of r287211, hostapd doens't start my WiFi= AP anymore > (FreeBSD 11.0-CURRENT #7 r287169: Wed Aug 26 20:26:49 CEST 2015 amd64 doe= s!). Ups, sory, sorry - I forgot on that specific machine (1 of 5) to mergemaster :-(= So, after mergemaster, the new rc scripts also got installed on the AP server and the= interface is again up and running! Regards, oh --Sig_/jy+C+SSGd=FpQ_VTbJ3Z_zE Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJV3z6aAAoJEOgBcD7A/5N8H+wH/A4YCOu0V7CQPAZyJjdA1C2N 5MtxvdKIhpJbdSGkgtr0mCFkGNZyHejo0Rlg0ikiR46QHb4v+oR3OCjfsuzJojMR kITyd92VqvdQoslSB8/GHnBrZScv/que3IeACOuYpQdVwjnuWmiW6smSEMkZkmz6 i+aSIIpRcQpjbnQHqUskNZ7GJX+LUY8IEnBLxP/gd1QOeHoEV2ZhIjsniOBL61s+ mY/9KmDxcCwDFC+obwAU4/0GbLsb85UrIRJ9v3FYZpAT6IQnaUqx5x26SdGzHT2b goTO9aV2gQEfCaYoyJzYfB9pftSHLoYDNff9IQkbiln67dezHZFDVXGbqNChEnc= =9yxY -----END PGP SIGNATURE----- --Sig_/jy+C+SSGd=FpQ_VTbJ3Z_zE--