All of lore.kernel.org
 help / color / mirror / Atom feed
* LE Advertising: Command Disallowed
@ 2020-11-11 17:49 Devin Bayer
  2020-11-11 20:04 ` Michael N. Moran
  0 siblings, 1 reply; 9+ messages in thread
From: Devin Bayer @ 2020-11-11 17:49 UTC (permalink / raw)
  To: linux-bluetooth

Hello,

I am trying to figure out why I'm getting "Command Disallowed" for the HCI
commands "LE Set Advertise Enable" and "LE Set Advertising Parameters". I've
been trying for a few days to get a GATT service running; first with the D-BUS
API, which occasionally worked but was very unstable. Now I'm trying with HCI
directly with the pybleno / bleno libraries.

I have bluetoothd disabled and I have tried an `hciconfig reset` and reboot.
Unsure what else I can do, I'm asking here.

The errors are these:

> HCI Event: Command Complete (0x0e) plen 4      #14 [hci0] 3.406377
      LE Set Advertise Enable (0x08|0x000a) ncmd 1
        Status: Command Disallowed (0x0c)

> HCI Event: Command Complete (0x0e) plen 4      #16 [hci0] 3.407380
      LE Set Advertising Parameters (0x08|0x0006) ncmd 1
        Status: Command Disallowed (0x0c)

The complete log follows:

Bluetooth monitor ver 5.53
= Note: Linux version 5.8.0-26-generic (x86_64)             0.408833
= Note: Bluetooth subsystem version 2.22                    0.408835
= New Index: DC:FB:48:24:13:5E (Primary,USB,hci0)    [hci0] 0.408836
= Open Index: DC:FB:48:24:13:5E                      [hci0] 0.408836
= Index Info: DC:FB:48:24:13:5E (Intel Corp.)        [hci0] 0.408837
@ MGMT Open: btmon (privileged) version 1.17       {0x0001} 0.408979
@ RAW Open: py.. (privileged) version 2.22  {0x0002} [hci0] 1.487478
< HCI Command: Set Event... (0x03|0x0001) plen 8  #1 [hci0] 1.487682
        Mask: 0x3dbff807fffbffff
          Inquiry Complete
          Inquiry Result
          Connection Complete
          Connection Request
          Disconnection Complete
          Authentication Complete
          Remote Name Request Complete
          Encryption Change
          Change Connection Link Key Complete
          Master Link Key Complete
          Read Remote Supported Features Complete
          Read Remote Version Information Complete
          QoS Setup Complete
          Command Complete
          Command Status
          Hardware Error
          Flush Occurred
          Role Change
          Mode Change
          Return Link Keys
          PIN Code Request
          Link Key Request
          Link Key Notification
          Loopback Command
          Data Buffer Overflow
          Max Slots Change
          Read Clock Offset Complete
          Connection Packet Type Changed
          QoS Violation
          Page Scan Mode Change
          Page Scan Repetition Mode Change
          Flow Specification Complete
          Inquiry Result with RSSI
          Read Remote Extended Features Complete
          Synchronous Connection Complete
          Synchronous Connection Changed
          Sniff Subrating
          Extended Inquiry Result
          Encryption Key Refresh Complete
          IO Capability Request
          IO Capability Request Reply
          User Confirmation Request
          User Passkey Request
          Remote OOB Data Request
          Simple Pairing Complete
          Link Supervision Timeout Changed
          Enhanced Flush Complete
          User Passkey Notification
          Keypress Notification
          Remote Host Supported Features Notification
          LE Meta
> HCI Event: Command Complete (0x0e) plen 4       #2 [hci0] 1.605102
      Set Event Mask (0x03|0x0001) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Set Eve.. (0x08|0x0001) plen 8  #3 [hci0] 1.605163
        Mask: 0x000000000000001f
          LE Connection Complete
          LE Advertising Report
          LE Connection Update Complete
          LE Read Remote Used Features Complete
          LE Long Term Key Request
> HCI Event: Command Complete (0x0e) plen 4       #4 [hci0] 1.605858
      LE Set Event Mask (0x08|0x0001) ncmd 1
        Status: Success (0x00)
< HCI Command: Read Local.. (0x04|0x0001) plen 0  #5 [hci0] 1.605905
> HCI Event: Command Complete (0x0e) plen 12      #6 [hci0] 1.606854
      Read Local Version Information (0x04|0x0001) ncmd 1
        Status: Success (0x00)
        HCI version: Bluetooth 5.1 (0x0a) - Revision 256 (0x0100)
        LMP version: Bluetooth 5.1 (0x0a) - Subversion 256 (0x0100)
        Manufacturer: Intel Corp. (2)
< HCI Command: Write LE H.. (0x03|0x006d) plen 2  #7 [hci0] 1.606900
        Supported: 0x01
        Simultaneous: 0x00
> HCI Event: Command Complete (0x0e) plen 4       #8 [hci0] 1.607854
      Write LE Host Supported (0x03|0x006d) ncmd 1
        Status: Success (0x00)
< HCI Command: Read LE Ho.. (0x03|0x006c) plen 0  #9 [hci0] 1.607863
> HCI Event: Command Complete (0x0e) plen 6      #10 [hci0] 1.608862
      Read LE Host Supported (0x03|0x006c) ncmd 1
        Status: Success (0x00)
        Supported: 0x01
        Simultaneous: 0x00
< HCI Command: Read BD A.. (0x04|0x0009) plen 0  #11 [hci0] 1.608916
> HCI Event: Command Complete (0x0e) plen 10     #12 [hci0] 1.610004
      Read BD ADDR (0x04|0x0009) ncmd 1
        Status: Success (0x00)
        Address: DC:FB:48:24:13:5E (Intel Corporate)
< HCI Command: LE Set Ad.. (0x08|0x000a) plen 1  #13 [hci0] 1.610132
        Advertising: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 4      #14 [hci0] 1.610811
      LE Set Advertise Enable (0x08|0x000a) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set A.. (0x08|0x0006) plen 15  #15 [hci0] 1.610893
        Min advertising interval: 100.000 msec (0x00a0)
        Max advertising interval: 100.000 msec (0x00a0)
        Type: Connectable undirected - ADV_IND (0x00)
        Own address type: Public (0x00)
        Direct address type: Public (0x00)
        Direct address: 00:00:00:00:00:00 (OUI 00-00-00)
        Channel map: 37, 38, 39 (0x07)
        Filter policy: Allow Scan Request from Any, Allow Connect Request from
Any (0x00)
> HCI Event: Command Complete (0x0e) plen 4      #16 [hci0] 1.611979
      LE Set Advertising Parameters (0x08|0x0006) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set S.. (0x08|0x0009) plen 32  #17 [hci0] 1.612322
        Length: 6
        Name (short): echo
> HCI Event: Command Complete (0x0e) plen 4      #18 [hci0] 1.612880
      LE Set Scan Response Data (0x08|0x0009) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set A.. (0x08|0x0008) plen 32  #19 [hci0] 1.613007
        Length: 7
        Flags: 0x06
          LE General Discoverable Mode
          BR/EDR Not Supported
        16-bit Service UUIDs (complete): 1 entry
          Unknown (0xec00)
> HCI Event: Command Complete (0x0e) plen 4      #20 [hci0] 1.613980
      LE Set Advertising Data (0x08|0x0008) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set Ad.. (0x08|0x000a) plen 1  #21 [hci0] 1.614025
        Advertising: Enabled (0x01)
> HCI Event: Command Complete (0x0e) plen 4      #22 [hci0] 1.614830
      LE Set Advertise Enable (0x08|0x000a) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set S.. (0x08|0x0009) plen 32  #23 [hci0] 1.614913
        Length: 6
        Name (short): echo
> HCI Event: Command Complete (0x0e) plen 4      #24 [hci0] 1.615974
      LE Set Scan Response Data (0x08|0x0009) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set A.. (0x08|0x0008) plen 32  #25 [hci0] 1.616018
        Length: 7
        Flags: 0x06
          LE General Discoverable Mode
          BR/EDR Not Supported
        16-bit Service UUIDs (complete): 1 entry
          Unknown (0xec00)
> HCI Event: Command Complete (0x0e) plen 4      #26 [hci0] 1.616985
      LE Set Advertising Data (0x08|0x0008) ncmd 1
        Status: Command Disallowed (0x0c)

Any help / pointers is much appreciated.

~ Dev

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: LE Advertising: Command Disallowed
  2020-11-11 17:49 LE Advertising: Command Disallowed Devin Bayer
@ 2020-11-11 20:04 ` Michael N. Moran
  2020-11-11 20:11   ` Devin Bayer
  0 siblings, 1 reply; 9+ messages in thread
From: Michael N. Moran @ 2020-11-11 20:04 UTC (permalink / raw)
  To: Devin Bayer, linux-bluetooth

Hi Devin,

If I recall correctly, you get this if advertising is already enabled.


On 11/11/20 12:49 PM, Devin Bayer wrote:
> Hello,
>
> I am trying to figure out why I'm getting "Command Disallowed" for the HCI
> commands "LE Set Advertise Enable" and "LE Set Advertising Parameters". I've
> been trying for a few days to get a GATT service running; first with the D-BUS
> API, which occasionally worked but was very unstable. Now I'm trying with HCI
> directly with the pybleno / bleno libraries.
>
> I have bluetoothd disabled and I have tried an `hciconfig reset` and reboot.
> Unsure what else I can do, I'm asking here.
>
> The errors are these:
>
>> HCI Event: Command Complete (0x0e) plen 4      #14 [hci0] 3.406377
>       LE Set Advertise Enable (0x08|0x000a) ncmd 1
>         Status: Command Disallowed (0x0c)
>
>> HCI Event: Command Complete (0x0e) plen 4      #16 [hci0] 3.407380
>       LE Set Advertising Parameters (0x08|0x0006) ncmd 1
>         Status: Command Disallowed (0x0c)


-- 
Michael N. Moran           (h) 770 704 9751
218 Wilshire Terrace       (c) 678 521 5460
White, GA, USA 30184       http://mnmoran.org


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: LE Advertising: Command Disallowed
  2020-11-11 20:04 ` Michael N. Moran
@ 2020-11-11 20:11   ` Devin Bayer
  2020-11-11 20:53     ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 9+ messages in thread
From: Devin Bayer @ 2020-11-11 20:11 UTC (permalink / raw)
  To: Michael N. Moran, linux-bluetooth

On 11/11/2020 21.04, Michael N. Moran wrote:
> Hi Devin,
> 
> If I recall correctly, you get this if advertising is already enabled.

For the first error (Advertise Enable), this makes sense. I also saw that on
another host which seemed to be working.

But the following seem to prevent advertisements from being sent:

>> HCI Event: Command Complete (0x0e) plen 4      #16 [hci0] 3.407380
>       LE Set Advertising Parameters (0x08|0x0006) ncmd 1
>         Status: Command Disallowed (0x0c)

>> HCI Event: Command Complete (0x0e) plen 4      #20 [hci0] 1.613980
>       LE Set Advertising Data (0x08|0x0008) ncmd 1
>         Status: Command Disallowed (0x0c)

~ Devin

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: LE Advertising: Command Disallowed
  2020-11-11 20:11   ` Devin Bayer
@ 2020-11-11 20:53     ` Luiz Augusto von Dentz
  2020-11-11 21:07       ` Devin Bayer
  0 siblings, 1 reply; 9+ messages in thread
From: Luiz Augusto von Dentz @ 2020-11-11 20:53 UTC (permalink / raw)
  To: Devin Bayer; +Cc: Michael N. Moran, linux-bluetooth

Hi Devin,

On Wed, Nov 11, 2020 at 12:13 PM Devin Bayer <dev@doubly.so> wrote:
>
> On 11/11/2020 21.04, Michael N. Moran wrote:
> > Hi Devin,
> >
> > If I recall correctly, you get this if advertising is already enabled.
>
> For the first error (Advertise Enable), this makes sense. I also saw that on
> another host which seemed to be working.
>
> But the following seem to prevent advertisements from being sent:
>
> >> HCI Event: Command Complete (0x0e) plen 4      #16 [hci0] 3.407380
> >       LE Set Advertising Parameters (0x08|0x0006) ncmd 1
> >         Status: Command Disallowed (0x0c)
>
> >> HCI Event: Command Complete (0x0e) plen 4      #20 [hci0] 1.613980
> >       LE Set Advertising Data (0x08|0x0008) ncmd 1
> >         Status: Command Disallowed (0x0c)
>

You also need to ensure you are not mixing with extended advertisement
commands, iirc if the stack does send
BT_HCI_CMD_LE_READ_NUM_SUPPORTED_ADV_SETS it would already prevent the
legacy version to work. Bottom line here is, either use entire stack
or switch to user-channel with a proper stack, mixed handling won't
cut anymore, and for the most part we should be covering all the
advertisement features over D-Bus if we don't please let us know if
there are still gaps.


-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: LE Advertising: Command Disallowed
  2020-11-11 20:53     ` Luiz Augusto von Dentz
@ 2020-11-11 21:07       ` Devin Bayer
  2020-11-11 23:00         ` Emil Lenngren
  0 siblings, 1 reply; 9+ messages in thread
From: Devin Bayer @ 2020-11-11 21:07 UTC (permalink / raw)
  To: Luiz Augusto von Dentz; +Cc: Michael N. Moran, linux-bluetooth



On 11/11/2020 21.53, Luiz Augusto von Dentz wrote:
> 
> You also need to ensure you are not mixing with extended advertisement
> commands, iirc if the stack does send
> BT_HCI_CMD_LE_READ_NUM_SUPPORTED_ADV_SETS it would already prevent the
> legacy version to work. Bottom line here is, either use entire stack
> or switch to user-channel with a proper stack, mixed handling won't
> cut anymore, and for the most part we should be covering all the
> advertisement features over D-Bus if we don't please let us know if
> there are still gaps.
> 

Hi Luiz,

I am not sure what you mean about mixed handling, but I am not using bluetoothd.
As you can see the entire log, I don't see any indication of
BT_HCI_CMD_LE_READ_NUM_SUPPORTED_ADV_SETS. Could that be a default from boot
that I need to disable?

BTW, what is "user-channel with a proper stack" ?

My issue with the D-BUS API is that I could never get reliable behavior of even
basic discovering and connecting; it's not about missing features.

~ Devin

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: LE Advertising: Command Disallowed
  2020-11-11 21:07       ` Devin Bayer
@ 2020-11-11 23:00         ` Emil Lenngren
  2020-11-12 12:16           ` Devin Bayer
  0 siblings, 1 reply; 9+ messages in thread
From: Emil Lenngren @ 2020-11-11 23:00 UTC (permalink / raw)
  To: Devin Bayer; +Cc: Luiz Augusto von Dentz, Michael N. Moran, linux-bluetooth

Hi Devin,

Den ons 11 nov. 2020 kl 21:09 skrev Devin Bayer <dev@doubly.so>:
>
>
>
> On 11/11/2020 21.53, Luiz Augusto von Dentz wrote:
> >
> > You also need to ensure you are not mixing with extended advertisement
> > commands, iirc if the stack does send
> > BT_HCI_CMD_LE_READ_NUM_SUPPORTED_ADV_SETS it would already prevent the
> > legacy version to work. Bottom line here is, either use entire stack
> > or switch to user-channel with a proper stack, mixed handling won't
> > cut anymore, and for the most part we should be covering all the
> > advertisement features over D-Bus if we don't please let us know if
> > there are still gaps.
> >
>
> Hi Luiz,
>
> I am not sure what you mean about mixed handling, but I am not using bluetoothd.
> As you can see the entire log, I don't see any indication of
> BT_HCI_CMD_LE_READ_NUM_SUPPORTED_ADV_SETS. Could that be a default from boot
> that I need to disable?
>
> BTW, what is "user-channel with a proper stack" ?
>
> My issue with the D-BUS API is that I could never get reliable behavior of even
> basic discovering and connecting; it's not about missing features.
>
> ~ Devin

It would be good to see the complete log from when the "Reset" command
is issued, otherwise we don't know in which "state" the controller is
in at the various commands. Also widen the command window when running
btmon so we see the complete names. :)
Seeing the result from "LE Read Supported States" would also be nice.

/Emil

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: LE Advertising: Command Disallowed
  2020-11-11 23:00         ` Emil Lenngren
@ 2020-11-12 12:16           ` Devin Bayer
  2020-11-12 13:53             ` Emil Lenngren
  0 siblings, 1 reply; 9+ messages in thread
From: Devin Bayer @ 2020-11-12 12:16 UTC (permalink / raw)
  To: Emil Lenngren; +Cc: Luiz Augusto von Dentz, Michael N. Moran, linux-bluetooth

On Wed, Nov 11, 2020 at 11:00:32PM +0000, Emil Lenngren wrote:
> 
> It would be good to see the complete log from when the "Reset" command
> is issued, otherwise we don't know in which "state" the controller is
> in at the various commands. Also widen the command window when running
> btmon so we see the complete names. :)
> Seeing the result from "LE Read Supported States" would also be nice.
> 

Hi Emil,

below is the complete log, starting with the the reset command. It
includes the "Supported States" call too. Let me know if there is
anything else I can do.

~ Devin

Bluetooth monitor ver 5.53
= Note: Linux version 5.8.0-26-generic (x86_64)                                            0.384781
= Note: Bluetooth subsystem version 2.22                                                   0.384783
= New Index: DC:FB:48:24:13:5E (Primary,USB,hci0)                                   [hci0] 0.384784
= Open Index: DC:FB:48:24:13:5E                                                     [hci0] 0.384784
= Index Info: DC:FB:48:24:13:5E (Intel Corp.)                                       [hci0] 0.384785
@ MGMT Open: btmon (privileged) version 1.17                                      {0x0001} 0.384851
@ RAW Open: hciconfig (privileged) version 2.22                                   {0x0002} 1.207461
< HCI Command: Reset (0x03|0x0003) plen 0                                        #1 [hci0] 1.207523
> HCI Event: Command Complete (0x0e) plen 4                                      #2 [hci0] 1.337162
      Reset (0x03|0x0003) ncmd 2
        Status: Success (0x00)
@ MGMT Event: New Settings (0x0006) plen 4                                 {0x0001} [hci0] 1.337400
        Current settings: 0x00000686
          Connectable
          Fast Connectable
          BR/EDR
          Low Energy
          Advertising
= Close Index: DC:FB:48:24:13:5E                                                    [hci0] 1.337406
= Open Index: DC:FB:48:24:13:5E                                                     [hci0] 1.337800
< HCI Command: Reset (0x03|0x0003) plen 0                                        #3 [hci0] 1.337808
> HCI Event: Command Complete (0x0e) plen 4                                      #4 [hci0] 1.347045
      Reset (0x03|0x0003) ncmd 2
        Status: Success (0x00)
< HCI Command: Read Local Supported Features (0x04|0x0003) plen 0                #5 [hci0] 1.347107
> HCI Event: Command Complete (0x0e) plen 12                                     #6 [hci0] 1.348034
      Read Local Supported Features (0x04|0x0003) ncmd 1
        Status: Success (0x00)
        Features: 0xbf 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87
          3 slot packets
          5 slot packets
          Encryption
          Slot offset
          Timing accuracy
          Role switch
          Sniff mode
          Power control requests
          Channel quality driven data rate (CQDDR)
          SCO link
          HV2 packets
          HV3 packets
          u-law log synchronous data
          A-law log synchronous data
          CVSD synchronous data
          Paging parameter negotiation
          Power control
          Transparent synchronous data
          Enhanced Data Rate ACL 2 Mbps mode
          Enhanced Data Rate ACL 3 Mbps mode
          Enhanced inquiry scan
          Interlaced inquiry scan
          Interlaced page scan
          RSSI with inquiry results
          Extended SCO link (EV3 packets)
          EV4 packets
          EV5 packets
          AFH capable slave
          AFH classification slave
          LE Supported (Controller)
          3-slot Enhanced Data Rate ACL packets
          5-slot Enhanced Data Rate ACL packets
          Sniff subrating
          Pause encryption
          AFH capable master
          AFH classification master
          Enhanced Data Rate eSCO 2 Mbps mode
          Enhanced Data Rate eSCO 3 Mbps mode
          3-slot Enhanced Data Rate eSCO packets
          Extended Inquiry Response
          Simultaneous LE and BR/EDR (Controller)
          Secure Simple Pairing
          Encapsulated PDU
          Erroneous Data Reporting
          Non-flushable Packet Boundary Flag
          Link Supervision Timeout Changed Event
          Inquiry TX Power Level
          Enhanced Power Control
          Extended features
< HCI Command: Read Local Version Information (0x04|0x0001) plen 0               #7 [hci0] 1.348046
> HCI Event: Command Complete (0x0e) plen 12                                     #8 [hci0] 1.349037
      Read Local Version Information (0x04|0x0001) ncmd 1
        Status: Success (0x00)
        HCI version: Bluetooth 5.1 (0x0a) - Revision 256 (0x0100)
        LMP version: Bluetooth 5.1 (0x0a) - Subversion 256 (0x0100)
        Manufacturer: Intel Corp. (2)
< HCI Command: Read BD ADDR (0x04|0x0009) plen 0                                 #9 [hci0] 1.349074
> HCI Event: Command Complete (0x0e) plen 10                                    #10 [hci0] 1.350009
      Read BD ADDR (0x04|0x0009) ncmd 1
        Status: Success (0x00)
        Address: DC:FB:48:24:13:5E (Intel Corporate)
< HCI Command: Read Buffer Size (0x04|0x0005) plen 0                            #11 [hci0] 1.350259
> HCI Event: Command Complete (0x0e) plen 11                                    #12 [hci0] 1.351164
      Read Buffer Size (0x04|0x0005) ncmd 1
        Status: Success (0x00)
        ACL MTU: 1021 ACL max packet: 4
        SCO MTU: 96   SCO max packet: 6
< HCI Command: Read Class of Device (0x03|0x0023) plen 0                        #13 [hci0] 1.351215
> HCI Event: Command Complete (0x0e) plen 7                                     #14 [hci0] 1.352162
      Read Class of Device (0x03|0x0023) ncmd 1
        Status: Success (0x00)
        Class: 0x000000
          Major class: Miscellaneous
          Minor class: 0x00
< HCI Command: Read Local Name (0x03|0x0014) plen 0                             #15 [hci0] 1.352212
> HCI Event: Command Complete (0x0e) plen 252                                   #16 [hci0] 1.356200
      Read Local Name (0x03|0x0014) ncmd 1
        Status: Success (0x00)
        Name:
< HCI Command: Read Voice Setting (0x03|0x0025) plen 0                          #17 [hci0] 1.356222
> HCI Event: Command Complete (0x0e) plen 6                                     #18 [hci0] 1.357165
      Read Voice Setting (0x03|0x0025) ncmd 1
        Status: Success (0x00)
        Setting: 0x0060
          Input Coding: Linear
          Input Data Format: 2's complement
          Input Sample Size: 16-bit
          # of bits padding at MSB: 0
          Air Coding Format: CVSD
< HCI Command: Read Number of Supported IAC (0x03|0x0038) plen 0                #19 [hci0] 1.357224
> HCI Event: Command Complete (0x0e) plen 5                                     #20 [hci0] 1.357998
      Read Number of Supported IAC (0x03|0x0038) ncmd 1
        Status: Success (0x00)
        Number of IAC: 2
< HCI Command: Read Current IAC LAP (0x03|0x0039) plen 0                        #21 [hci0] 1.358040
> HCI Event: Command Complete (0x0e) plen 8                                     #22 [hci0] 1.359210
      Read Current IAC LAP (0x03|0x0039) ncmd 2
        Status: Success (0x00)
        Number of IAC: 1
        Access code: 0x9e8b33 (General Inquiry)
< HCI Command: Set Event Filter (0x03|0x0005) plen 1                            #23 [hci0] 1.359237
        Type: Clear All Filters (0x00)
> HCI Event: Command Complete (0x0e) plen 4                                     #24 [hci0] 1.360166
      Set Event Filter (0x03|0x0005) ncmd 1
        Status: Success (0x00)
< HCI Command: Write Connection Accept Timeout (0x03|0x0016) plen 2             #25 [hci0] 1.360175
        Timeout: 20000.000 msec (0x7d00)
> HCI Event: Command Complete (0x0e) plen 4                                     #26 [hci0] 1.361162
      Write Connection Accept Timeout (0x03|0x0016) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Read Buffer Size (0x08|0x0002) plen 0                         #27 [hci0] 1.361203
> HCI Event: Command Complete (0x0e) plen 7                                     #28 [hci0] 1.362010
      LE Read Buffer Size (0x08|0x0002) ncmd 1
        Status: Success (0x00)
        Data packet length: 251
        Num data packets: 3
< HCI Command: LE Read Local Supported Features (0x08|0x0003) plen 0            #29 [hci0] 1.362091
> HCI Event: Command Complete (0x0e) plen 12                                    #30 [hci0] 1.363134
      LE Read Local Supported Features (0x08|0x0003) ncmd 1
        Status: Success (0x00)
        Features: 0xff 0x59 0x00 0x08 0x00 0x00 0x00 0x00
          LE Encryption
          Connection Parameter Request Procedure
          Extended Reject Indication
          Slave-initiated Features Exchange
          LE Ping
          LE Data Packet Length Extension
          LL Privacy
          Extended Scanner Filter Policies
          LE 2M PHY
          LE Coded PHY
          LE Extended Advertising
          Channel Selection Algorithm #2
          Remote Public Key Validation
< HCI Command: LE Read Supported States (0x08|0x001c) plen 0                    #31 [hci0] 1.363181
> HCI Event: Command Complete (0x0e) plen 12                                    #32 [hci0] 1.363998
      LE Read Supported States (0x08|0x001c) ncmd 1
        Status: Success (0x00)
        States: 0x000003ffffffffff
          Non-connectable Advertising State
          Scannable Advertising State
          Connectable Advertising State
          High Duty Cycle Directed Advertising State
          Passive Scanning State
          Active Scanning State
          Initiating State
            and Connection State (Master Role)
          Connection State (Slave Role)
          Non-connectable Advertising State
            and Passive Scanning State
          Scannable Advertising State
            and Passive Scanning State
          Connectable Advertising State
            and Passive Scanning State
          High Duty Cycle Directed Advertising State
            and Passive Scanning State
          Non-connectable Advertising State
            and Active Scanning State
          Scannable Advertising State
            and Active Scanning State
          Connectable Advertising State
            and Active Scanning State
          High Duty Cycle Directed Advertising State
            and Active Scanning State
          Non-connectable Advertising State
            and Initiating State
          Scannable Advertising State
            and Initiating State
          Non-connectable Advertising State
            and Connection State (Master Role)
          Scannable Advertising State
            and Connection State (Master Role)
          Non-connectable Advertising State
            and Connection State (Slave Role)
          Scannable Advertising State
            and Connection State (Slave Role)
          Passive Scanning State
            and Initiating State
          Active Scanning State
            and Initiating State
          Passive Scanning State
            and Connection State (Master Role)
          Active Scanning State
            and Connection State (Master Role)
          Passive Scanning State
            and Connection State (Slave Role)
          Active Scanning State
            and Connection State (Slave Role)
          Initiating State
            and Connection State (Master Role)
            and Master Role & Master Role
          Low Duty Cycle Directed Advertising State
          Low Duty Cycle Directed Advertising State
            and Passive Scanning State
          Low Duty Cycle Directed Advertising State
            and Active Scanning State
          Connectable Advertising State
            and Initiating State
            and Master Role & Slave Role
          High Duty Cycle Directed Advertising State
            and Initiating State
            and Master Role & Slave Role
          Low Duty Cycle Directed Advertising State
            and Initiating State
            and Master Role & Slave Role
          Connectable Advertising State
            and Connection State (Master Role)
            and Master Role & Slave Role
          High Duty Cycle Directed Advertising State
            and Connection State (Master Role)
            and Master Role & Slave Role
          Low Duty Cycle Directed Advertising State
            and Connection State (Master Role)
            and Master Role & Slave Role
          Connectable Advertising State
            and Connection State (Slave Role)
            and Master Role & Slave Role
          High Duty Cycle Directed Advertising State
            and Connection State (Slave Role)
            and Slave Role & Slave Role
          Low Duty Cycle Directed Advertising State
            and Connection State (Slave Role)
            and Slave Role & Slave Role
          Initiating State
            and Connection State (Slave Role)
            and Master Role & Slave Role
< HCI Command: Read Local Supported Commands (0x04|0x0002) plen 0               #33 [hci0] 1.364042
> HCI Event: Command Complete (0x0e) plen 68                                    #34 [hci0] 1.366015
      Read Local Supported Commands (0x04|0x0002) ncmd 1
        Status: Success (0x00)
        Commands: 215 entries
          Inquiry (Octet 0 - Bit 0)
          Inquiry Cancel (Octet 0 - Bit 1)
          Periodic Inquiry Mode (Octet 0 - Bit 2)
          Exit Periodic Inquiry Mode (Octet 0 - Bit 3)
          Create Connection (Octet 0 - Bit 4)
          Disconnect (Octet 0 - Bit 5)
          Add SCO Connection (Octet 0 - Bit 6)
          Create Connection Cancel (Octet 0 - Bit 7)
          Accept Connection Request (Octet 1 - Bit 0)
          Reject Connection Request (Octet 1 - Bit 1)
          Link Key Request Reply (Octet 1 - Bit 2)
          Link Key Request Negative Reply (Octet 1 - Bit 3)
          PIN Code Request Reply (Octet 1 - Bit 4)
          PIN Code Request Negative Reply (Octet 1 - Bit 5)
          Change Connection Packet Type (Octet 1 - Bit 6)
          Authentication Requested (Octet 1 - Bit 7)
          Set Connection Encryption (Octet 2 - Bit 0)
          Change Connection Link Key (Octet 2 - Bit 1)
          Remote Name Request (Octet 2 - Bit 3)
          Remote Name Request Cancel (Octet 2 - Bit 4)
          Read Remote Supported Features (Octet 2 - Bit 5)
          Read Remote Extended Features (Octet 2 - Bit 6)
          Read Remote Version Information (Octet 2 - Bit 7)
          Read Clock Offset (Octet 3 - Bit 0)
          Read LMP Handle (Octet 3 - Bit 1)
          Sniff Mode (Octet 4 - Bit 2)
          Exit Sniff Mode (Octet 4 - Bit 3)
          QoS Setup (Octet 4 - Bit 6)
          Role Discovery (Octet 4 - Bit 7)
          Switch Role (Octet 5 - Bit 0)
          Read Link Policy Settings (Octet 5 - Bit 1)
          Write Link Policy Settings (Octet 5 - Bit 2)
          Read Default Link Policy Settings (Octet 5 - Bit 3)
          Write Default Link Policy Settings (Octet 5 - Bit 4)
          Flow Specification (Octet 5 - Bit 5)
          Set Event Mask (Octet 5 - Bit 6)
          Reset (Octet 5 - Bit 7)
          Set Event Filter (Octet 6 - Bit 0)
          Flush (Octet 6 - Bit 1)
          Read PIN Type (Octet 6 - Bit 2)
          Write PIN Type (Octet 6 - Bit 3)
          Read Stored Link Key (Octet 6 - Bit 5)
          Write Stored Link Key (Octet 6 - Bit 6)
          Delete Stored Link Key (Octet 6 - Bit 7)
          Write Local Name (Octet 7 - Bit 0)
          Read Local Name (Octet 7 - Bit 1)
          Read Connection Accept Timeout (Octet 7 - Bit 2)
          Write Connection Accept Timeout (Octet 7 - Bit 3)
          Read Page Timeout (Octet 7 - Bit 4)
          Write Page Timeout (Octet 7 - Bit 5)
          Read Scan Enable (Octet 7 - Bit 6)
          Write Scan Enable (Octet 7 - Bit 7)
          Read Page Scan Activity (Octet 8 - Bit 0)
          Write Page Scan Activity (Octet 8 - Bit 1)
          Read Inquiry Scan Activity (Octet 8 - Bit 2)
          Write Inquiry Scan Activity (Octet 8 - Bit 3)
          Read Authentication Enable (Octet 8 - Bit 4)
          Write Authentication Enable (Octet 8 - Bit 5)
          Read Encryption Mode (Octet 8 - Bit 6)
          Write Encryption Mode (Octet 8 - Bit 7)
          Read Class of Device (Octet 9 - Bit 0)
          Write Class of Device (Octet 9 - Bit 1)
          Read Voice Setting (Octet 9 - Bit 2)
          Write Voice Setting (Octet 9 - Bit 3)
          Read Automatic Flush Timeout (Octet 9 - Bit 4)
          Write Automatic Flush Timeout (Octet 9 - Bit 5)
          Read Transmit Power Level (Octet 10 - Bit 2)
          Read Sync Flow Control Enable (Octet 10 - Bit 3)
          Write Sync Flow Control Enable (Octet 10 - Bit 4)
          Set Controller To Host Flow Control (Octet 10 - Bit 5)
          Host Buffer Size (Octet 10 - Bit 6)
          Host Number of Completed Packets (Octet 10 - Bit 7)
          Read Link Supervision Timeout (Octet 11 - Bit 0)
          Write Link Supervision Timeout (Octet 11 - Bit 1)
          Read Number of Supported IAC (Octet 11 - Bit 2)
          Read Current IAC LAP (Octet 11 - Bit 3)
          Write Current IAC LAP (Octet 11 - Bit 4)
          Read Page Scan Mode (Octet 11 - Bit 7)
          Write Page Scan Mode (Octet 12 - Bit 0)
          Set AFH Host Channel Classification (Octet 12 - Bit 1)
          Read Inquiry Scan Type (Octet 12 - Bit 4)
          Write Inquiry Scan Type (Octet 12 - Bit 5)
          Read Inquiry Mode (Octet 12 - Bit 6)
          Write Inquiry Mode (Octet 12 - Bit 7)
          Read Page Scan Type (Octet 13 - Bit 0)
          Write Page Scan Type (Octet 13 - Bit 1)
          Read AFH Channel Assessment Mode (Octet 13 - Bit 2)
          Write AFH Channel Assessment Mode (Octet 13 - Bit 3)
          Read Local Version Information (Octet 14 - Bit 3)
          Read Local Supported Features (Octet 14 - Bit 5)
          Read Local Extended Features (Octet 14 - Bit 6)
          Read Buffer Size (Octet 14 - Bit 7)
          Read BD ADDR (Octet 15 - Bit 1)
          Read Failed Contact Counter (Octet 15 - Bit 2)
          Reset Failed Contact Counter (Octet 15 - Bit 3)
          Read Link Quality (Octet 15 - Bit 4)
          Read RSSI (Octet 15 - Bit 5)
          Read AFH Channel Map (Octet 15 - Bit 6)
          Read Clock (Octet 15 - Bit 7)
          Read Loopback Mode (Octet 16 - Bit 0)
          Write Loopback Mode (Octet 16 - Bit 1)
          Enable Device Under Test Mode (Octet 16 - Bit 2)
          Setup Synchronous Connection (Octet 16 - Bit 3)
          Accept Synchronous Connection Request (Octet 16 - Bit 4)
          Reject Synchronous Connection Request (Octet 16 - Bit 5)
          Read Extended Inquiry Response (Octet 17 - Bit 0)
          Write Extended Inquiry Response (Octet 17 - Bit 1)
          Refresh Encryption Key (Octet 17 - Bit 2)
          Sniff Subrating (Octet 17 - Bit 4)
          Read Simple Pairing Mode (Octet 17 - Bit 5)
          Write Simple Pairing Mode (Octet 17 - Bit 6)
          Read Local OOB Data (Octet 17 - Bit 7)
          Read Inquiry Response TX Power Level (Octet 18 - Bit 0)
          Write Inquiry Transmit Power Level (Octet 18 - Bit 1)
          Read Default Erroneous Data Reporting (Octet 18 - Bit 2)
          Write Default Erroneous Data Reporting (Octet 18 - Bit 3)
          IO Capability Request Reply (Octet 18 - Bit 7)
          User Confirmation Request Reply (Octet 19 - Bit 0)
          User Confirmation Request Neg Reply (Octet 19 - Bit 1)
          User Passkey Request Reply (Octet 19 - Bit 2)
          User Passkey Request Negative Reply (Octet 19 - Bit 3)
          Remote OOB Data Request Reply (Octet 19 - Bit 4)
          Write Simple Pairing Debug Mode (Octet 19 - Bit 5)
          Enhanced Flush (Octet 19 - Bit 6)
          Remote OOB Data Request Neg Reply (Octet 19 - Bit 7)
          Send Keypress Notification (Octet 20 - Bit 2)
          IO Capability Request Negative Reply (Octet 20 - Bit 3)
          Read Encryption Key Size (Octet 20 - Bit 4)
          Set Event Mask Page 2 (Octet 22 - Bit 2)
          Read Enhanced Transmit Power Level (Octet 24 - Bit 0)
          Read LE Host Supported (Octet 24 - Bit 5)
          Write LE Host Supported (Octet 24 - Bit 6)
          LE Set Event Mask (Octet 25 - Bit 0)
          LE Read Buffer Size (Octet 25 - Bit 1)
          LE Read Local Supported Features (Octet 25 - Bit 2)
          LE Set Random Address (Octet 25 - Bit 4)
          LE Set Advertising Parameters (Octet 25 - Bit 5)
          LE Read Advertising Channel TX Power (Octet 25 - Bit 6)
          LE Set Advertising Data (Octet 25 - Bit 7)
          LE Set Scan Response Data (Octet 26 - Bit 0)
          LE Set Advertise Enable (Octet 26 - Bit 1)
          LE Set Scan Parameters (Octet 26 - Bit 2)
          LE Set Scan Enable (Octet 26 - Bit 3)
          LE Create Connection (Octet 26 - Bit 4)
          LE Create Connection Cancel (Octet 26 - Bit 5)
          LE Read White List Size (Octet 26 - Bit 6)
          LE Clear White List (Octet 26 - Bit 7)
          LE Add Device To White List (Octet 27 - Bit 0)
          LE Remove Device From White List (Octet 27 - Bit 1)
          LE Connection Update (Octet 27 - Bit 2)
          LE Set Host Channel Classification (Octet 27 - Bit 3)
          LE Read Channel Map (Octet 27 - Bit 4)
          LE Read Remote Used Features (Octet 27 - Bit 5)
          LE Encrypt (Octet 27 - Bit 6)
          LE Rand (Octet 27 - Bit 7)
          LE Start Encryption (Octet 28 - Bit 0)
          LE Long Term Key Request Reply (Octet 28 - Bit 1)
          LE Long Term Key Request Neg Reply (Octet 28 - Bit 2)
          LE Read Supported States (Octet 28 - Bit 3)
          LE Receiver Test (Octet 28 - Bit 4)
          LE Transmitter Test (Octet 28 - Bit 5)
          LE Test End (Octet 28 - Bit 6)
          Enhanced Setup Synchronous Connection (Octet 29 - Bit 3)
          Enhanced Accept Synchronous Connection Request (Octet 29 - Bit 4)
          Read Local Supported Codecs (Octet 29 - Bit 5)
          Set External Frame Configuration (Octet 29 - Bit 7)
          Remote OOB Extended Data Request Reply (Octet 32 - Bit 1)
          Read Secure Connections Host Support (Octet 32 - Bit 2)
          Write Secure Connections Host Support (Octet 32 - Bit 3)
          Read Authenticated Payload Timeout (Octet 32 - Bit 4)
          Write Authenticated Payload Timeout (Octet 32 - Bit 5)
          Read Local OOB Extended Data (Octet 32 - Bit 6)
          Write Secure Connections Test Mode (Octet 32 - Bit 7)
          Read Extended Page Timeout (Octet 33 - Bit 0)
          Write Extended Page Timeout (Octet 33 - Bit 1)
          Read Extended Inquiry Length (Octet 33 - Bit 2)
          Write Extended Inquiry Length (Octet 33 - Bit 3)
          LE Remote Connection Parameter Request Reply (Octet 33 - Bit 4)
          LE Remote Connection Parameter Request Negative Reply (Octet 33 - Bit 5)
          LE Set Data Length (Octet 33 - Bit 6)
          LE Read Suggested Default Data Length (Octet 33 - Bit 7)
          LE Write Suggested Default Data Length (Octet 34 - Bit 0)
          LE Read Local P-256 Public Key (Octet 34 - Bit 1)
          LE Generate DHKey (Octet 34 - Bit 2)
          LE Add Device To Resolving List (Octet 34 - Bit 3)
          LE Remove Device From Resolving List (Octet 34 - Bit 4)
          LE Clear Resolving List (Octet 34 - Bit 5)
          LE Read Resolving List Size (Octet 34 - Bit 6)
          LE Read Peer Resolvable Address (Octet 34 - Bit 7)
          LE Read Local Resolvable Address (Octet 35 - Bit 0)
          LE Set Address Resolution Enable (Octet 35 - Bit 1)
          LE Set Resolvable Private Address Timeout (Octet 35 - Bit 2)
          LE Read Maximum Data Length (Octet 35 - Bit 3)
          LE Read PHY (Octet 35 - Bit 4)
          LE Set Default PHY (Octet 35 - Bit 5)
          LE Set PHY (Octet 35 - Bit 6)
          LE Enhanced Receiver Test (Octet 35 - Bit 7)
          LE Enhanced Transmitter Test (Octet 36 - Bit 0)
          LE Set Advertising Set Random Address (Octet 36 - Bit 1)
          LE Set Extended Advertising Parameters (Octet 36 - Bit 2)
          LE Set Extended Advertising Data (Octet 36 - Bit 3)
          LE Set Extended Scan Response Data (Octet 36 - Bit 4)
          LE Set Extended Advertising Enable (Octet 36 - Bit 5)
          LE Read Maximum Advertising Data Length (Octet 36 - Bit 6)
          LE Read Number of Supported Advertising Sets (Octet 36 - Bit 7)
          LE Remove Advertising Set (Octet 37 - Bit 0)
          LE Clear Advertising Sets (Octet 37 - Bit 1)
          LE Set Extended Scan Parameters (Octet 37 - Bit 5)
          LE Set Extended Scan Enable (Octet 37 - Bit 6)
          LE Extended Create Connection (Octet 37 - Bit 7)
          LE Read Transmit Power (Octet 38 - Bit 7)
          LE Read RF Path Compensation (Octet 39 - Bit 0)
          LE Write RF Path Compensation (Octet 39 - Bit 1)
          LE Set Privacy Mode (Octet 39 - Bit 2)
          Octet 41 - Bit 3
< HCI Command: Write Extended Inquiry Response (0x03|0x0052) plen 241           #35 [hci0] 1.366024
        FEC: Not required (0x00)
> HCI Event: Command Complete (0x0e) plen 4                                     #36 [hci0] 1.367022
      Write Extended Inquiry Response (0x03|0x0052) ncmd 1
        Status: Success (0x00)
< HCI Command: Write Inquiry Mode (0x03|0x0045) plen 1                          #37 [hci0] 1.367067
        Mode: Inquiry Result with RSSI or Extended Inquiry Result (0x02)
> HCI Event: Command Complete (0x0e) plen 4                                     #38 [hci0] 1.368161
      Write Inquiry Mode (0x03|0x0045) ncmd 2
        Status: Success (0x00)
< HCI Command: Read Inquiry Response TX Power Level (0x03|0x0058) plen 0        #39 [hci0] 1.368203
> HCI Event: Command Complete (0x0e) plen 5                                     #40 [hci0] 1.369160
      Read Inquiry Response TX Power Level (0x03|0x0058) ncmd 1
        Status: Success (0x00)
        TX power: 12 dbm (0x0c)
< HCI Command: Read Local Extended Features (0x04|0x0004) plen 1                #41 [hci0] 1.369204
        Page: 1
> HCI Event: Command Complete (0x0e) plen 14                                    #42 [hci0] 1.370018
      Read Local Extended Features (0x04|0x0004) ncmd 1
        Status: Success (0x00)
        Page: 1/2
        Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
< HCI Command: Set Event Mask (0x03|0x0001) plen 8                              #43 [hci0] 1.370270
        Mask: 0x3dbff807fffbffff
          Inquiry Complete
          Inquiry Result
          Connection Complete
          Connection Request
          Disconnection Complete
          Authentication Complete
          Remote Name Request Complete
          Encryption Change
          Change Connection Link Key Complete
          Master Link Key Complete
          Read Remote Supported Features Complete
          Read Remote Version Information Complete
          QoS Setup Complete
          Command Complete
          Command Status
          Hardware Error
          Flush Occurred
          Role Change
          Mode Change
          Return Link Keys
          PIN Code Request
          Link Key Request
          Link Key Notification
          Loopback Command
          Data Buffer Overflow
          Max Slots Change
          Read Clock Offset Complete
          Connection Packet Type Changed
          QoS Violation
          Page Scan Mode Change
          Page Scan Repetition Mode Change
          Flow Specification Complete
          Inquiry Result with RSSI
          Read Remote Extended Features Complete
          Synchronous Connection Complete
          Synchronous Connection Changed
          Sniff Subrating
          Extended Inquiry Result
          Encryption Key Refresh Complete
          IO Capability Request
          IO Capability Request Reply
          User Confirmation Request
          User Passkey Request
          Remote OOB Data Request
          Simple Pairing Complete
          Link Supervision Timeout Changed
          Enhanced Flush Complete
          User Passkey Notification
          Keypress Notification
          Remote Host Supported Features Notification
          LE Meta
> HCI Event: Command Complete (0x0e) plen 4                                     #44 [hci0] 1.370998
      Set Event Mask (0x03|0x0001) ncmd 1
        Status: Success (0x00)
< HCI Command: Read Stored Link Key (0x03|0x000d) plen 7                        #45 [hci0] 1.371040
        Address: 00:00:00:00:00:00 (OUI 00-00-00)
        Read all: 0x01
> HCI Event: Command Complete (0x0e) plen 8                                     #46 [hci0] 1.372045
      Read Stored Link Key (0x03|0x000d) ncmd 1
        Status: Success (0x00)
        Max num keys: 5
        Num keys: 0
< HCI Command: Write Default Link Policy Settings (0x02|0x000f) plen 2          #47 [hci0] 1.372055
        Link policy: 0x0005
          Enable Role Switch
          Enable Sniff Mode
> HCI Event: Command Complete (0x0e) plen 4                                     #48 [hci0] 1.373175
      Write Default Link Policy Settings (0x02|0x000f) ncmd 1
        Status: Success (0x00)
< HCI Command: Read Page Scan Activity (0x03|0x001b) plen 0                     #49 [hci0] 1.373219
> HCI Event: Command Complete (0x0e) plen 8                                     #50 [hci0] 1.374046
      Read Page Scan Activity (0x03|0x001b) ncmd 2
        Status: Success (0x00)
        Interval: 1280.000 msec (0x0800)
        Window: 11.250 msec (0x0012)
< HCI Command: Read Default Erroneous Data Reporting (0x03|0x005a) plen 0       #51 [hci0] 1.374093
> HCI Event: Command Complete (0x0e) plen 5                                     #52 [hci0] 1.375010
      Read Default Erroneous Data Reporting (0x03|0x005a) ncmd 1
        Status: Success (0x00)
        Mode: Disabled (0x00)
< HCI Command: Read Page Scan Type (0x03|0x0046) plen 0                         #53 [hci0] 1.375194
> HCI Event: Command Complete (0x0e) plen 5                                     #54 [hci0] 1.376167
      Read Page Scan Type (0x03|0x0046) ncmd 2
        Status: Success (0x00)
        Type: Standard Scan (0x00)
< HCI Command: LE Set Event Mask (0x08|0x0001) plen 8                           #55 [hci0] 1.376186
        Mask: 0x00000000000a1fff
          LE Connection Complete
          LE Advertising Report
          LE Connection Update Complete
          LE Read Remote Used Features Complete
          LE Long Term Key Request
          LE Remote Connection Parameter Request
          LE Data Length Change
          LE Read Local P-256 Public Key Complete
          LE Generate DHKey Complete
          LE Enhanced Connection Complete
          LE Direct Advertising Report
          LE PHY Update Complete
          LE Extended Advertising Report
          LE Extended Advertising Set Terminated
          LE Channel Selection Algorithm
> HCI Event: Command Complete (0x0e) plen 4                                     #56 [hci0] 1.377031
      LE Set Event Mask (0x08|0x0001) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Read White List Size (0x08|0x000f) plen 0                     #57 [hci0] 1.377080
> HCI Event: Command Complete (0x0e) plen 5                                     #58 [hci0] 1.378169
      LE Read White List Size (0x08|0x000f) ncmd 1
        Status: Success (0x00)
        Size: 25
< HCI Command: LE Clear White List (0x08|0x0010) plen 0                         #59 [hci0] 1.378217
> HCI Event: Command Complete (0x0e) plen 4                                     #60 [hci0] 1.379071
      LE Clear White List (0x08|0x0010) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Read Resolving List Size (0x08|0x002a) plen 0                 #61 [hci0] 1.379146
> HCI Event: Command Complete (0x0e) plen 5                                     #62 [hci0] 1.380175
      LE Read Resolving List Size (0x08|0x002a) ncmd 1
        Status: Success (0x00)
        Size: 25
< HCI Command: LE Clear Resolving List (0x08|0x0029) plen 0                     #63 [hci0] 1.380224
> HCI Event: Command Complete (0x0e) plen 4                                     #64 [hci0] 1.381126
      LE Clear Resolving List (0x08|0x0029) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Read Maximum Data Length (0x08|0x002f) plen 0                 #65 [hci0] 1.381155
> HCI Event: Command Complete (0x0e) plen 12                                    #66 [hci0] 1.382060
      LE Read Maximum Data Length (0x08|0x002f) ncmd 1
        Status: Success (0x00)
        Max TX octets: 251
        Max TX time: 17040
        Max RX octets: 251
        Max RX time: 17040
< HCI Command: LE Read Suggested Default Data Length (0x08|0x0023) plen 0       #67 [hci0] 1.382086
> HCI Event: Command Complete (0x0e) plen 8                                     #68 [hci0] 1.383033
      LE Read Suggested Default Data Length (0x08|0x0023) ncmd 1
        Status: Success (0x00)
        TX octets: 27
        TX time: 328
< HCI Command: LE Read Number of Supported Advertising... (0x08|0x003b) plen 0  #69 [hci0] 1.383225
> HCI Event: Command Complete (0x0e) plen 5                                     #70 [hci0] 1.384070
      LE Read Number of Supported Advertising Sets (0x08|0x003b) ncmd 1
        Status: Success (0x00)
        Num supported adv sets: 6
< HCI Command: Write LE Host Supported (0x03|0x006d) plen 2                     #71 [hci0] 1.384241
        Supported: 0x01
        Simultaneous: 0x00
> HCI Event: Command Complete (0x0e) plen 4                                     #72 [hci0] 1.385079
      Write LE Host Supported (0x03|0x006d) ncmd 1
        Status: Success (0x00)
< HCI Command: Read Local Extended Features (0x04|0x0004) plen 1                #73 [hci0] 1.385089
        Page: 2
> HCI Event: Command Complete (0x0e) plen 14                                    #74 [hci0] 1.386017
      Read Local Extended Features (0x04|0x0004) ncmd 1
        Status: Success (0x00)
        Page: 2/2
        Features: 0x20 0x0b 0x00 0x00 0x00 0x00 0x00 0x00
          Generalized interlaced scan
          Secure Connections (Controller Support)
          Ping
          Train nudging
< HCI Command: Delete Stored Link Key (0x03|0x0012) plen 7                      #75 [hci0] 1.386279
        Address: 00:00:00:00:00:00 (OUI 00-00-00)
        Delete all: 0x01
> HCI Event: Command Complete (0x0e) plen 6                                     #76 [hci0] 1.387183
      Delete Stored Link Key (0x03|0x0012) ncmd 1
        Status: Success (0x00)
        Num keys: 0
< HCI Command: Set Event Mask Page 2 (0x03|0x0063) plen 8                       #77 [hci0] 1.387233
        Mask: 0x0000000000800000
          Authenticated Payload Timeout Expired
> HCI Event: Command Complete (0x0e) plen 4                                     #78 [hci0] 1.388184
      Set Event Mask Page 2 (0x03|0x0063) ncmd 1
        Status: Success (0x00)
< HCI Command: Read Local Supported Codecs (0x04|0x000b) plen 0                 #79 [hci0] 1.388204
> HCI Event: Command Complete (0x0e) plen 12                                    #80 [hci0] 1.389190
      Read Local Supported Codecs (0x04|0x000b) ncmd 1
        Status: Success (0x00)
        Number of supported codecs: 6
          Codec: u-law log (0x00)
          Codec: A-law log (0x01)
          Codec: CVSD (0x02)
          Codec: Transparent (0x03)
          Codec: Linear PCM (0x04)
          Codec: mSBC (0x05)
        Number of vendor codecs: 0
< HCI Command: Unknown (0x04|0x000c) plen 0                                     #81 [hci0] 1.389226
> HCI Event: Command Complete (0x0e) plen 6                                     #82 [hci0] 1.390183
      Unknown (0x04|0x000c) ncmd 1
        Status: Success (0x00)
        01 10                                            ..
< HCI Command: LE Write Suggested Default Data Length (0x08|0x0024) plen 4      #83 [hci0] 1.390203
        TX octets: 251
        TX time: 17040
> HCI Event: Command Complete (0x0e) plen 4                                     #84 [hci0] 1.391183
      LE Write Suggested Default Data Length (0x08|0x0024) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Set Default PHY (0x08|0x0031) plen 3                          #85 [hci0] 1.391234
        All PHYs preference: 0x00
        TX PHYs preference: 0x01
          LE 1M
        RX PHYs preference: 0x01
          LE 1M
> HCI Event: Command Complete (0x0e) plen 4                                     #86 [hci0] 1.392181
      LE Set Default PHY (0x08|0x0031) ncmd 1
        Status: Success (0x00)
= Index Info: DC:FB:48:24:13:5E (Intel Corp.)                                       [hci0] 1.392279
< HCI Command: LE Set Extended Advertising Parameters (0x08|0x0036) plen 25     #87 [hci0] 1.392397
        Handle: 0x00
        Properties: 0x0013
          Connectable
          Scannable
          Use legacy advertising PDUs: ADV_IND
        Min advertising interval: 1280.000 msec (0x0800)
        Max advertising interval: 1280.000 msec (0x0800)
        Channel map: 37, 38, 39 (0x07)
        Own address type: Public (0x00)
        Peer address type: Public (0x00)
        Peer address: 00:00:00:00:00:00 (OUI 00-00-00)
        Filter policy: Allow Scan Request from Any, Allow Connect Request from Any (0x00)
        TX power: 127 dbm (0x7f)
        Primary PHY: LE 1M (0x01)
        Secondary max skip: 0x00
        Secondary PHY: LE 1M (0x01)
        SID: 0x00
        Scan request notifications: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 5                                     #88 [hci0] 1.393181
      LE Set Extended Advertising Parameters (0x08|0x0036) ncmd 1
        Status: Success (0x00)
        TX power (selected): 7 dbm (0x07)
< HCI Command: LE Set Extended Advertising Enable (0x08|0x0039) plen 6          #89 [hci0] 1.393225
        Extended advertising: Enabled (0x01)
        Number of sets: 1 (0x01)
        Entry 0
          Handle: 0x00
          Duration: 0 ms (0x00)
          Max ext adv events: 0
> HCI Event: Command Complete (0x0e) plen 4                                     #90 [hci0] 1.394182
      LE Set Extended Advertising Enable (0x08|0x0039) ncmd 2
        Status: Success (0x00)
< HCI Command: Write Page Scan Activity (0x03|0x001c) plen 4                    #91 [hci0] 1.394224
        Interval: 160.000 msec (0x0100)
        Window: 11.250 msec (0x0012)
> HCI Event: Command Complete (0x0e) plen 4                                     #92 [hci0] 1.395178
      Write Page Scan Activity (0x03|0x001c) ncmd 2
        Status: Success (0x00)
< HCI Command: Write Page Scan Type (0x03|0x0047) plen 1                        #93 [hci0] 1.395222
        Type: Interlaced Scan (0x01)
> HCI Event: Command Complete (0x0e) plen 4                                     #94 [hci0] 1.396184
      Write Page Scan Type (0x03|0x0047) ncmd 2
        Status: Success (0x00)
< HCI Command: Write Scan Enable (0x03|0x001a) plen 1                           #95 [hci0] 1.396218
        Scan enable: Page Scan (0x02)
> HCI Event: Command Complete (0x0e) plen 4                                     #96 [hci0] 1.397179
      Write Scan Enable (0x03|0x001a) ncmd 2
        Status: Success (0x00)
< HCI Command: Write Local Name (0x03|0x0013) plen 248                          #97 [hci0] 1.397220
        Name:
> HCI Event: Command Complete (0x0e) plen 4                                     #98 [hci0] 1.398027
      Write Local Name (0x03|0x0013) ncmd 1
        Status: Success (0x00)
@ MGMT Event: Local Name Changed (0x0008) plen 260                         {0x0001} [hci0] 1.398034
        Name:
        Short name:
< HCI Command: LE Set Extended Advertising Data (0x08|0x0037) plen 35           #99 [hci0] 1.398040
        Handle: 0x00
        Operation: Complete extended advertising data (0x03)
        Fragment preference: Minimize fragmentation (0x01)
        Data length: 0x03
        TX power: 7 dBm
@ MGMT Event: New Settings (0x0006) plen 4                                 {0x0001} [hci0] 1.398065
        Current settings: 0x00000687
          Powered
          Connectable
          Fast Connectable
          BR/EDR
          Low Energy
          Advertising
@ RAW Close: hciconfig                                                            {0x0002} 1.398073
> HCI Event: Command Complete (0x0e) plen 4                                    #100 [hci0] 1.399037
      LE Set Extended Advertising Data (0x08|0x0037) ncmd 1
        Status: Success (0x00)
@ RAW Open: python (privileged) version 2.22                               {0x0002} [hci0] 5.824942
< HCI Command: Set Event Mask (0x03|0x0001) plen 8                             #101 [hci0] 5.825183
        Mask: 0x3dbff807fffbffff
          Inquiry Complete
          Inquiry Result
          Connection Complete
          Connection Request
          Disconnection Complete
          Authentication Complete
          Remote Name Request Complete
          Encryption Change
          Change Connection Link Key Complete
          Master Link Key Complete
          Read Remote Supported Features Complete
          Read Remote Version Information Complete
          QoS Setup Complete
          Command Complete
          Command Status
          Hardware Error
          Flush Occurred
          Role Change
          Mode Change
          Return Link Keys
          PIN Code Request
          Link Key Request
          Link Key Notification
          Loopback Command
          Data Buffer Overflow
          Max Slots Change
          Read Clock Offset Complete
          Connection Packet Type Changed
          QoS Violation
          Page Scan Mode Change
          Page Scan Repetition Mode Change
          Flow Specification Complete
          Inquiry Result with RSSI
          Read Remote Extended Features Complete
          Synchronous Connection Complete
          Synchronous Connection Changed
          Sniff Subrating
          Extended Inquiry Result
          Encryption Key Refresh Complete
          IO Capability Request
          IO Capability Request Reply
          User Confirmation Request
          User Passkey Request
          Remote OOB Data Request
          Simple Pairing Complete
          Link Supervision Timeout Changed
          Enhanced Flush Complete
          User Passkey Notification
          Keypress Notification
          Remote Host Supported Features Notification
          LE Meta
> HCI Event: Command Complete (0x0e) plen 4                                    #102 [hci0] 5.941154
      Set Event Mask (0x03|0x0001) ncmd 1
        Status: Success (0x00)
< HCI Command: LE Set Event Mask (0x08|0x0001) plen 8                          #103 [hci0] 5.941220
        Mask: 0x000000000000001f
          LE Connection Complete
          LE Advertising Report
          LE Connection Update Complete
          LE Read Remote Used Features Complete
          LE Long Term Key Request
> HCI Event: Command Complete (0x0e) plen 4                                    #104 [hci0] 5.942062
      LE Set Event Mask (0x08|0x0001) ncmd 1
        Status: Success (0x00)
< HCI Command: Read Local Version Information (0x04|0x0001) plen 0             #105 [hci0] 5.942154
> HCI Event: Command Complete (0x0e) plen 12                                   #106 [hci0] 5.943143
      Read Local Version Information (0x04|0x0001) ncmd 1
        Status: Success (0x00)
        HCI version: Bluetooth 5.1 (0x0a) - Revision 256 (0x0100)
        LMP version: Bluetooth 5.1 (0x0a) - Subversion 256 (0x0100)
        Manufacturer: Intel Corp. (2)
< HCI Command: Write LE Host Supported (0x03|0x006d) plen 2                    #107 [hci0] 5.943210
        Supported: 0x01
        Simultaneous: 0x00
> HCI Event: Command Complete (0x0e) plen 4                                    #108 [hci0] 5.944197
      Write LE Host Supported (0x03|0x006d) ncmd 1
        Status: Success (0x00)
< HCI Command: Read LE Host Supported (0x03|0x006c) plen 0                     #109 [hci0] 5.944241
> HCI Event: Command Complete (0x0e) plen 6                                    #110 [hci0] 5.945028
      Read LE Host Supported (0x03|0x006c) ncmd 1
        Status: Success (0x00)
        Supported: 0x01
        Simultaneous: 0x00
< HCI Command: Read BD ADDR (0x04|0x0009) plen 0                               #111 [hci0] 5.945101
> HCI Event: Command Complete (0x0e) plen 10                                   #112 [hci0] 5.946106
      Read BD ADDR (0x04|0x0009) ncmd 1
        Status: Success (0x00)
        Address: DC:FB:48:24:13:5E (Intel Corporate)
< HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1                    #113 [hci0] 5.946156
        Advertising: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 4                                    #114 [hci0] 5.947194
      LE Set Advertise Enable (0x08|0x000a) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set Advertising Parameters (0x08|0x0006) plen 15             #115 [hci0] 5.947240
        Min advertising interval: 100.000 msec (0x00a0)
        Max advertising interval: 100.000 msec (0x00a0)
        Type: Connectable undirected - ADV_IND (0x00)
        Own address type: Public (0x00)
        Direct address type: Public (0x00)
        Direct address: 00:00:00:00:00:00 (OUI 00-00-00)
        Channel map: 37, 38, 39 (0x07)
        Filter policy: Allow Scan Request from Any, Allow Connect Request from Any (0x00)
> HCI Event: Command Complete (0x0e) plen 4                                    #116 [hci0] 5.948050
      LE Set Advertising Parameters (0x08|0x0006) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set Scan Response Data (0x08|0x0009) plen 32                 #117 [hci0] 5.948270
        Length: 6
        Name (short): echo
> HCI Event: Command Complete (0x0e) plen 4                                    #118 [hci0] 5.949022
      LE Set Scan Response Data (0x08|0x0009) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set Advertising Data (0x08|0x0008) plen 32                   #119 [hci0] 5.949029
        Length: 7
        Flags: 0x06
          LE General Discoverable Mode
          BR/EDR Not Supported
        16-bit Service UUIDs (complete): 1 entry
          Unknown (0xec00)
> HCI Event: Command Complete (0x0e) plen 4                                    #120 [hci0] 5.950051
      LE Set Advertising Data (0x08|0x0008) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1                    #121 [hci0] 5.950099
        Advertising: Enabled (0x01)
> HCI Event: Command Complete (0x0e) plen 4                                    #122 [hci0] 5.951190
      LE Set Advertise Enable (0x08|0x000a) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set Scan Response Data (0x08|0x0009) plen 32                 #123 [hci0] 5.951236
        Length: 6
        Name (short): echo
> HCI Event: Command Complete (0x0e) plen 4                                    #124 [hci0] 5.952022
      LE Set Scan Response Data (0x08|0x0009) ncmd 1
        Status: Command Disallowed (0x0c)
< HCI Command: LE Set Advertising Data (0x08|0x0008) plen 32                   #125 [hci0] 5.952032
        Length: 7
        Flags: 0x06
          LE General Discoverable Mode
          BR/EDR Not Supported
        16-bit Service UUIDs (complete): 1 entry
          Unknown (0xec00)
> HCI Event: Command Complete (0x0e) plen 4                                    #126 [hci0] 5.953022
      LE Set Advertising Data (0x08|0x0008) ncmd 1
        Status: Command Disallowed (0x0c)
@ RAW Close: python                                                        {0x0002} [hci0] 7.889134


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: LE Advertising: Command Disallowed
  2020-11-12 12:16           ` Devin Bayer
@ 2020-11-12 13:53             ` Emil Lenngren
  2020-11-12 16:24               ` Devin Bayer
  0 siblings, 1 reply; 9+ messages in thread
From: Emil Lenngren @ 2020-11-12 13:53 UTC (permalink / raw)
  To: Devin Bayer; +Cc: Luiz Augusto von Dentz, Michael N. Moran, linux-bluetooth

Hi Devin,

Den tors 12 nov. 2020 kl 13:16 skrev Devin Bayer <dev@doubly.so>:
>
> On Wed, Nov 11, 2020 at 11:00:32PM +0000, Emil Lenngren wrote:
> >
> > It would be good to see the complete log from when the "Reset" command
> > is issued, otherwise we don't know in which "state" the controller is
> > in at the various commands. Also widen the command window when running
> > btmon so we see the complete names. :)
> > Seeing the result from "LE Read Supported States" would also be nice.
> >
>
> Hi Emil,
>
> below is the complete log, starting with the the reset command. It
> includes the "Supported States" call too. Let me know if there is
> anything else I can do.
>
> ~ Devin
>

It's as Luiz said, you're mixing two different stacks and hence mixing
legacy advertising commands with extended ones. The HCI standard says:

"If, since the last power-on or reset, the Host has ever issued a legacy
advertising command and then issues an extended advertising command, or
has ever issued an extended advertising command and then issues a legacy
advertising command, the Controller shall return the error code Command
Disallowed (0x0C)."

After Reset, you can see "LE Set Extended Advertising Parameters"
during the `hciconfig` runs. Then later, when `python` runs, a "LE Set
Advertise Enable" is sent. This is disallowed behaviour.

One solution is that your python program sends a "Reset" command as
the first thing, otherwise you don't know which state the controller
is in. The other solution is to use BlueZ only.

/Emil

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: LE Advertising: Command Disallowed
  2020-11-12 13:53             ` Emil Lenngren
@ 2020-11-12 16:24               ` Devin Bayer
  0 siblings, 0 replies; 9+ messages in thread
From: Devin Bayer @ 2020-11-12 16:24 UTC (permalink / raw)
  To: Emil Lenngren; +Cc: Luiz Augusto von Dentz, Michael N. Moran, linux-bluetooth

On Thu, Nov 12, 2020 at 02:53:05PM +0100, Emil Lenngren wrote:
> 
> It's as Luiz said, you're mixing two different stacks and hence mixing
> legacy advertising commands with extended ones. The HCI standard says:
> 
> "If, since the last power-on or reset, the Host has ever issued a legacy
> advertising command and then issues an extended advertising command, or
> has ever issued an extended advertising command and then issues a legacy
> advertising command, the Controller shall return the error code Command
> Disallowed (0x0C)."
> 
> After Reset, you can see "LE Set Extended Advertising Parameters"
> during the `hciconfig` runs. Then later, when `python` runs, a "LE Set
> Advertise Enable" is sent. This is disallowed behaviour.
> 
> One solution is that your python program sends a "Reset" command as
> the first thing, otherwise you don't know which state the controller
> is in. The other solution is to use BlueZ only.
> 

Thanks Emil,

that did help and I was able to finally get a basic service working. I
would be happy to use BlueZ but I was never able to get discovery /
connection to work more than 10% of the time, so that's why I'm trying
something else.

I was also getting disconnects every 3 seconds from an unknown source. I
think I fixed that with the module parameter enable_autosuspend=N. 

This was also a subsequent "Set Extended Advertising Parameters"
command. These aren't sent from my program and nothing running on my
system seems to be talking to bluetooth.

Is this part of the BlueZ stack that's running in the kernel?
Can it be disabled?

This is the last command received:

> HCI Event: LE Meta Event (0x3e) plen 10                              #413 [hci0] 1319.142290
      LE Connection Update Complete (0x03)
        Status: Success (0x00)
        Handle: 3585
        Connection interval: 45.00 msec (0x0024)
        Connection latency: 0 (0x0000)
        Supervision timeout: 5000 msec (0x01f4)

Then after 3 seconds (consistently):

< HCI Command: Disconnect (0x01|0x0006) plen 3                         #414 [hci0] 1322.227590
        Handle: 3585
        Reason: Remote User Terminated Connection (0x13)
> HCI Event: Command Status (0x0f) plen 4                              #415 [hci0] 1322.346055
      Disconnect (0x01|0x0006) ncmd 1
        Status: Success (0x00)
> HCI Event: Disconnect Complete (0x05) plen 4                         #416 [hci0] 1322.472321
        Status: Success (0x00)
        Handle: 3585
        Reason: Connection Terminated By Local Host (0x16)
@ MGMT Event: Device Disconnected (0x000c) plen 8                  {0x0001} [hci0] 1322.472381
        LE Address: 40:AD:0E:98:D7:F6 (Resolvable)
        Reason: Connection terminated by local host (0x02)
< HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1            #417 [hci0] 1322.519512
        Advertising: Enabled (0x01)
> HCI Event: Command Complete (0x0e) plen 4                            #418 [hci0] 1322.521048
      LE Set Advertise Enable (0x08|0x000a) ncmd 2
        Status: Success (0x00)
< HCI Command: LE Set Extended Advertising Pa.. (0x08|0x0036) plen 25  #419 [hci0] 1322.521089
        Handle: 0x00
        Properties: 0x0013
          Connectable
          Scannable
          Use legacy advertising PDUs: ADV_IND
        Min advertising interval: 1280.000 msec (0x0800)
        Max advertising interval: 1280.000 msec (0x0800)
        Channel map: 37, 38, 39 (0x07)
        Own address type: Public (0x00)
        Peer address type: Public (0x00)
        Peer address: 00:00:00:00:00:00 (OUI 00-00-00)
        Filter policy: Allow Scan Request from Any, Allow Connect Request from Any (0x00)
        TX power: 127 dbm (0x7f)
        Primary PHY: LE 1M (0x01)
        Secondary max skip: 0x00
        Secondary PHY: LE 1M (0x01)
        SID: 0x00
        Scan request notifications: Disabled (0x00)
> HCI Event: Command Complete (0x0e) plen 5                            #420 [hci0] 1322.522027
      LE Set Extended Advertising Parameters (0x08|0x0036) ncmd 1
        Status: Command Disallowed (0x0c)
        TX power (selected): 48 dbm (0x30)

~ Devin

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-11-12 16:24 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11 17:49 LE Advertising: Command Disallowed Devin Bayer
2020-11-11 20:04 ` Michael N. Moran
2020-11-11 20:11   ` Devin Bayer
2020-11-11 20:53     ` Luiz Augusto von Dentz
2020-11-11 21:07       ` Devin Bayer
2020-11-11 23:00         ` Emil Lenngren
2020-11-12 12:16           ` Devin Bayer
2020-11-12 13:53             ` Emil Lenngren
2020-11-12 16:24               ` Devin Bayer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.