Because Bluez5 dropped DUN support, NM must do that manually which
includes emulating the "connected" property for Bluetooth devices when
DUN is used.  It does this by setting priv->connected = TRUE in
nm_bluez_device_connect_finish().

But for PAN, when NM does process the 'connected' property change
notification, priv->connected is already TRUE and
_take_variant_property_connected() does nothing.  Hence the
corresponding GObject property notification is not emitted,
nm-device-bt.c::check_connect_continue() will never return success, and
the activation times out.

To fix this, ensure that GObject notifications are emitted when the
device is connected, even if emulated internally.

---

diff --git a/src/devices/bluetooth/nm-bluez-device.c 
b/src/devices/bluetooth/nm-bluez-device.c
index cc44b9e..b703214 100644
--- a/src/devices/bluetooth/nm-bluez-device.c
+++ b/src/devices/bluetooth/nm-bluez-device.c
@@ -600,8 +600,10 @@ nm_bluez_device_connect_finish (NMBluezDevice *self,
                return NULL;
 
        device = (const char *) g_simple_async_result_get_op_res_gpointer 
(simple);
-       if (device && priv->bluez_version == 5)
+       if (device && priv->bluez_version == 5) {
                priv->connected = TRUE;
+               g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_CONNECTED);
+       }
 
        return device;
 }

_______________________________________________
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to