华为EC1261在Linux上查询剩余流量和收发短信

SHELLLINUX2011-08-04 14:52

华为EC1261是一个3G上网卡,笔者开通的套餐是¥100/2GB。

在Windows下,可以自动识别网卡并安装驱动和拨号程序(也可以用XP自带的ADSL拨号工具拨号,帐号和密码可以自行GOOGLE),在网卡自带的拨号工具中是可以进行剩余流量查询的。

根据以往的思维习惯,想当然地认为该程序是联网向服务器发送查询的数据包了,所以笔者第一步做的就是打开WireShark进行监听,但事与愿违,并没有找到任何相关的数据包。

不死心的笔者换了几个嗅探器,但结果都是一样,哪怕用的是具有无线嗅探功能的嗅探器也是一样。既然如此,应该可以确定一开始笔者的思路就是不对的,那么还有什么方法是可以用于查询剩余流量的呢?

经过反复思考都没有想到为什么,直到我不断查流量,发现一个奇怪的现像:返回的信息都要几秒以上并且信息会分开两条。突然灵机一动,想到一个可能:发短信查询流量!

于是笔者GOOGLE了一下,发现原来是有短信群发这种硬件的,而且是模拟的电脑串口,接下来当然是下载串口监视软件了,笔者用的是BusHound5,能够监视USB端口的读写情况,在监测日志中发现了10001和108这样奇怪的字眼,于是取出UIM卡,放进手机,尝试用手机编写108发送到10001,不出意外的返回了和电脑端查流量时返回的一致的信息!

接着就是如何在电脑端使用UIM卡发送短信和查看收到的短信的步骤了,在WINDOWS下用『超级终端』,LINUX下可以用『MINICOM』软件读写USB端口了,实际方法可以GOOGLE得到(华为的读写命令稍有不同,可搜索『HUAWEI CDMA Datacard Modem AT Command Interface Specification』得到具体命令),现在笔者遇到的难题是如何对短信的UCS2字符串进行编码、解码。

以上是笔者遇到的问题,但一直没有解决~所以决定放一放,只留下这个思路在这里,仅供后来者一个参考~


原文链接: http://blog.jtwo.me/query-the-residual-flow-and-send-and-receive-text-messages-with-ec1261-in-linux