You have to pass the NMDevice to nm_client_activate_connection() for a device-specific connection. This got broken at some point in the rewrites since 3.4. https://bugzilla.gnome.org/show_bug.cgi?id=682469