I've found the problem. The function display_pincode_callback in panels/bluetooth/gnome-bluetooth/wizard/main.c is empty so the gtk ui wont show the pincode (like for the passkey auth).
Quick solution is to change the function to:
static void
display_pincode_callback (GDBusMethodInvocation *invocation,
GDBusProxy *device,
const char *pincode,
gpointer user_data)
{
gchar *text, *label;
if (target_ui_behaviour == PAIRING_UI_KEYBOARD) {
label = g_strdup_printf (_("Please enter the following PIN on '%s' and press “Enter” on the keyboard:"), target_name);
text = g_strdup_printf("%s⏎", pincode);
}
else {
label = g_strdup_printf (_("Please enter the following PIN on '%s':"), target_name);
text = g_strdup_printf("%s", pincode);
}
/* Reject all the calls here, so that we'll get asked about the
* pincode instead of being told the pincode */
g_dbus_method_invocation_return_dbus_error (invocation, "org.bluez.Error.Rejected",
"Rejected bluetoothd generated PIN code");
}
I've found the problem. The function display_ pincode_ callback in panels/ bluetooth/ gnome-bluetooth /wizard/ main.c is empty so the gtk ui wont show the pincode (like for the passkey auth). pincode_ callback (GDBusMethodInv ocation *invocation,
Quick solution is to change the function to:
static void
display_
GDBusProxy *device,
const char *pincode,
gpointer user_data)
{
gchar *text, *label;
display_called = TRUE; set_current_ page (window_assistant, PAGE_SSP_SETUP);
gtk_assistant_
replace_ target_ properties_ for_device (device);
gtk_widget_show (label_ssp_pin);
if (target_ ui_behaviour == PAIRING_ UI_KEYBOARD) { printf( "%s⏎", pincode); printf( "%s", pincode);
label = g_strdup_printf (_("Please enter the following PIN on '%s' and press “Enter” on the keyboard:"), target_name);
text = g_strdup_
}
else {
label = g_strdup_printf (_("Please enter the following PIN on '%s':"), target_name);
text = g_strdup_
}
gtk_label_ set_markup( GTK_LABEL( label_ssp_ pin_help) , label);
set_large_label (GTK_LABEL (label_ssp_pin), text);
g_free(text);
g_free(label);
/* Reject all the calls here, so that we'll get asked about the method_ invocation_ return_ dbus_error (invocation,
"org. bluez.Error. Rejected" ,
* pincode instead of being told the pincode */
g_dbus_
"Rejected bluetoothd generated PIN code");
}