I have a bluetooth capable chip and an android, I am trying to have the two communicate over RFCOMM. I have an android app and a python server on linux that works, the only issue is my pairing requirements. I have to have the security of entering a pairing code on the phone that is displayed on the box the chip will be in (There is a led display we are able to show the code on)
However, I am having issues with Bluez and getting the correct configuration for passkey entry pairing. According to many posts and documentation I have looked at, if the initiator (Android device) is "KeyboardDisplay", and the responder (linux) is "DisplayOnly" I should get a passkey input box. However looking at the btmon output, when pairing is requested, it looks like the Android is "DisplayYesNo". This is a problem where Bluez converts "KeyboardDisplay" to "DisplayYesNo", which defeats the whole purpose of what I want.
How can I configure Bluez to not do this conversion? I want bluez to view my android device as "KeyboardDisplay". If this is not possible, then have it be viewed as "KeyboardOnly" as this will also do passkey entry.
Lastly, I am working on an embedded cpu running TinyCore. So my bluez is the tinycore bluez extension, and it doesn't seem to be complete, as I do not have btmgmt or hciconfig or other executables I see on other related answers