首页 文章

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

提问于
浏览
11

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

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

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

  • D-Link HSPADataCard Diagnostics Interface (COM4)

  • D-Link HSPADataCard NMEA Device (COM5)

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

  • D-Link HSPADataCard Proprietary USB Modem (附在COM19上)

QUESTION: Which com port should I use to send AT-commands, and at which speed?


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

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

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

  • "Agere Systems HDA Modem",

  • "D-Link HSPADataCard Proprietary USB Modem",

  • "COM3",

  • "COM4",

  • "COM5"

  • ......以及其他几个,包括"COM19" .

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

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

2 回答

  • 0

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

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

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

    再次感谢您的时间 .

  • 7

    通过带有目标COM端口的 CreateFile() 获取句柄后,可以使用 GetCommState()

    http://msdn.microsoft.com/en-us/library/aa915369.aspx

相关问题