3G调制解调器:同时发送短信和有效的互联网连接

时间:2013-10-03 18:14:22

标签: ubuntu sms gsm 3g modem

我正在编写客户端 - 服务器应用程序 客户端使用不同的传输向服务器发送一些消息:SMS和Internet(VPN,TCP服务器) 在客户端的PC上,我有一个3G调制解调器,我用它们:发送短信和建立互联网连接 我通过ubuntu的网络管理器连接到互联网 对于发送短信我使用smstools3。实际上我用的是什么工具并不重要 我发现如果通过相同的调制解调器建立了有效的Internet连接,则无法发送SMS。

我尝试在没有网络管理器的情况下连接到Internet。我使用here中的手册手动设置pppd(没有锁定参数)。连接工作正常,但没有解决问题 然后我尝试使用不同的调制解调器的ttys发送短信和连接到互联网(我的调制解调器有2 ttys)。它也没有帮助。看起来只有1吨我的调制解调器可以用来完成这项工作。

现在我只有两个想法:

  1. 不要同时做事。及时分开它们:启动smstool守护进程,发送短信,停止守护进程,建立Internet连接,发送消息,停止连接。
  2. 尝试使用如此处所述的GSM多路复用gsm mux我不确定结果,因为提到的项目(gsm mux)看起来已经死了。
  3. 您对如何解决问题有任何其他想法吗?

2 个答案:

答案 0 :(得分:3)

最后,我找到了解决方案。

无法使用华为E800。相反,我使用的是E369。该调制解调器有3个端口(/ dev /中有3个ttyUSB)。如果我使用第一个tty用于Internet而第二个tty用于发送/接收SMS,则问题将消失。 请注意,E800也有2个ttys,但它没有解决问题。

我想我知道如何弄清楚调制解调器是否可用于同步短信和互联网。需要将“AT + CMUX = 0”发送到调制解调器。如果它回答不支持该操作,则必须尝试不同的调制解调器。

此外,我在Ubuntu 13.04上遇到了另外一个问题。 如果我使用ubuntu的NetworkManager来建立Internet连接,那么它会阻止我的调制解调器。因此,调制解调器不能用于发送/接收SMS。 我找到了解决方案 - 没有使用NetworkManager。相反,我建立了与wvdial的Internet连接。它解决了这个问题。

答案 1 :(得分:0)

实际上你仍然可以使用AT命令输出获得短信,即使你得到AT + MUX = 0"未实现" 连接到调制解调器端口:

socat - /dev/ttyUSB2, crnl

然后按照输出,除非你得到+ CMT命令。输出可以是明文或PDU。明确的文字显然是可读的。 PDU可能如下所示:

+CMT: 0,32
07915892000000F001000B915892214365F7000021493A283D0795C3F33C88FE06CDCB6E32885EC6D341EDF27C1E3E97E72E

如果你得到PDU - 你需要解码它。例如:PDU decoder