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?

1 Answer 1


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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .