Public bug reported: We paired Nonin Oximeter to Bluetooth module running Bluez stack 4.99. All operation is good. After some time, the Nonin oximeter sends out "not_accepted" response to the "au_rand" message from Bluetooth module. au_rand contains a random number that is encrypted by link key. When au_rand is not accepted, meaning the oximeter cannot compute the same number using the link key. So the problem is with the link key, meaning the oximeter link key database is corrupted.
In normal case, BT module challenges oximeter by sending the random 128-bit value AU_RAND and expects from oximeter the response: SRES = E(K, AU_RAND, BD_ADDR_OXIMETER) K is link key, E is Bluetooth authentication function. The oximeter receives the AU_RAND and sends back SRES as response. But when oximeter send not_accepted after it receives au-rand, meaning the oximeter link key database is corrupted. The BT module can demand a new pairing by sending LMP in_rand, or it can refuse the connection and sends LMP detach. The Bluez stack in BT module simply detach the link. So we need to modify Bluez stack for solving this "No data is transmitted from Oximeter after some time" problem. Bluez need to be modified to demand a new pairing by sending LMP in_rand, if oximeter returns LMP not_accepted in response to LMP au_rand. ** Affects: bluez (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1019982 Title: Bluez does not send LMP in_rand after oximeter sends LMP not_accepted in response to LMP au_rand To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1019982/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs