Следующая ошибка возникает, когда я выдаю sudo rfcomm listen rfcomm0
Не удается создать RFCOMM TTY: адрес уже используется
Я получил некоторые последовательные данные Bluetooth в Программа Python заранее. Так что, похоже, что-то застряло.
Затем я набираю sudo rfcomm release rfcomm0
, что приводит к:
Не удается разблокировать устройство: операция уже выполняется
Как сделать жесткий выпуск? Пока единственный способ заставить его работать снова - это перезагрузить компьютер.
Хорошо, так как перезагрузка является раздражающей, я попробовал два подхода.
Откройте/etc/bluetooth/rfcomm.conf и добавьте другое устройство.
rfcomm0 {# Автоматически связывают устройство при запуске, связывают нет; адрес Bluetooth # устройства устройства 00:06:66:68:20:61; # RFCOMM канал для канала соединения 1; Описание # комментария соединения "Это - Устройство 1 последовательный порт".;}
rfcomm2 {# Автоматически связывают устройство при запуске, связывают нет; адрес Bluetooth # устройства устройства 20:15:12:08:62:95; # RFCOMM канал для канала соединения 1; Описание # комментария соединения "Это - Устройство 1 последовательный порт".;}
rfcomm3 {# Автоматически связывают устройство при запуске, связывают нет; адрес Bluetooth # устройства устройства 20:15:12:08:62:95; # RFCOMM канал для канала соединения 1; Описание # комментария соединения "Это - Устройство 1 последовательный порт".;}
Перезапустите сервис Bluetooth затем:
userk@dopamine:~$ sudo rfcomm bind 2 DEV_ADDR CHANNEL
Rfcomm не может выпустить устройство из-за некоторого другого процесса в Ubuntu. Проверьте который с
userk@dopamine:~$ sudo lsof | grep /dev/rfcomm2
MATLAB 5554 6868 userk 514u CHR 216,2 0t0 603 /dev/rfcomm2
Уничтожьте его!!
userk@dopamine:~$ ps -ax | grep MATLAB
7684 pts/5 Sl 0:39 /usr/local/MATLAB/R2015b/bin/glnxa64/MATLAB
7873 pts/5 S+ 0:00 grep --color=auto MATLAB
userk@dopamine:~$ kill -9 7684
Voilà никакая руда вызвал перезагрузку! Надежда это помогает
Довольно поздно здесь, но у меня была эта та же проблема о Ubuntu 16.04.
, Что я сделал было следующим:
sudo service bluetooth restart
, Который дал мне ошибку:
Warning: bluetooth.service changed on disk. Run 'systemctl daemon-reload' to reload units.
После выполнения предложенной команды в предупреждении я смог успешно перезапустить сервис Bluetooth и начать слушание на порте.
я подозреваю, что в моем случае изменился, конфигурация (работающий bluetoothd
с - разделяют аргумент), и для этого init система должна была перезагрузить.