[PATCH] wifi: ignore monitor interfaces



If a monitor interface is created, NM will grab that interface
and change it to station mode.  That's not very nice.

diff --git a/src/devices/wifi/nm-wifi-factory.c b/src/devices/wifi/nm-wifi-factory.c
index 1c8ca47..2d5f8fa 100644
--- a/src/devices/wifi/nm-wifi-factory.c
+++ b/src/devices/wifi/nm-wifi-factory.c
@@ -66,6 +66,7 @@ create_device (NMDeviceFactory *factory,
                gboolean *out_ignore)
 {
        NMDeviceWifiCapabilities capabilities;
+       NM80211Mode mode;
 
        g_return_val_if_fail (iface != NULL, NULL);
        g_return_val_if_fail (plink != NULL, NULL);
@@ -79,6 +80,16 @@ create_device (NMDeviceFactory *factory,
                return NULL;
        }
 
+       /* Ignore monitor-mode and other unhandled interface types.
+        * FIXME: keep TYPE_MONITOR devices in UNAVAILABLE state and manage
+        * them if/when they change to a handled type.
+        */
+       mode = nm_platform_wifi_get_mode (NM_PLATFORM_GET, plink->ifindex);
+       if (mode == NM_802_11_MODE_UNKNOWN) {
+               *out_ignore = TRUE;
+               return NULL;
+       }
+
        if (plink->type == NM_LINK_TYPE_WIFI)
                return nm_device_wifi_new (iface, capabilities);
        else


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]