Hey Gleb, On Wed, 2015-09-02 at 12:46 +0000, Gleb Smirnoff wrote: > Author: glebius > Date: Wed Sep 2 12:46:42 2015 > New Revision: 287394 > URL: https://svnweb.freebsd.org/changeset/base/287394 > > Log: > Fix dynamic attach/detach of 802.11 devices after r287197: > > o In pccard_ether add code to start children of a 802.11 > device, that are configured in rc.conf. > o In devd.conf provide a regex matching all 802.11 devices, > and on match run pccard_ether to spawn children. > > PR: 202784 > Submitted by: <vidwer gmail.com> > In collaboration with: "Oleg V. Nauman" <oleg opentransfer.com> > > Modified: > head/etc/devd.conf > head/etc/pccard_ether > > Modified: head/etc/devd.conf > ============================================================================== > --- head/etc/devd.conf Wed Sep 2 05:55:57 2015 (r287393) > +++ head/etc/devd.conf Wed Sep 2 12:46:42 2015 (r287394) > @@ -22,6 +22,9 @@ options { > "(aac|adv|adw|aha|ahb|ahc|ahd|aic|amd|amr|asr|bt|ciss|ct|dpt|\ > esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm|wds)\ > [0-9]+"; > + set wifi-driver-regex > + "(ath|bwi|bwn|ipw|iwi|iwn|malo|mwl|ral|rsu|rum|run|uath|upgt|\ > + ural|urtw|urtwn|wi|wpi|wtap|zyd)[0-9]+"; > };
Should the new iwm driver also be added?
>
> # Note that the attach/detach with the highest value wins, so that one can
> @@ -57,17 +60,16 @@ notify 0 {
> };
>
> #
> -# Like Ethernet devices, but separate because
> -# they have a different media type. We may want
> -# to exploit this later.
> +# Like Ethernet devices, but separate because 802.11 require spawning
> +# wlan(4) interface.
> #
> -detach 0 {
> - media-type "802.11";
> - action "/etc/pccard_ether $device-name stop";
> -};
> attach 0 {
> - media-type "802.11";
> - action "/etc/pccard_ether $device-name start";
> + device-name "$wifi-driver-regex";
> + action "/etc/pccard_ether $device-name startchildren";
> +};
> +detach 0 {
> + device-name "$wifi-driver-regex";
> + action "/etc/pccard_ether $device-name stopchildren";
> };
> notify 0 {
> match "system" "IFNET";
>
> Modified: head/etc/pccard_ether
> ==============================================================================
> --- head/etc/pccard_ether Wed Sep 2 05:55:57 2015 (r287393)
> +++ head/etc/pccard_ether Wed Sep 2 12:46:42 2015 (r287394)
> @@ -17,6 +17,9 @@ stop_precmd="checkauto"
> stop_cmd="pccard_ether_stop"
> restart_precmd="checkauto"
> restart_cmd="pccard_ether_restart"
> +startchildren_cmd="pccard_ether_startchildren"
> +stopchildren_cmd="pccard_ether_stopchildren"
> +extra_commands="startchildren stopchildren"
>
> setup_routes()
> {
> @@ -114,6 +117,20 @@ pccard_ether_restart()
> pccard_ether_start
> }
>
> +pccard_ether_startchildren()
> +{
> + for child in `get_if_var $ifn wlans_IF`; do
> + /etc/rc.d/netif quietstart $child
> + done
> +}
> +
> +pccard_ether_stopchildren()
> +{
> + for child in `get_if_var $ifn wlans_IF`; do
> + /etc/rc.d/netif quietstop $child
> + done
> +}
> +
> ifn=$1
> shift
> if [ -z "$*" ]; then
> _______________________________________________
> [email protected] mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "[email protected]"
--
Shawn Webb
HardenedBSD
GPG Key ID: 0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89 3D9E 6A84 658F 5245 6EEE
signature.asc
Description: This is a digitally signed message part
