Почему я не могу подключиться к последовательному порту Bluetooth в Linux?

Почему я не могу подключиться к последовательному порту Bluetooth в Linux?

У меня есть USB-адаптер Bluetooth на системе Linux 3.12.5 ARM. Я пытаюсь создать последовательное соединение Bluetooth с моего телефона Android на USB-адаптере на Linux. Я ссылалсяэтот вопроссреди других источников в моих попытках. Любые предложения были бы замечательными.

Мне удалось сделать его совместимым с помощью:

bluetooth-agent 0000 &

И затем сопряжение через с моего телефона. Затем я создаю последовательный порт на устройстве через:

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

Затем с телефона я пытаюсь подключиться к последовательному порту с помощью BlueTerm. Однако соединение сразу же теряется. На стороне Linux в терминале появляется следующее:

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

Похоже, что телефон не отключается от соединения. Что же происходит?

решение1

Мне помогли следующие шаги:

Сначала вам нужно спарить устройства. Спаривание относительно простое. Я позвоню клиенту (который начинает говорить) и серверу (который отвечает)

Перед этим вам необходимо настроить сервер: Сторона сервера (как root):

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

Клиентская сторона (как root):

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

Теперь, чтобы открыть последовательный терминал на клиенте:

screen /dev/rfcomm0 115200

Комментарии:

При вызове последней команды rfcomm connect... в клиенте /dev/rfcomm0будет создано устройство, связанное с сервером /dev/recomm0. Это представляет собой последовательную связь между обоими

Последняя команда сервера: rfcomm watch.... будет «слушать» входящие соединения. При потере соединения команда перезапустит новое состояние «слушать».

Связанный контент