Analyzed the latest log files and came to following conclusion about
that is going on here:

The key point here is that the car initiates the pairing with the phone
which then leads to a timing problem in ubuntu-system-settings. But step
by step:

Feb 23 09:43:45 ubuntu-phablet bluetoothd[880]: 
src/adapter.c:device_found_callback() hci0 addr 84:38:35:62:28:DF, rssi -91 
flags 0x0000 eir_len 72
Feb 23 09:43:45 ubuntu-phablet bluetoothd[880]: src/device.c:device_create() 
dst 84:38:35:62:28:DF
Feb 23 09:43:45 ubuntu-phablet bluetoothd[880]: src/device.c:device_new() 
address 84:38:35:62:28:DF
Feb 23 09:43:45 ubuntu-phablet bluetoothd[880]: src/device.c:device_new() 
Creating device /org/bluez/hci0/dev_84_38_35_62_28_DF
Feb 23 09:43:45 ubuntu-phablet bluetoothd[880]: 
src/device.c:device_set_legacy() legacy 0
Feb 23 09:43:45 ubuntu-phablet bluetoothd[880]: 
src/device.c:device_set_rssi_with_delta() rssi -91
Feb 23 09:43:45 ubuntu-phablet bluetoothd[880]: 
src/device.c:btd_device_device_set_name() /org/bluez/hci0/dev_84_38_35_62_28_DF 
MacBook Air de Cristina
Feb 23 09:43:45 ubuntu-phablet bluetoothd[880]: src/device.c:device_set_class() 
/org/bluez/hci0/dev_84_38_35_62_28_DF 0x38010C

Here we see that bluez correctly finds the device and directly continues
with an pairing attempt which it gets from the remote device

Feb 23 09:43:46 ubuntu-phablet bluetoothd[880]: 
src/adapter.c:pin_code_request_callback() hci0 00:0A:30:B3:52:4B
Feb 23 09:43:46 ubuntu-phablet bluetoothd[880]: src/device.c:device_create() 
dst 00:0A:30:B3:52:4B
Feb 23 09:43:46 ubuntu-phablet bluetoothd[880]: src/device.c:device_new() 
address 00:0A:30:B3:52:4B
Feb 23 09:43:46 ubuntu-phablet bluetoothd[880]: src/device.c:device_new() 
Creating device /org/bluez/hci0/dev_00_0A_30_B3_52_4B
Feb 23 09:43:46 ubuntu-phablet bluetoothd[880]: src/device.c:new_auth() 
Requesting agent authentication for 00:0A:30:B3:52:4B
Feb 23 09:43:46 ubuntu-phablet bluetoothd[880]: src/agent.c:agent_ref() 
0xb7113930: ref=2
Feb 23 09:43:46 ubuntu-phablet bluetoothd[880]: src/agent.c:agent_ref() 
0xb7113930: ref=3

So there is basically no time span between the phone detecting the
device and getting the pairing request. BlueZ then sends out the pairing
request to its registered agents:

Feb 23 09:43:46 ubuntu-phablet bluetoothd[880]: Agent 
/com/canonical/SettingsBluetoothAgent/adapteragent replied with an error: 
org.bluez.Error.Rejected, The request was rejected: RequestPinCode
Feb 23 09:43:46 ubuntu-phablet bluetoothd[880]: 
src/adapter.c:btd_adapter_pincode_reply() hci0 addr 00:0A:30:B3:52:4B pinlen 0

.. which gets denied from settings app as it doesn't have the device in
its internal list yet. See https://bazaar.launchpad.net/~system-
settings-touch/ubuntu-system-
settings/trunk/view/head:/plugins/bluetooth/agent.cpp#L115 for details.

We need to rework ubuntu-system-settings here to add the new device
based on the object path it gets from bluez with the pairing request.

** Also affects: ubuntu-system-settings (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: bluez (Ubuntu)
       Status: Confirmed => Invalid

** Changed in: ubuntu-system-settings (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to bluez in Ubuntu.
https://bugs.launchpad.net/bugs/1539158

Title:
  Unable to pair with in-car hands-free system after OTA-9 update

Status in Canonical System Image:
  Confirmed
Status in bluez package in Ubuntu:
  Invalid
Status in ubuntu-system-settings package in Ubuntu:
  Confirmed

Bug description:
  After OTA-9 I started having trouble with my bluetooth connection to the car 
hands-free system (no sound, and incoming calls no longer displayed the 
number), so I have reset both the car and the phone connections (eg. forgot the 
devices).
  Now I can't even pair the phone with the car's system. 
  The car finds the phone, and then asks me to enter the code "0000" to pair 
the device, but after a few moments, it just says the connection failed and 
asks me to try again. Which fails again.

  It was working fine just before the update.

  Any logs I should post to help debug?

  PS - The car is a 2015 Honda Civic Tourer, if that matters.

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1539158/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to