如何与USB 3G调制解调器通信?

Mar*_*sen 11 c# windows usb modem serial-port

我有一个D-Link DWM-156 3G USB调制解调器,我想从我的应用程序(在Windows XP SP3上运行的C#.NET 4.0)发送AT命令.

在插件和安装驱动程序后,调制解调器显示如下:

设备管理器中,添加了两个串行端口:

  • D-Link HSPADataCard诊断接口(COM4)
  • D-Link HSPADataCard NMEA设备(COM5)

控制面板,电话和调制解调器选项中,添加了一个新的调制解调器:

  • D-Link HSPADataCard专有USB调制解调器(连接到COM19)

问题:我应该使用哪个COM端口发送AT命令,以及以哪种速度发送?


我已经尝试了不同速度的所有三个端口,但没有任何运气.

为了便于学习,我随后安装了"Free Serial Port Monitor"嗅探器应用程序,希望能够在打开和关闭互联网连接(可正常工作)时监控与D-Link的通信性.

一开始,嗅探器应用程序会询问我要监视哪个端口,并提供以下端口名称供您选择:

  • "杰尔系统HDA调制解调器",
  • "D-Link HSPADataCard专有USB调制解调器",
  • "COM3"
  • "COM4"
  • "COM5"
  • ......以及其他几个,包括"COM19".

选择"D-Link ..."名称可以正常工作,现在我可以看到所有正在使用的AT命令,但我无法确定端口的使用波特率.此外,COM4,COM5或COM19都不能以这种方式进行嗅探(这些端口似乎没有发生任何事情).

现在我想在.NET中使用SerialPort类打开"D-Link ..."端口并与USB调制解调器通信,但SerialPort类要求端口名称以"COM"开头,否则异常是抛出.但是普通的COM端口都不起作用.我仍然不知道使用哪种波特率.我非常困惑并被锁在这里 - 我能做些什么才能到达底部?

Mar*_*sen 7

好的伙计们,感谢您的所有想法和意见.我做了一些更多的研究,最后我意识到,为了做我想要的事情,我根本不需要打扰串口和AT命令.所需要的只是进行一些Windows RAS调用.

如果我在关于我想用AT命令做什么的问题上有一点具体的话,你肯定会在很久以前告诉过我关于RAS的事情!

我找到了一个很好的.Net DLL(DotRas),它包装本机Windows RAS以便从托管代码中使用,它似乎正是我所需要的(从代码拨打3G调制解调器连接,我附​​加任何类型的3G调制解调器).

再次感谢您的时间.