无法从 C# / ASP.NET 的 CT63 GSM 调制解调器获得响应

发布于 2024-12-14 13:53:21 字数 1985 浏览 2 评论 0原文

我目前正在使用索尼爱立信手机来使用 C# 构建 SMS 服务。与 SE 手机的通信是通过 USB/Com 驱动程序使用 AT 命令完成的。

SE 手机一切正常,但不稳定,因此我们从 m2mtec.de 购买了 CT63 终端作为替代品。

CT63 终端具有与 SE 手机相同的 AT 命令,但我们在与 CT63 终端的初始连接时遇到问题。

如果我们使用 CT63 运行我们的服务,端口似乎打开得很好,但是当发送简单的“AT\n”来测试连接时,我们没有从终端得到响应。

如果我们转到 Windows 7 控制面板,选择“电话和调制解调器”,选择调制解调器属性,然后在“诊断”选项卡上执行“查询调制解调器”,调制解调器会做出应有的响应。

查询调制解调器功能发送“ATQ0V1E0”命令,响应为“OK”。

完成“查询调制解调器”后,我们可以通过 C# 服务与终端进行通信,并且“AT\n”测试中的调制解调器响应为“OK”。调制解调器断开连接后重新连接时未收到任何响应。

我们已验证 C# 服务中的 COM 端口设置与“查询调制解调器”测试中的设置相同。

此外,我们尝试从我们的 C# 服务发送“ATQ0V1E0”。问题是一样的。如果没有“查询调制解调器”测试,我们不会得到响应,并且在我们得到预期的“确定”之后。

不知何故,似乎缺少某种调制解调器的初始化,但文档中没有任何初始化。

以下是“查询调制解调器”测试的日志:

09-16-2011 15:16:16.451 - File: C:\Windows\system32\tapisrv.dll, Version 6.1.7601   
09-16-2011 15:16:16.451 - File: C:\Windows\system32\unimdm.tsp, Version 6.1.7601   
09-16-2011 15:16:16.451 - File: C:\Windows\system32\unimdmat.dll, Version 6.1.7601   
09-16-2011 15:16:16.451 - File: C:\Windows\system32\uniplat.dll, Version 6.1.7600   
09-16-2011 15:16:16.452 - File: C:\Windows\system32\drivers\modem.sys, Version 6.1.7600   
09-16-2011 15:16:16.452 - File: C:\Windows\system32\modemui.dll, Version 6.1.7600   
09-16-2011 15:16:16.452 - File: C:\Windows\system32\mdminst.dll, Version 6.1.7600   
09-16-2011 15:16:16.452 - Modem type: Cinterion USB Modem
09-16-2011 15:16:16.452 - Modem inf path: oem28.inf
09-16-2011 15:16:16.452 - Modem inf section: Modem1.NTamd64.6.0
09-16-2011 15:16:16.452 - Matching hardware ID: usb\vid_1e2d&pid_004f
09-16-2011 15:16:16.452 - Opening the modem device failed with error 00000020
ATQ0V1E0 - OK
AT+GMM - EGS3
AT+FCLASS=? - (0,1)
AT#CLS=? - COMMAND NOT SUPPORTED
AT+GCI? - COMMAND NOT SUPPORTED
AT+GCI=? - COMMAND NOT SUPPORTED
ATI1 - Cinterion
       EGS3
       REVISION 01.000
       A-REVISION 01.001.01
ATI2 - OK
ATI3 - OK
ATI4 - OK
ATI5 - OK
ATI6 - OK
ATI7 - OK

对于可能出现的问题有什么想法吗?

谢谢!

/托马斯

I'm currently using Sony Ericsson mobil phones for at SMS service build in C#. The communication with the SE phones is done through USB/Com driver using AT-Commands.

All is working fine with the SE phones, but they are unstable and therefore we have bought CT63 terminals from m2mtec.de as replacements.

The CT63 terminals have the same AT-commands as the SE phones, but we are having problems with the initial connection to the CT63 terminals.

If we run our service with the CT63 the port seems to open fine, but when sending as simple "AT\n" to test the connection we do not get a response from the terminal.

If we go to Windows 7 Control Panel, choose "Phone and Modem", Choose the modem properties and do a "Query Modem" on the "Diagnostics" tab the modem response as it should.

The Query Modem function sends a "ATQ0V1E0" command and the response is "OK".

After doing the "Query modem" we can communicate with the terminal through our C# service and the modem response on the "AT\n" test is "OK". After disconnection the modem an reconnection no response is recieved.

We have verified that the COM port settings is the same in the C# service as in the "Query modem" test.

Furthermore we have tried to send a "ATQ0V1E0" from our C# service. The problem is the same. Without "Query modem" test we do not get a response and after we get a "OK" as expected.

Somehow is seems as missing some kind of initialization of the modem, but there isn't any in the documentation.

Here is a log of the "Query modem" test:

09-16-2011 15:16:16.451 - File: C:\Windows\system32\tapisrv.dll, Version 6.1.7601   
09-16-2011 15:16:16.451 - File: C:\Windows\system32\unimdm.tsp, Version 6.1.7601   
09-16-2011 15:16:16.451 - File: C:\Windows\system32\unimdmat.dll, Version 6.1.7601   
09-16-2011 15:16:16.451 - File: C:\Windows\system32\uniplat.dll, Version 6.1.7600   
09-16-2011 15:16:16.452 - File: C:\Windows\system32\drivers\modem.sys, Version 6.1.7600   
09-16-2011 15:16:16.452 - File: C:\Windows\system32\modemui.dll, Version 6.1.7600   
09-16-2011 15:16:16.452 - File: C:\Windows\system32\mdminst.dll, Version 6.1.7600   
09-16-2011 15:16:16.452 - Modem type: Cinterion USB Modem
09-16-2011 15:16:16.452 - Modem inf path: oem28.inf
09-16-2011 15:16:16.452 - Modem inf section: Modem1.NTamd64.6.0
09-16-2011 15:16:16.452 - Matching hardware ID: usb\vid_1e2d&pid_004f
09-16-2011 15:16:16.452 - Opening the modem device failed with error 00000020
ATQ0V1E0 - OK
AT+GMM - EGS3
AT+FCLASS=? - (0,1)
AT#CLS=? - COMMAND NOT SUPPORTED
AT+GCI? - COMMAND NOT SUPPORTED
AT+GCI=? - COMMAND NOT SUPPORTED
ATI1 - Cinterion
       EGS3
       REVISION 01.000
       A-REVISION 01.001.01
ATI2 - OK
ATI3 - OK
ATI4 - OK
ATI5 - OK
ATI6 - OK
ATI7 - OK

Any ideas of what can be the problem?

Thanks!

/Thomas

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒废 2024-12-21 13:53:21

经过几个小时的测试和不同的设置后,我更改了我们正在使用的短信库。该库使用了 kernal32.dll,但现在我们已更改为在 SerialPort 类中使用 .NET 的构建。

当使用 SerialPort 类时,我们已成功与开发环境(Windows 7 64 位)上的调制解调器进行通信。

不幸的是,我们无法连接到运行 Windows Server 2008 64 位的生产环境中的调制解调器,但这是另一个问题。请参阅标题为“连接到 GSM 调制解调器 (DT-63) 时 Windows 2008 上的串行端口连接问题”的新问题

After several hours of testing and different setups I have changed the SMS library we are using. The library used kernal32.dll, but now we have changed to use .NET's build in SerialPort class.

When using the SerialPort Class we have succeded in communicating with the modem on our development environment (Windows 7 64-bit).

Unfortunately we can't connect to the modem on the production environment running Windows Server 2008 64-bit, but thats another issue. Please see new question with title "SerialPort connect problem on Windows 2008 when connecting to GSM modem (DT-63)"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文