My company is developing a Bluetooth-enabled robotics kit. We have found the following to be true:
- Pair device to computer A (a Mac)
- Pair device to computer B (a Windows PC)
- Computer A is now unable to connect to the device until...
- You ask computer A to remove the device from its list of paired devices and re-pair it. But...
- Doing so means computer B can no longer connect until it is re-paired.
The same process as outlined above works as expected if computers A and B are the same OS, e.g. both Windows or both OS X. That is, you can pair the Bluetooth device to multiple computers and connect any one of them at any time (provided you aren't currently connected to anything). No need to re-pair. But going between different operating systems causes a problem.
The Bluetooth chip is an off-the-shelf BM77 from Microchip.
We tried dumping the EPROM from the BM77 and diff'd the memory between each successive pairing. We found that after each re-pair (even on the same machine) the same 16 bytes would change starting at memory address 0x84. The documentation we have does not cover this memory range.
This does not seem like the expected behavior. Any insights?