2012-06-22 19 views
11

Possiedo un modem USB D-Link DWM-156 3G che desidero inviare comandi AT dalla mia applicazione (C# .NET 4.0 in esecuzione su Windows XP SP3).Come comunicare con il modem USB 3G?

Dopo plug-in e installazione dei driver del modem presenta in questo modo:

In Gestione periferiche, sono aggiunti due porte seriali:

  • D-Link HSPADataCard Diagnostics Interface (COM4)
  • D-link HSPADataCard NMEA dispositivo (COM5)

In Pannello di controllo, Opzioni modem e telefono, si aggiunge un nuovo modem:

  • D-Link HSPADataCard Modem Proprietary USB (attaccato alla COM19)

DOMANDA: Quale porta com dovrei usare per inviare comandi AT e con quale velocità?


Ho provato tutte e tre le porte a velocità diverse, ma senza fortuna sorta.

Per imparare, ho poi installato il "Serial Port Monitor Free" sniffer app, sperando di essere in grado di monitorare la comunicazione con l'ustility D-Link in quanto apre e chiude la connessione a internet (che funziona bene).

All'avvio, l'applicazione sniffer mi chiede quale porta di monitorare e mi offre i seguenti nomi delle porte tra cui scegliere:

  • "Agere Systems HDA Modem",
  • "D-Link HSPADataCard proprietario USB Modem",
  • "COM3",
  • "COM4",
  • "COM5"
  • ... e molti altri, tra cui "COM19".

La scelta del "D-Link ..." nome funziona bene, ora posso guardare tutti i comandi AT utilizzato come accadono, ma non riesco a determinare a quale velocità di trasmissione della porta viene utilizzata. Inoltre, né COM4, ​​COM5 o COM19 funzionano per sniffare in questo modo (nulla sembra accadere su quelle porte).

Ora vorrei usare il SerialPort classe .NET per aprire il "D-Link ..." porto e parlare con il modem USB, ma la SerialPort classe richiede il nome della porta a inizia con "COM", altrimenti viene generata un'eccezione. Ma nessuna delle normali porte COM funziona. E continuo a non sapere quale velocità di trasmissione usare.Sono abbastanza confuso e rinchiuso qui - cosa potrei fare per arrivare a fondo?

+0

Agere Systems HDA Modem è COM1 e D-Link HSPADataCard Il modem USB proprietario è probabilmente COM2. Potresti sempre contattare D-Link con queste domande, poiché era improbabile che ti fornissero soluzioni esatte a meno che non possedessimo il dispositivo stesso. –

+1

+1: Devo anche fare qualcosa di simile con ZTE MF190. – menjaraz

risposta

7

Ok, grazie per tutti i vostri pensieri e il vostro input. Ho fatto qualche ricerca in più e alla fine ho capito che per fare ciò che volevo non dovevo preoccuparmi affatto delle porte seriali e dei comandi AT. Tutto ciò che era necessario era fare alcune chiamate RAS di Windows.

Se fossi stato un po 'più specifico nella mia domanda su cosa volevo fare con i miei comandi AT, sicuramente mi avresti parlato di RAS molto tempo fa!

ho trovato un bel .Net DLL (DotRas) che avvolge nativo di Windows RAS per l'utilizzo da codice gestito, e sembra di fare proprio quello che mi serve (dial una connessione modem 3G dal codice, con qualsiasi tipo di modem 3G I attach).

Grazie ancora per il vostro tempo.

+1

+1: Qualche frammento di codice farlo nel modo Dotras è benvenuto :-) – menjaraz

+0

può u inviare un codice di esempio di invio di comandi AT utilizzando Dotras? –

+0

DotRas non espone il livello seriale, Answer_42. L'utilizzo delle classi SerialPort .NET è sufficiente. Per quello che vale la pena di 9600 bps sembra essere una velocità comune "falso" per i modem cellulari USB. –

Problemi correlati