Skip site navigation (1)Skip section navigation (2)
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>