2012-06-22 7 views
11

J'ai un modem USB DWM-156 3G D-Link auquel je souhaite envoyer des commandes AT depuis mon application (C# .NET 4.0 fonctionnant sous Windows XP SP3).Comment communiquer avec un modem USB 3G?

Après plug-in et l'installation des pilotes du modem apparaît comme ceci:

Dans Gestionnaire de périphériques, deux ports série sont ajoutés:

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

Dans Panneau de configuration, Options de téléphone et modem, un nouveau modem est ajouté:

  • D-Link HSPADataCard modem propriétaire USB (attaché COM19)

QUESTION: Quel port dois-je utiliser pour envoyer des commandes AT, et à quelle vitesse?


J'ai essayé trois ports à des vitesses différentes, mais pas de chance que ce soit.

Afin d'apprendre, je puis installé le « Free Serial Port Monitor » app renifleur, dans l'espoir d'être en mesure de surveiller la communication avec le ustility D-Link, car elle ouvre et ferme la connexion Internet (qui fonctionne bien).

Au démarrage, l'application renifleur me demande quel port de surveiller et me donne les noms de port suivants au choix:

  • "Agere Systems Modem HDA",
  • « D-Link HSPADataCard USB propriétaire modem »,
  • "COM3",
  • "COM4",
  • "COM5"
  • ... et plusieurs autres, y compris "COM19".

Le choix du « D-Link ... » nom fonctionne bien, maintenant je peux regarder toutes les commandes AT utilisées comme ils se produisent, mais je ne peux pas déterminer à quel vitesse de transmission du port est utilisé. En outre, ni COM4, ​​COM5 ou COM19 ne fonctionne pour renifler de cette façon (rien ne semble se passer sur ces ports).

Maintenant, je voudrais utiliser la SerialPort classe .NET pour ouvrir le « D-Link ... » port et parler avec le modem USB, mais le SerialPort classe nécessite le nom du port commencez par "COM", sinon une exception est levée. Mais aucun des ports COM ordinaires ne fonctionne. Et je ne sais toujours pas quelle vitesse de transmission utiliser.Je suis plutôt confus et enfermé ici - que puis-je faire pour aller au fond des choses?

+0

Le modem HDA Agere Systems est COM1 et le modem USB propriétaire D-Link HSPADataCard est probablement COM2. Vous pouvez toujours contacter D-Link avec ces questions, car il est peu probable que vous ayez des solutions exactes à moins que nous ne possédions l'appareil nous-mêmes. –

+1

+1: J'ai aussi besoin de faire quelque chose de similaire avec ZTE MF190. – menjaraz

Répondre

7

gens Ok, je vous remercie pour toutes vos pensées et vos commentaires. J'ai fait d'autres recherches, et finalement je me suis rendu compte que pour faire ce que je voulais, je n'avais pas à me soucier des ports série et des commandes AT du tout. Tout ce qui était nécessaire était de faire quelques appels Windows RAS.

Si j'avais juste été un peu plus précis dans ma question sur ce que je voulais faire avec mes commandes AT, vous m'auriez sûrement parlé de RAS il y a longtemps!

J'ai trouvé une belle DLL .Net (DotRas) qui enveloppe Windows RAS natif pour une utilisation à partir de code managé, et il semble faire exactement ce dont j'ai besoin (composer une connexion modem 3G avec n'importe quel type de modem 3G attacher).

Merci encore pour votre temps.

+1

+1: Un code d'extrait de code en utilisant la méthode DotRas est le bienvenu :-) – menjaraz

+0

pouvez-vous poster un exemple de code d'envoi de commandes AT en utilisant DotRas? –

+0

DotRas n'expose pas la couche série, Answer_42. L'utilisation des classes .NET SerialPort est suffisante. Pour ce que cela vaut 9600 bps semble être une «fausse» vitesse commune pour les modems cellulaires USB. –

Questions connexes