Date: Fri, 1 Nov 2013 20:16:37 +0100 From: Bernhard Schmidt <bschmidt@techwires.net> To: clutton <clutton@zoho.com> Cc: freebsd-wireless@freebsd.org Subject: Re: service netif restart [iface] runs a wpa_supplicant twice Message-ID: <CAAgh0_aq7Mw-4JA6sEa2MoaqjivSNTKkRnfJwuct%2B=v-o4U2kg@mail.gmail.com> In-Reply-To: <1383331203.12614.1.camel@eva02.mbsd> References: <1382572583.1862.39.camel@eva02.mbsd> <CAJ-VmonD%2B0rEAYm0Zk5HviciJEngTQ2j5xcKPzuNXBH8CWNA7g@mail.gmail.com> <1382589020.1846.36.camel@eva02.mbsd> <CAJ-Vmok=-bWq-eohdJt%2BwcTrJ43cak_sQu_hxO%2Bzt7HauGgg5g@mail.gmail.com> <1383331203.12614.1.camel@eva02.mbsd>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Nov 1, 2013 at 7:40 PM, clutton <clutton@zoho.com> wrote: > On Wed, 2013-10-23 at 21:43 -0700, Adrian Chadd wrote: >> IT's not. It's devd doing something dumb. >> >> >> -a >> >> >> On 23 October 2013 21:30, clutton <clutton@zoho.com> wrote: >> >> > Indeed. >> > >> > I have looked at a sys/net80211 and at a sys/dev/ath. >> > But I still have no idea which one triggers rc script and how on the >> > earth it can be done. >> > >> > On Wed, 2013-10-23 at 16:57 -0700, Adrian Chadd wrote: >> > > . that needs to be fixed. It definitely shouldn't be started twice! >> > > >> > > >> > > >> > > -adrian >> > > >> > > >> > > >> > > On 23 October 2013 16:56, clutton <clutton@zoho.com> wrote: >> > > >> > > > What is the best way to restart a wireless stack? >> > > > >> > > > A command "ifconfig wlan0 create wlandev ath0" starts the >> > wpa_supplicant >> > > > by itself. It means that the netif script runs the wpa_supplicant >> > twice, >> > > > always. Is it ok? >> > > > >> > > > There is my debug during booting: >> > > > >> > > > [netif.network_common()] START: >> > > > [netif.network_common()] ITERATION: >> > > > [wpa_supplicant] SUPPID=3D30067 >> > > > [wpa_supplicant] SUPPID=3D30067 >> > > > [netif.network_common()] STOP: >> > > > >> > > > It means that during running a network_common() from the >> > /etc/rc.d/netif >> > > > the /etc/rc.d/wpa_supplicant was called twice. >> > > > >> > > > /etc/rc.conf >> > > > wlans_ath0=3D"wlan0" >> > > > ifconfig_wlan0=3D"WPA DHCP" >> > > > ifconfig_em0=3D"DHCP" >> > > > ipsec_enable=3D"YES" >> > > > >> > > > /etc/wpa_supplicant.conf >> > > > network=3D{ >> > > > ssid=3D"ssid" >> > > > psk=3D"psk" >> > > > } >> > > > >> > > > 11.0-CURRENT >> > > > >> > > _______________________________________________ >> > > freebsd-wireless@freebsd.org mailing list >> > > http://lists.freebsd.org/mailman/listinfo/freebsd-wireless >> > > To unsubscribe, send any mail to " >> > freebsd-wireless-unsubscribe@freebsd.org" >> > >> > >> _______________________________________________ >> freebsd-wireless@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-wireless >> To unsubscribe, send any mail to "freebsd-wireless-unsubscribe@freebsd.o= rg" > > Yes, it's not a bug, just misconfigured devd. > Here the patch: > > =CE=9E ~ =E2=86=92 diff -u /usr/src/etc/devd.conf /etc/devd.conf > --- /usr/src/etc/devd.conf 2013-09-29 17:24:16.759250174 +0300 > +++ /etc/devd.conf 2013-11-01 10:52:02.731746832 +0200 > @@ -38,7 +38,7 @@ > # > notify 0 { > match "system" "IFNET"; > - match "subsystem" "!usbus[0-9]+"; > + match "subsystem" "!(usbus|wlan)[0-9]+"; > match "type" "ATTACH"; > action "/etc/pccard_ether $subsystem start"; > }; > zsh: exit 1 diff -u /usr/src/etc/devd.conf /etc/devd.conf > =E2=86=911 ~ =E2=86=92 > > Is it good enough? Should I make an pr? > I believe that the wlan iface may be avoided and all cases, am I wrong? That actually is a design question I once wrapped my head around unsuccessfully. The lines above are responsible for configuring wlan0 if it is created, eg. ifconfig wlan0 destroy ifconfig wlan0 create wlandev ath0 will invoke above code which will then invoke pccard_ether. Changing the code as you intent to will prevent this. Someone should step up an decide what is supposed to happen, should wlan0 in that case be configured as stated in rc.conf, or not? The actual issue though, is in wpa_supplicant itself. It has code to prevent it being started twice, but that doesn't kick in because the instances are started to fast and we loose (have not yet setup enough) information in our net code. --=20 Bernhard
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAgh0_aq7Mw-4JA6sEa2MoaqjivSNTKkRnfJwuct%2B=v-o4U2kg>