• Nick Pelly's avatar
    Bluetooth: Enter active mode before establishing a SCO link. · c390216b
    Nick Pelly authored
    When in sniff mode with a long interval time (1.28s) it can take 4+ seconds
    to establish a SCO link. Fix by requesting active mode before requesting
    SCO connection. This improves SCO setup time to ~500ms.
    
    Bluetooth headsets that use a long interval time, and exhibit the long
    SCO connection time include Motorola H790, HX1 and H17. They have a
    CSR 2.1 chipset.
    
    Verified this behavior and fix with host Bluetooth chipsets: BCM4329 and
    TI1271.
    
    2009-10-13 14:17:46.183722 > HCI Event: Mode Change (0x14) plen 6
        status 0x00 handle 1 mode 0x02 interval 2048
        Mode: Sniff
    2009-10-13 14:17:53.436285 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17
        handle 1 voice setting 0x0060
    2009-10-13 14:17:53.445593 > HCI Event: Command Status (0x0f) plen 4
        Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
    2009-10-13 14:17:57.788855 > HCI Event: Synchronous Connect Complete 0x2c) plen 17
        status 0x00 handle 257 bdaddr 00:1A:0E:F1:A4:7F type eSCO
        Air mode: CVSD
    Signed-off-by: default avatarNick Pelly <npelly@google.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    c390216b
hci_conn.c 15.7 KB