Я работаю над прошивкой устройства, которое будет подключаться к ПК с использованием Bluetooth в режиме эмуляции последовательного порта.Есть ответ на AT + GCAP & co. сказать «Я не модем, уходи»?
Во время тестирования я узнал, что модем-менеджер на Linux «помогает» пытается обнаружить его как модем, отправив команду AT+GCAP
; к этому, в настоящее время мое устройство отвечает чем-то вроде INVALIDCMD AT+GCAP
. Это правильный ответ для моего протокола, но, очевидно, это не ответ AT, поэтому modem-manager не удовлетворен и снова пытается с AT+GCAP
и другими материалами, связанными с модемом.
Теперь, я нашел некоторые обходные пути для модема-менеджера (см here и, таким образом, here, в частности udev rule method), но:
- они не очень прочные (я должен сделать пользовательские правила Udev, что может сломаться, если мы изменим модуль Bluetooth);
- Я боюсь, что не только модем-менеджер, но и подобные функции программного обеспечения/ОС (например, в Windows или OS X) могут дать мне подобные неприятности.
Кроме того, имея полный контроль над прошивкой, я может добавить специальный случай для AT+GCAP
и аналогичного материала; поэтому, придя к моему вопросу:
Есть ли стандартный/безопасный ответ на AT+GCAP
и другие подобные модем-зондирующие запросы, чтобы сказать «Я не модем, уходите и оставите меня в покое?»
Правильный ответ на команду модема, если вы не являетесь модемом, - * ничего *. Он должен сдаться после попытки пару раз. «ERROR» - это ответ на команду AT, которую вы не реализуете. –
@HansPassant: так, если я просто игнорирую все, что начинается с 'AT +', я должен быть в безопасности? Есть ли другие сообщения, связанные с модемным зондированием, о которых я должен знать? –
Вы должны игнорировать все, что начинается с AT, некоторые из них не имеют + –