I am trying to connect gatt to a BLE server device that does not retain bonding information post-connection. On android it is fairly trivial to programmatically 'forget' about the servers bonding keys. On linux, the only thing I can figure out that works is to heavy handedly restart the Bluetooth service or to physically remove and reinsert my BLE dongle.
I am ideally looking for a way to remove a bond for an individual device from a program linked against -lbluetooth. Less desirable would be a system call that removes bonding of an individual device without bouncing Bluetooth.
I am also looking for any insight into why bonding fails if one, but not both devices retain bonding info. Seems like it would be better to re-bond in than case than to fail to connect.