Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

example/echo: disconnect after 3 seconds #51

Open
akvadrako opened this issue Nov 12, 2020 · 1 comment
Open

example/echo: disconnect after 3 seconds #51

akvadrako opened this issue Nov 12, 2020 · 1 comment

Comments

@akvadrako
Copy link

Hello. I am trying to get the echo example working and not getting very far. First, I had to add a reset command before the advertising parameters were set, otherwise I would only see Command Disallowed.

Now, I can get my client (nRF Connect) to connect for a couple seconds, but then it reports Connection terminated by peer (status 19). btmon shows this:

< HCI Command: Disconnect (0x01|0x0006) plen 3                            #74 [hci0] 12.531595
        Handle: 3585
        Reason: Remote User Terminated Connection (0x13)
> HCI Event: Command Status (0x0f) plen 4                                 #75 [hci0] 12.650524
      Disconnect (0x01|0x0006) ncmd 1
        Status: Success (0x00)
> HCI Event: Disconnect Complete (0x05) plen 4                            #76 [hci0] 12.802713
        Status: Success (0x00)
        Handle: 3585
        Reason: Connection Terminated By Local Host (0x16)
@ MGMT Event: Device Disconnected (0x000c) plen 8                    {0x0001} [hci0] 12.802768
        LE Address: 4A:72:79:52:67:9C (Resolvable)
        Reason: Connection terminated by local host (0x02)
< HCI Command: LE Set Extended Advertising Param.. (0x08|0x0036) plen 25  #77 [hci0] 12.843583
        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                               #78 [hci0] 12.844460
      LE Set Extended Advertising Parameters (0x08|0x0036) ncmd 1
        Status: Command Disallowed (0x0c)
        TX power (selected): 48 dbm (0x30)

The Disconnect and LE Set Extended Advertising Parameters commands do not seem to be coming from pybleno. But there is nothing else on the system talking with bluetooth (i.e. no bluetoothd).

Might be related: noble/noble#242

The full btmon log is as here:

btmon.log

@akvadrako
Copy link
Author

I think I've found a solution to this. It's probably caused by power saving:

echo "options btusb enable_autosuspend=N" | sudo tee /etc/modprobe.d/btusb.conf
rmmod btusb
modprobe btusb

I don't know if there is a less invasive way to manage this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant