• Iulia Tanasescu's avatar
    Bluetooth: ISO: Support multiple BIGs · 6a42e9bf
    Iulia Tanasescu authored
    This adds support for creating multiple BIGs. According to
    spec, each BIG shall have an unique handle, and each BIG should
    be associated with a different advertising handle. Otherwise,
    the LE Create BIG command will fail, with error code
    Command Disallowed (for reusing a BIG handle), or
    Unknown Advertising Identifier (for reusing an advertising
    handle).
    
    The btmon snippet below shows an exercise for creating two BIGs
    for the same controller, by opening two isotest instances with
    the following command:
        tools/isotest -i hci0 -s 00:00:00:00:00:00
    
    < HCI Command: LE Create Broadcast Isochronous Group (0x08|0x0068) plen 31
            Handle: 0x00
            Advertising Handle: 0x01
            Number of BIS: 1
            SDU Interval: 10000 us (0x002710)
            Maximum SDU size: 40
            Maximum Latency: 10 ms (0x000a)
            RTN: 0x02
            PHY: LE 2M (0x02)
            Packing: Sequential (0x00)
            Framing: Unframed (0x00)
            Encryption: 0x00
            Broadcast Code: 00000000000000000000000000000000
    
    > HCI Event: Command Status (0x0f) plen 4
          LE Create Broadcast Isochronous Group (0x08|0x0068) ncmd 1
            Status: Success (0x00)
    
    > HCI Event: LE Meta Event (0x3e) plen 21
          LE Broadcast Isochronous Group Complete (0x1b)
            Status: Success (0x00)
            Handle: 0x00
            BIG Synchronization Delay: 912 us (0x000390)
            Transport Latency: 912 us (0x000390)
            PHY: LE 2M (0x02)
            NSE: 3
            BN: 1
            PTO: 1
            IRC: 3
            Maximum PDU: 40
            ISO Interval: 10.00 msec (0x0008)
            Connection Handle #0: 10
    
    < HCI Command: LE Create Broadcast Isochronous Group (0x08|0x0068)
            Handle: 0x01
            Advertising Handle: 0x02
            Number of BIS: 1
            SDU Interval: 10000 us (0x002710)
            Maximum SDU size: 40
            Maximum Latency: 10 ms (0x000a)
            RTN: 0x02
            PHY: LE 2M (0x02)
            Packing: Sequential (0x00)
            Framing: Unframed (0x00)
            Encryption: 0x00
            Broadcast Code: 00000000000000000000000000000000
    
    > HCI Event: Command Status (0x0f) plen 4
          LE Create Broadcast Isochronous Group (0x08|0x0068) ncmd 1
            Status: Success (0x00)
    Signed-off-by: default avatarIulia Tanasescu <iulia.tanasescu@nxp.com>
    Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
    6a42e9bf
hci_event.c 194 KB