Por que não consigo me conectar à minha porta serial Bluetooth do Linux?

Por que não consigo me conectar à minha porta serial Bluetooth do Linux?

Eu tenho um dongle Bluetooth USB em um sistema Linux 3.12.5 ARM. Tenho tentado fazer uma conexão serial bluetooth do meu telefone Android com o dongle USB no Linux. eu tenho referenciadoessa questãoentre outras fontes em minhas tentativas. Qualquer sugestão seria ótima.

Consegui torná-lo emparelhável por meio de:

bluetooth-agent 0000 &

E então emparelhar via meu telefone. Então, crio uma porta serial no dispositivo via:

sudo mknod -m 666 /dev/rfcomm0 c 216 0
sudo sdptool add --channel=22 SP
sudo rfcomm listen /dev/rfcomm 22

Então, no meu telefone, uso o BlueTerm para tentar conectar-me à porta serial. No entanto, ele perde a conexão imediatamente. No lado do Linux, o seguinte aparece no terminal:

Waiting for connection on channel 22
Authorizing request for /org/bluez/317/hci0/dev_xx_xx_xx_xx_00_46

Não parece estar desligando o telefone, então o que está acontecendo?

Responder1

As etapas abaixo funcionaram para mim:

Primeiramente você deve emparelhar os dispositivos. O emparelhamento é relativamente fácil. Vou ligar para cliente (que começa a falar) e servidor (que responde)

Você deve configurar o servidor antes: Lado do servidor (como root):

sdptool add --channel=3 SP
mknod -m 666 /dev/rfcomm0 c 216 0
rfcomm watch /dev/rfcomm0 3 /sbin/agetty rfcomm0 115200 linux

Lado do cliente (como root):

sdptool add --channel=3 SP
rfcomm connect /dev/rfcomm0 [SERVER_ADDR] 3

Agora, para abrir um terminal serial no cliente:

screen /dev/rfcomm0 115200

Comentários:

Ao chamar o último comando rfcomm connect... no cliente, um dispositivo /dev/rfcomm0será criado e associado ao servidor /dev/recomm0. Isto representa o link serial entre ambos

O último comando do servidor: rfcomm watch.... irá 'escutar' as conexões de entrada. Em caso de perda de conexão, o comando reiniciará um novo estado de 'escuta'.

informação relacionada