Eu tenho um chip compatível com bluetooth e um android, estou tentando fazer com que os dois se comuniquem por meio de RFCOMM. Eu tenho um aplicativo android e um servidor python no linux que funciona, o único problema é meus requisitos de emparelhamento. Eu tenho que ter a segurança de inserir um código de emparelhamento no telefone que é exibido na caixa em que o chip estará (há um display de led no qual podemos mostrar o código)
No entanto, estou tendo problemas com o Bluez e obtendo a configuração correta para o emparelhamento de entrada de senha. De acordo com muitos posts e documentação que eu olhei, se o iniciador (dispositivo Android) é "KeyboardDisplay", e o respondente (linux) é "DisplayOnly" eu deveria ter uma caixa de entrada de senha. No entanto, olhando para a saída btmon, quando o emparelhamento é solicitado, parece que o Android é "DisplayYesNo". Este é um problema em que Bluez converte "KeyboardDisplay" em "DisplayYesNo", o que anula todo o propósito do que eu quero.
Como posso configurar o Bluez para não fazer essa conversão? Eu quero que o bluez veja meu dispositivo android como "KeyboardDisplay". Se isso não for possível, faça com que seja visto como "KeyboardOnly", pois isso também fará a inserção da senha.
Por fim, estou trabalhando em uma CPU incorporada executando o TinyCore. Então meu bluez é a extensão tinycore bluez, e ele não parece estar completo, já que eu não tenho btmgmt ou hciconfig ou outros executáveis que eu vejo em outras respostas relacionadas