I have a USB bluetooth dongle on a Linux 3.12.5 ARM system. I've been attempting to make a bluetooth serial connection from my android phone to the USB dongle on Linux. I've referenced this question among other sources in my attempts. Any suggestions would be great.

I have been able to make it pairable via:

bluetooth-agent 0000 &

And then pairing via from my phone. Then, I create a serial port on the device via:

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

Then, from my phone, I use BlueTerm to attempt to connect to the serial port. However, it loses connection immediately. On the Linux side, the following appears in the terminal:

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

It doesn't seem to be kicking the phone off the connection, so what's happening?


The steps bellow worked for me:

Firstly you have to pair the devices. Pairing is relatively easy. I will call client (who starts talking) and server (who replies)

You have to setup the server before: Server side (as root):

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

Client side(as root):

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

Now to open a serial terminal on the client:

screen /dev/rfcomm0 115200


When you call the last command rfcomm connect... in the client, a device /dev/rfcomm0 will be created and associated to the server /dev/recomm0. This represents the serial link between both

The last server command: rfcomm watch.... will 'listen' for incoming connections. In connection lost, the command will restart a new 'listen' state.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.