|
本帖最后由 ★青木£ 于 2012-12-16 13:43 编辑
刚刚入手了一个hg255d,刷了最新版openwrt_dreambox,我只用来接3g上网卡带一台电脑上网,感觉很稳定,还没死机过,但是有一点不好,就是不能获得套餐的使用情况,要把上网卡插到电脑上通过天翼客户端查询。通过几天的摸索,提供下面的解决方案。
一、准备工作
首先要让设备能识别我们的3G上网卡,这一步可以参考其他的资料,我使用的是华为EC122,识别之后会出现四个符号设备ttyusb0、ttyusb1、ttyusb2、ttyusb3,其他的应该是大同小异。然后在路由上安装python,包括三个包python-mini、python、pyserial,因为ec122有个tf插口,刚好可以把python安装在TF卡上。(用python是因为我是使用python脚本来调用上网卡的,编译太麻烦,这有好处也有坏处,好处是可移植性好,只要装了python都可以用,坏处是一般路由上都没足够的空间装python,希望有牛人可以写个C版本的编译出来)
二、找到命令端口
以我的ec122为例,路由会识别出四个符号设备,其中一个是拨号用的(/dev/ttyUSB0),一个是执行AT命令用的,我们要找的就是AT命令端口。方法如下:
①把上网卡插到电脑上,打开任务管理器,可以看到有四个虚拟的串行设备。
其中pc ui interface就是AT命令端口,如果大家的网卡和我类似,直接看③
②如果和我的不一样,下面提供一种确定可以找到的方法
运行天翼客户端,下载好软件CommMonitor3.1并运行,监视C+WClient,可以看到下图的显示
可以看到天翼客户端和com5一直在通信,这个com5就是AT命令端口
③右键com5-属性-详细信息-匹配设备ID
这里的PID和VID在识别设备时有用,我们需要的是后面的mi_03,对应着linux下的/dev/ttyUSB3
三、使用脚本
我已经写好了python脚本,大家拿去只要修改好相应的设备符号链接就可以用于自己的路由了,详细代码见附件。需要说明的是代码只适用于电信3G上网卡,因为AT指令不一样。
一共两个脚本sms.py(短信)和signal.py查看信号强度,把脚本中下面一句红色部分修改成自己的 modem=serial.Serial('/dev/ttyUSB3',115200,timeout=0.1)
切换到脚本所在目录执行:python sms.py q
效果如下:
获得EVDO信号强度:python signal.py 可能值0 20 40 60 80 100(在天翼客户端上80就显示满格,100没遇到过)
四、存在的问题及需要的改进
①在上网的时候使用脚本可能会导致断线
②运行之后有可能一直卡住,因为一直收不到电信发回来的短信
改进:希望Dreambox的维护者可以把这些功能集成进去
五、参考文档
1. 中国电信CDMA终端需求规范-1xEV-DORevA数据终端AT命令接口分册-V1.0
2. 中兴WCDMA模块 Linux拨号流程
附件:http://pan.baidu.com/share/link?shareid=141702&uk=4245057738
Author:payne
e-mail: payne.wang@qq.com
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|