1. 27 8月, 2013 13 次提交
  2. 23 8月, 2013 25 次提交
  3. 21 8月, 2013 2 次提交
    • F
      Bluetooth: Add SCO connection fallback · 2dea632f
      Frédéric Dalleau 提交于
      When initiating a transparent eSCO connection, make use of T2 settings
      at first try. T2 is the recommended settings from HFP 1.6 WideBand
      Speech. Upon connection failure, try T1 settings.
      
      When CVSD is requested and eSCO is supported, try to establish eSCO
      connection using S3 settings. If it fails, fallback in sequence to S2,
      S1, D1, D0 settings.
      
      To know which setting should be used, conn->attempt is used. It
      indicates the currently ongoing SCO connection attempt and can be used
      as the index for the fallback settings table.
      
      These setting and the fallback order are described in Bluetooth HFP 1.6
      specification p. 101.
      Signed-off-by: NFrédéric Dalleau <frederic.dalleau@linux.intel.com>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      2dea632f
    • F
      Bluetooth: Handle specific error for SCO connection fallback · 1a4c958c
      Frédéric Dalleau 提交于
      Synchronous Connection Complete event can return error "Connection
      Rejected due to Limited resources (0x10)".
      Handling this error is required for SCO connection fallback. This error
      happens when the server tried to accept the connection but failed to
      negotiate settings.
      This error code has been verified experimentally by sending a T2 request
      to a T1 only SCO listener.
      
      Client dump follows :
      
      < HCI Command (0x01|0x0028) plen 17 [hci0] 3.696064
              Handle: 12
              Transmit bandwidth: 8000
              Receive bandwidth: 8000
              Max latency: 13
              Setting: 0x0003
              Retransmission effort: Optimize for link quality (0x02)
              Packet type: 0x0380
      > HCI Event (0x0f) plen 4 [hci0] 3.697034
            Setup Synchronous Connection (0x01|0x0028) ncmd 1
              Status: Success (0x00)
      > HCI Event (0x2c) plen 17 [hci0] 3.736059
              Status: Connection Rejected due to Limited Resources (0x0d)
              Handle: 0
              Address: xx:xx:xx:xx:xx:AB (OUI 70-F3-95)
              Link type: eSCO (0x02)
              Transmission interval: 0x0c
              Retransmission window: 0x06
              RX packet length: 60
              TX packet length: 60
              Air mode: Transparent (0x03)
      
      Server dump follows :
      
      > HCI Event (0x04) plen 10 [hci0] 4.741513
              Address: xx:xx:xx:xx:xx:D9 (OUI 20-68-9D)
              Class: 0x620100
                Major class: Computer (desktop, notebook, PDA, organizers)
                Minor class: Uncategorized, code for device not assigned
                Networking (LAN, Ad hoc)
                Audio (Speaker, Microphone, Headset)
                Telephony (Cordless telephony, Modem, Headset)
              Link type: eSCO (0x02)
      < HCI Command (0x01|0x0029) plen 21 [hci0] 4.743269
              Address: xx:xx:xx:xx:xx:D9 (OUI 20-68-9D)
              Transmit bandwidth: 8000
              Receive bandwidth: 8000
              Max latency: 13
              Setting: 0x0003
              Retransmission effort: Optimize for link quality (0x02)
              Packet type: 0x03c1
      > HCI Event (0x0f) plen 4 [hci0] 4.745517
            Accept Synchronous Connection (0x01|0x0029) ncmd 1
              Status: Success (0x00)
      > HCI Event (0x2c) plen 17 [hci0] 4.749508
              Status: Connection Rejected due to Limited Resources (0x0d)
              Handle: 0
              Address: xx:xx:xx:xx:xx:D9 (OUI 20-68-9D)
              Link type: eSCO (0x02)
              Transmission interval: 0x0c
              Retransmission window: 0x06
              RX packet length: 60
              TX packet length: 60
              Air mode: Transparent (0x03)
      Signed-off-by: NFrédéric Dalleau <frederic.dalleau@linux.intel.com>
      Acked-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      1a4c958c