mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-12 15:33:45 +08:00
6418bfd5b7
At ignition the head unit pages the comma for hands-free at the same moment
the supervisor paged the car. The crossed connections can leave the
controller holding a link the 4.9 kernel no longer knows ("ACL packet for
unknown connection handle 7"), after which every SDP/RFCOMM connect to the
car fails with EALREADY and the session retries the same sequence until the
car gives up.
- Ignition-triggered sessions wait up to 8 s for the car's own hands-free
link before paging it.
- EALREADY on SDP or the cached RFCOMM channel fails the attempt at once,
keeps the cached channel, drops the stray handle with a raw HCI Disconnect
(only when BlueZ reports the car disconnected and the kernel does not list
that handle), and lets the car connect first on the retry.