Я пытаюсь удаленно соединиться с системой через Bluetooth, но сталкиваюсь с проблемами. Вот то, что я пытаюсь сделать...
На удаленном устройстве я хотел бы иметь следующее выполнение: rfcomm -r watch 0 3 getty -L {} 9600
То, что это делает: Смотрите на bluetooth-устройстве "0" для rfcomm соединения на канале 3. Когда каждый происходит, выполненный getty -L {} 9600
и замените "{}" с созданным устройством. (обычно /dev/rfcomm0
в этом случае)
Я затем должен смочь соединиться с удаленным устройством путем работы моего ноутбука: rfcomm connect 0 11:22:33:44:55:66 3
(говорит этому использовать устройство "0" для соединения с адресом Bluetooth "11:22:33:44:55:66" на канале 3), что я затем должен получить последовательную консоль на удаленном устройстве путем ввода screen /dev/rfcomm0
.
Все должно хорошо работать кроме NetworkManager на моем ноутбуке, так или иначе "видит" соединение и попытки зондировать его, как будто это был модем. Это отправляет AT+GCAP
строки и ~x�~
но удаленный конец выполняет getty и ожидает данные для входа в систему.
Я могу заставить это работать путем устанавливания rfcomm0 связи сначала:
remote$ rfcomm -r watch 0 3
laptop$ rfcomm connect 0 11:22:33:44:55:66 3
ожидайте приблизительно 60 секунд NetworkManger, чтобы прекратить зондировать /dev/rfcomm0
remote$ getty -L rfcomm0 9600
laptop$ screen /dev/rfcomm0 9600
Однако, чтобы сделать это, у меня уже должен быть консольный доступ к удаленному устройству для выполнения команды getty
Так, есть ли любой способ сказать NetworkManager игнорировать /dev/rfcomm
или сказать этому не зондировать устройство?
Это очень старый вопрос, но на всякий случай заканчивается здесь через Google, простое решение, которое сработало для меня, заключалось в создании файла /etc/udev/rules.d/99-rfcomm.rules
со следующим содержанием:
# ignore rfcomm0 device for now
KERNEL=="rfcomm0", ENV{ID_MM_DEVICE_IGNORE}="1"
ModemManager игнорирует устройство в будущем. Примечание: это универсальное правило, которое будет соответствовать любому устройству rfcomm,поэтому, если вы действительно захотите использовать его в качестве модема в будущем, вам придется снова отключить правило.