Назад | Перейти на главную страницу

Сообщите NetworkManager игнорировать или не проверять rfcomm0

Я пытаюсь удаленно подключиться к системе через Bluetooth, но у меня возникают проблемы. Вот что я пытаюсь сделать ...

На удаленном устройстве я бы хотел запустить следующее: rfcomm -r watch 0 3 getty -L {} 9600

Что это значит: наблюдайте на устройстве bluetooth "0" на предмет наличия RFCOM-соединения на канале 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, поэтому, если вы действительно хотите использовать его в качестве модема в будущем, вам придется снова отключить правило.