This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE UART example pairing? password?

I noticed when using the UART BLE Example that there is no password or pairing request to connect to and use the device. 

Everything works fine, and I even implemented my own little password thing that has to present a password over the active connection before itll start sending data over the UART connection. 

The trouble is, there is no paring password or code, or password in order to connect. I cant figure out how to fix that situation, any ideas? 

This is causing me a problem in the Denial of Service area. Someone can connect to the device, and just leave it idle and connected, preventing an authorized user from connecting. This is starting to happen to me in school situations because of nefarious students. 

Parents Reply Children
  • The example project I uploaded is used with SDK 15.0.0. If you upgrade your current application to SDK 15 by following this migration guide, and then adding my modifications it should work fine.

    Best regards,

    Simon

  • Ok. So, I downloaded the 15.2 SDK along with your example, I compiled it and ran it as-is without modifications just so I can start with a known good baseline. It still allows me to connect without pairing to the device so something is wrong somewhere. Also when running in the debugger, it randomly encounters Fatal Errors and the BT module needs reset. Alot.... 

    Then when I do go to pair it, I get this output in the debugger:

    <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 132

    Thoughts? 

  • So, I did a full erase and it seems to have solved most of it. But, once I pair it, if I unpair it for any reason, I cant ever re-pair it. 

    Debug log spits out:<info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133

    When attempting to pair again. 

    Also I noticed that the device is not discoverable in iOS now. the BLE Apps wont pick it up, and neither will the bluetooth settings window. It used to. (prior to this).

    Also when it idles for around 10 maybe 15 minutes, it will encounter a fatal error code 0x2006. I had to comment out the enter sleep mode subroutine, but itll eventually stop advertising instead. 

    Ugh. Any ideas? 

    Edit: Now its back to its old shenanigans. it allows connections without pairing, and when you try to pair, I get error codes that range from 132 to 136. Bonding error. I am at a loss. 

  • Check out this answer, which shows you how to allow repairing.

    Best regards,

    Simon

  • Thanks for the direction, I will toy with it. The last concern is the bonding storage. I am also using storage for AT commands to be able to change the name, password, etc... and I dont want those two to collide. Any thoughts on how to avoid that? Thanks. 

Related