Olá pessoal, estou com problemas para me conectar ao meu telefone via bluetooth serial em um sistema Linux embutido. Aqui estão os passos que tomei para tentar uma conexão. (Note que eu sou capaz de emparelhar e conectar muito bem usando bluetoothctl)
SO: Linux azoto6x 4.1.15-2.0.0-ga + yocto + g651db0b # 1 SMP PREPARO Qui Fev 16 15:53:27 PST 2017 armv7l armv7l armv7l GNU / Linux
root@embeddedsystem:~# echo 0 > /sys/class/rfkill/rfkill0/state
root@embeddedsystem:~# echo 1 > /sys/class/rfkill/rfkill0/state
root@embeddedsystem:~# hciattach -t 30 -s 115200 /dev/ttymxc2 texas 3000000 flow
Found a Texas Instruments' chip!
Firmware file : /lib/firmware/ti-connectivity/TIInit_7.6.15.bts
Loaded BTS script version 1
texas: changing baud rate to 3000000, flow control to 1
Bluetooth: HCI UART driver ver 2.3
Bluetooth: HCI UART protocol H4 registered
Bluetooth: HCI UART protocol LL registered
Device setup complete
root@embeddedsystem:~# hciconfig hci0 up
root@embeddedsystem:~# hciconfig hci0 sspmode 1 //simple pairing
//Enable controller
root@embeddedsystem:~# bluetoothctl
[bluetooth]# power on
[bluetooth]# agent on
[bluetooth]# default-agent
[bluetooth]# quit
root@embeddedsystem:~# rfcomm bind /dev/rfcomm0 AA:AA:AA:AA:AA:AA 22
root@embeddedsystem:~# sdptool add --channel=22 SP //Serial port on channel 22
root@embeddedsystem:~# rfcomm //check to see if channel is ok
rfcomm0: AA:AA:AA:AA:AA:AA channel 22 clean
root@embeddedsystem:~# rfcomm connect /dev/rfcomm0 AA:AA:AA:AA:AA:AA 22
Can't connect RFCOMM socket: Connection refused
Aqui é onde eu fico preso. Eu não tenho idéia porque a conexão está sendo recusada quando eu posso conectar sem problemas usando bluetoothctl (confirmado no meu telefone). Demorei um pouco para chegar aqui, então não sei exatamente qual é a diferença entre bluetoothctl e rfcomm. De cutucando eu só vejo que você precisa usar o rfcomm para obter uma conexão serial. Tudo que eu quero fazer é pegar meus contatos do telefone do meu telefone usando a linha de comando. Acho que também estou perguntando se é possível obter meus contatos do telefone sem usar o rfcomm, mas usando uma conexão através do bluetoothctl. Obrigado por toda a ajuda que eu aprecio muito!
P.S. Se alguém souber como pegar arquivos do meu telefone via linha de comando sem usar o OBEX, eu também gostaria!