1. 06 Sep, 2022 1 commit
    • Brian Gix's avatar
      Bluetooth: Implement support for Mesh · b338d917
      Brian Gix authored
      The patch adds state bits, storage and HCI command chains for sending
      and receiving Bluetooth Mesh advertising packets, and delivery to
      requesting user space processes. It specifically creates 4 new MGMT
      commands and 2 new MGMT events:
      
      MGMT_OP_SET_MESH_RECEIVER - Sets passive scan parameters and a list of
      AD Types which will trigger Mesh Packet Received events
      
      MGMT_OP_MESH_READ_FEATURES - Returns information on how many outbound
      Mesh packets can be simultaneously queued, and what the currently queued
      handles are.
      
      MGMT_OP_MESH_SEND - Command to queue a specific outbound Mesh packet,
      with the number of times it should be sent, and the BD Addr to use.
      Discrete advertisments are added to the ADV Instance list.
      
      MGMT_OP_MESH_SEND_CANCEL - Command to cancel a prior outbound message
      request.
      
      MGMT_EV_MESH_DEVICE_FOUND - Event to deliver entire received Mesh
      Advertisement packet, along with timing information.
      
      MGMT_EV_MESH_PACKET_CMPLT - Event to indicate that an outbound packet is
      no longer queued for delivery.
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      b338d917
  2. 01 Sep, 2022 1 commit
  3. 31 Aug, 2022 6 commits
    • Larry Finger's avatar
      Bluetooth: btusb: Add BT device 0cb8:c549 from RTW8852AE to tables · a0476f6a
      Larry Finger authored
      A new Bluetooth device for the Realtek RTW8852AE has been noted.
      
      This device has the following lsusb output:
      
      Bus 001 Device 003: ID 0cb8:c549 Opticis Co., Ltd Bluetooth Radio
      
      The pertinent part of /sys/kernel/debug/usb/devices is as follows:
      
      T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#= 3 Spd=12 MxCh= 0
      D: Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
      P: Vendor=0cb8 ProdID=c549 Rev= 0.00
      S: Manufacturer=Realtek
      S: Product=Bluetooth Radio
      C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
      E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
      E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
      E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
      I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
      E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
      I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
      E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
      I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
      E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
      I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
      E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
      I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
      E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      a0476f6a
    • Szabolcs Sipos's avatar
      Bluetooth: btusb: Add RTL8761BUV device (Edimax BT-8500) · c7577014
      Szabolcs Sipos authored
      T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=7392 ProdID=c611 Rev= 2.00
      S:  Manufacturer=Realtek
      S:  Product=Edimax Bluetooth Adapter
      S:  SerialNumber=XXXXXXXXXXXX
      C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      Signed-off-by: default avatarSzabolcs Sipos <labuwx@balfug.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      c7577014
    • Szabolcs Sipos's avatar
      Bluetooth: btusb: RTL8761BUV consistent naming · d8daa399
      Szabolcs Sipos authored
      Based on photos available from the FCC, all currently supported RTL8761B
      series USB dongles have the same chip: RTL8761BUV.
      
      rtl8761bu is often used to refer to this chip.
      rtl8761b sometimes refers to this chip, and other times to its
      UART variant (RTL8761BTV).
      
      +----------------+---------+---------+---------------+
      |     Dongle     | USB VID | USB PID |    FCC ID     |
      +----------------+---------+---------+---------------+
      | ASUS USB-BT500 | 0x0b05  | 0x190e  | MSQ-USBBTJB00 |
      | TP-Link UB500  | 0x2357  | 0x0604  | 2AXJ4UB500    |
      | EDUP EP-B3519  |         |         | 2AHRD-EPB3519 |
      | EDUP EP-B3536  |         |         | 2AHRDEP-B3536 |
      | UGREEN CM390   |         |         | 2AQI5-CM390   |
      +----------------+---------+---------+---------------+
      Signed-off-by: default avatarSzabolcs Sipos <labuwx@balfug.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      d8daa399
    • Max Chou's avatar
      Bluetooth: btusb: Add Realtek RTL8852C support ID 0x13D3:0x3592 · c4ba5800
      Max Chou authored
      Add the support ID(0x13D3, 0x3592) to usb_device_id table for
      Realtek RTL8852C.
      
      The device info from /sys/kernel/debug/usb/devices as below.
      
      T:  Bus=03 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
      D:  Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=13d3 ProdID=3592 Rev= 0.00
      S:  Manufacturer=Realtek
      S:  Product=Bluetooth Radio
      S:  SerialNumber=00e04c000001
      C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      Signed-off-by: default avatarMax Chou <max.chou@realtek.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      c4ba5800
    • Brian Gix's avatar
      Bluetooth: Move hci_abort_conn to hci_conn.c · 1a942de0
      Brian Gix authored
      hci_abort_conn() is a wrapper around a number of DISCONNECT and
      CREATE_CONN_CANCEL commands that was being invoked from hci_request
      request queues, which are now deprecated. There are two versions:
      hci_abort_conn() which can be invoked from the hci_event thread, and
      hci_abort_conn_sync() which can be invoked within a hci_sync cmd chain.
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      1a942de0
    • Brian Gix's avatar
      Bluetooth: Normalize HCI_OP_READ_ENC_KEY_SIZE cmdcmplt · 278d933e
      Brian Gix authored
      The HCI_OP_READ_ENC_KEY_SIZE command is converted from using the
      deprecated hci_request mechanism to use hci_send_cmd, with an
      accompanying hci_cc_read_enc_key_size to handle it's return response.
      Signed-off-by: default avatarBrian Gix <brian.gix@intel.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      278d933e
  4. 25 Aug, 2022 32 commits