[bluetooth] can't connect to devices that initiate pairing with RequestPinCode() (including peugeot cars)

Bug #1366061 reported by Sebastien Bacher
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
High
Unassigned
ubuntu-system-settings (Ubuntu)
Fix Released
High
Mathieu Trudel-Lapierre
ubuntu-system-settings (Ubuntu RTM)
Fix Released
High
Unassigned

Bug Description

Trying to pair a krillin device to a Peugeot car fails (using rtm 17 with current u-s-s from utopic)
- the car lists the device
- selecting it makes the car issue a "connecting with pin <nnnn>"
- the ubuntu side doesn't display a pin dialog
- the car return directly an auth error

sometime after fiddling the phone/car can get in a situation where an entry is displayed on the phone, but the car seems to never get the validation/it doesn't dismiss the dialog

Related branches

Revision history for this message
Sebastien Bacher (seb128) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

the log has those lines

"Sep 5 16:47:30 ubuntu-phablet bluetoothd[784]: src/device.c:new_auth() Requesting agent authentication for 00:0E:9F:CD:8B:30
Sep 5 16:47:30 ubuntu-phablet bluetoothd[784]: No agent available for request type 0
Sep 5 16:47:30 ubuntu-phablet bluetoothd[784]: btd_event_request_pin: Operation not permitted"

Revision history for this message
Sebastien Bacher (seb128) wrote :
Changed in ubuntu-system-settings (Ubuntu):
status: New → Triaged
importance: Undecided → High
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
summary: - [bluetooth] can't connect to car (auth error)
+ [bluetooth] can't connect to car (auth error - Peugeot)
Changed in ubuntu-system-settings (Ubuntu RTM):
status: New → Triaged
importance: Undecided → High
Revision history for this message
Michał Sawicz (saviq) wrote : Re: [bluetooth] can't connect to car (auth error - Peugeot)

Likely dupe - bug #1362694

Revision history for this message
Sebastien Bacher (seb128) wrote :

Ok, I had a look with that and discussed it a bit with Mathieu

lp:~mathieu-tl/ubuntu-system-settings/agent-rework has the bits to fix it but is incomplete

The issue is that currently the code registers a device-specific agent, when selecting a device and trying to pair it (i.e when selecting a device in the list and clicking on it and selecting "connect").

In the car pairing scenario though what was just described is not the case, the phone sits on the bluetooth panel and the car issues a RequestPinCode(). With the current code it means no agent is registered which leads to the errors in the bluetoothd log
"No agent available for request type 0"

The new code from Mathieu calls "RegisterAgent" which means an agent is available, it does on DBUS_ADAPTER_AGENT_PATH though (to not conflict with the per-device agent) or the bluetooth constructor only calls registerObject(DBUS_AGENT_PATH) which means the setup is not correct. Changing the "RegisterAgent" agent is to DBUS_AGENT_PATH is enough to make pairing works.

In summary we need to add the "RegisterAgent" call and properly register the object, then things should work. Matthieu is looking at doing those changes

summary: - [bluetooth] can't connect to car (auth error - Peugeot)
+ [bluetooth] can't connect to devices that initiate pairing with
+ RequestPinCode()
summary: [bluetooth] can't connect to devices that initiate pairing with
- RequestPinCode()
+ RequestPinCode() (including peugeot cars)
Changed in ubuntu-system-settings (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-system-settings - 0.3+15.04.20150224-0ubuntu1

---------------
ubuntu-system-settings (0.3+15.04.20150224-0ubuntu1) vivid; urgency=medium

  [ Mathieu Trudel-Lapierre ]
  * Make an adapter-wide agent available for pairing requests initiated from
    a remote device. (LP: #1366061)

  [ CI Train Bot ]
  * New rebuild forced.
 -- CI Train Bot <email address hidden> Tue, 24 Feb 2015 22:40:10 +0000

Changed in ubuntu-system-settings (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

This addresses a number of factory reported issues as well

Changed in canonical-devices-system-image:
status: New → In Progress
importance: Undecided → High
milestone: none → ww13-ota
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-system-settings - 0.3+15.04.20150227~rtm-0ubuntu1

---------------
ubuntu-system-settings (0.3+15.04.20150227~rtm-0ubuntu1) 14.09; urgency=medium

  [ Ricardo Salveti de Araujo ]
  * Make an adapter-wide agent available for pairing requests initiated
    from a remote device. (LP: #1366061) (LP: #1366061)
 -- CI Train Bot <email address hidden> Fri, 27 Feb 2015 06:00:43 +0000

Changed in ubuntu-system-settings (Ubuntu RTM):
status: Triaged → Fix Released
Changed in canonical-devices-system-image:
status: In Progress → Fix Released
Revision history for this message
Cesar Herrera (chg1) wrote :

I have a BQ E4.5 and can't pair with a Citroen C4.
The phone doesn't sows the name C4, only some letters. When I switch off the battery it sows the name C4 but it continues not pairing.
I repeat a lot of times the switching off of the car battery but It doesn't pair

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.