Sto lavorando al firmware di un dispositivo che verrà collegato ai PC tramite Bluetooth in modalità emulazione porta seriale.C'è una risposta a AT + GCAP & co. per dire "Non sono un modem, vai via"?
Durante il test, ho scoperto che il modem-manager su Linux "utilmente" prova a rilevarlo come modem, inviando il comando AT+GCAP
; a questo, al momento il mio dispositivo risponde con qualcosa come INVALIDCMD AT+GCAP
. Questa è la risposta corretta per il mio protocollo, ma ovviamente non è una risposta AT, quindi modem-manager non è soddisfatto e ci riprova con AT+GCAP
e altre cose relative al modem.
Ora, ho trovato alcune soluzioni per modem-manager (vedi here e quindi here, in particolare la udev rule method), ma:
- non sono estremamente robusti (devo fare una regola udev personalizzata che potrebbe rompersi se cambiamo il modulo Bluetooth);
- Temo che non solo il gestore del modem, ma le funzionalità del software/sistema operativo simili (ad esempio su Windows o OS X) possano darmi fastidi simili.
Inoltre, avere il pieno controllo del firmware, io posso aggiungere un caso speciale per AT+GCAP
e cose simili; così, venendo alla mia domanda: "Io non sono un modem, andare via e lasciami in pace"
C'è uno standard/risposta sicura a AT+GCAP
e altre simili domande modem-sondaggio per dire
La risposta corretta a un comando modem se non si è un modem è * niente *. Dovrebbe arrendersi dopo aver provato un paio di volte. "ERRORE" è una risposta a un comando AT che non implementa. –
@HansPassant: quindi, se ignoro tutto ciò che inizia con 'AT +', dovrei essere al sicuro? Ci sono altri messaggi di verifica del modem di cui dovrei essere a conoscenza? –
Dovresti ignorare tutto ciò che inizia con AT, alcuni di loro non hanno un + –