中兴MF667S WCDMA猫Linux拨号笔记
公司最近有个国外有个项目需要用到WCDMA猫,网上简单选型了一下决定使用ZTE的型号MF667S的猫,本以为在Linux下拨号是比较简单的(之前有两款3G猫的调试经验),估计半天能搞定,结果折腾了一周才调通,记录一下调试过程中遇到的坑.
1,模式切换
由于现在的猫都有多种模式,目的是为了Windows下的小白用户第一次插入的时候以cdrom或者u盘的模式使用,安装里面自带的驱动后,再由驱动切换到猫的模式.这种方法在Windows下是很方便的,但是到了Linux下就很蛋疼了,需要借助usb_modeswitch来进行模式切换.主页
下载最新的usb_modeswitch,编译,编辑一下配置文件usb_modeswitch.conf:
DefaultVendor=0x19d2 DefaultProduct=0x1588 TargetVendor=0x19d2 TargetProduct=0x1589 MessageContent="5553424312345678000000000000061e000000000000000000000000000000" MessageContent2="5553424312345679000000000000061b000000020000000000000000000000"
其中DefaultVendor和TargetVendor都是0x19d2,这也是ZTE公司的厂商ID,DefaultProduct为0x1588,是插入猫后做为USB模式系统认到的产品ID,可通过lsusb或者cat /proc/bus/usb/devices查看.TargetProduct0x1589是切换为猫后的产品ID,切换后可用lsusb查看.(不过感觉这里可以随便填一个,没什么用).MessageContent从usb_modeswitch主页抄的,试过只用一个MessageContent无法激活,需要MessageContent2一起使用.就这配置文件还踩了一个坑,以前的猫有加个MessageEndPoint=0xa,移植的时候也一同移植过来了,结果发消息怎么都是出错,后来移除后用默认的0x1发现可以切换了-.-.
配置文件写好了,执行命令:./usb_modeswitch -W -c /etc/usb_modeswitch.conf,得到以下信息
* usb_modeswitch: handle USB devices with multiple modes* Version 2.2.5 (C) Josua Dietze 2015* Based on libusb1/libusbx! PLEASE REPORT NEW CONFIGURATIONS !DefaultVendor= 0x19d2 DefaultProduct= 0x1588 TargetVendor= 0x19d2 TargetProduct= 0x1589 MessageContent="5553424312345678000000000000061e000000000000000000000000000000" MessageContent2="5553424312345679000000000000061b000000020000000000000000000000" NeedResponse=0Look for target devices ...found USB ID 1d6b:0002found USB ID 1d6b:0002found USB ID 1d6b:0001found USB ID 1d6b:0001found USB ID 1d6b:0001found USB ID 1d6b:0001found USB ID 1d6b:0001found USB ID 0403:6015found USB ID 0dfc:0001found USB ID 19d2:1588vendor ID matchedNo devices in target mode or class found Look for default devices ...found USB ID 1d6b:0002found USB ID 1d6b:0002found USB ID 1d6b:0001found USB ID 1d6b:0001found USB ID 1d6b:0001found USB ID 1d6b:0001found USB ID 1d6b:0001found USB ID 0403:6015found USB ID 0dfc:0001found USB ID 19d2:1588vendor ID matchedproduct ID matchedFound devices in default mode (1) Access device 003 on bus 001 Current configuration number is 1 Use interface number 0 Use endpoints 0x01 (out) and 0x81 (in)USB description data (for identification) ------------------------- Manufacturer: ZTE,IncorporatedProduct: ZTE Mobile Broadband StationSerial No.: 1234567890ABCDEF ------------------------- Looking for active driver ...OK, driver detached Set up interface 0 Use endpoint 0x01 for message sending ... Trying to send message 1 to endpoint 0x01 ...OK, message successfully sent Trying to send message 2 to endpoint 0x01 ...OK, message successfully sent Reset response endpoint 0x81 Reset message endpoint 0x01 -> Run lsusb to note any changes. Bye!
说明已经切换成功了,再cat /proc/bus/usb/devices查看设备信息如下:
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 6 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=19d2 ProdID=1589 Rev= 0.00 S: Manufacturer=ZTE,Incorporated S: Product=ZTE Mobile Broadband Station S: SerialNumber=1234567890ABCDEF C:* #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether E: Ad=88(I) Atr=03(Int.) MxPS= 64 Ivl=125us I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=500us E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
ProdID已经切换成1589,自动加载了个cdc_ether驱动,还有4个设备未驱动和一个usb存储.cdc_ether驱动生成了一个usb0的网口设备.至此,说明WCDMA猫已经切换模式成功.
2,设备映射
模式切换成功后,由于自动加载了网卡驱动生成了usb0的网口设备,让我又踩了一个坑,以为这是一个纯网卡的模块,论坛上搜索了一番,也没有这个型号猫的明确说明,相近的型号也描述的不清不楚的,试过dhclinet usb0,无效.还有说要访问个gateway授权再分配IP的(纯属扯谈).后来才发现这个usb0的网卡设备完全没用,这个猫是一个传统的usb转串口的猫.
在系统启动的时候rc.local里加上下面的命令:modeprobe usbserial.ko vendor=0x19d2 product=0x1589,再重新执行第一步,OK,串口出来了.
ls /dev/ttyUSB* -l,有时候会生成0-3共4个USB口,有时候会生成0-4共5个USB控制口,不解为什么.
3,AT拨号
ttyUSB设备生成后就可以对设备进行AT指令拨号了,由于生成了4-5个USB节点,只好一个个试验哪个节点是猫口,经测试发现,USB0 USB1接收AT指令能返回OK,USB2 USB3直接返回TIMEOUT,说明2,3不是,猫口在0,1之间.继续测试锁定猫口为第一个设备/dev/ttyUSB0.
接下来就是写脚本了.SCRIPT:
ABORT BUSY ABORT 'NO CARRIER' ABORT 'NO DIALTONE''' AT+CGDCONT=1,"IP","3GNET" OK ATDT*99# CONNECT
pppd 115200 connect "/usr/sbin/chat -f dial.script -v" /dev/ttyUSB0 modem defaultroute
通过上面的命令和脚本,发送AT+CGDCONT=1,"IP","3GNET"可以得到OK,再发送ATDT*99#却返回ERROR-.-;于是又在论坛摸索了半天,发现有个人遇到了相同的情况,提示在最前面加一条AT+CFUN=1,0(注册网络)果然就不返回ERROR返回CONNECT了.本以为大功告成,谁知道pppd在下一步的时候又提示检测不到本地IP,而且看log,CONNECT之后确实没有返回本地和远程的IP信息.
在这一步又卡壳了几天,最后想着换一批pppd参数,折腾了几下终于拨上去了-.-;最终的脚本和命令如下:
ABORT BUSY ABORT 'NO CARRIER' ABORT 'NO DIALTONE''' AT+CFUN=1,0 OK AT+CGDCONT=1,"IP","3GNET" OK ATDT*99# CONNECT
pppd 115200 connect "/usr/sbin/chat -f dial.script -v" /dev/ttyUSB0 ipcp-accept-local ipcp-accept-remote defaultroute usepeerdns
PS:这款猫还有个BUG,每次拨号,必须要拨两次才能成功,第一次拨号ATDT最后还是会返回ERROR,第二次拨号就可以正确的拨上去了-.-,ZTE的东西就是不太靠谱,最后没办法只有在上层应用加个判断,拨号拨两次再检查状态...
转载于:https://www.cnblogs.com/Red_angelX/p/4950599.html
中兴MF667S WCDMA猫Linux拨号笔记相关推荐
- 中兴wcdma模块 linux拨号流程,Linux下ppp拨号+3G模块(evdo 中兴MC8630模块)
物联网的发展,嵌入式节点具备3G无线上网功能是个必不可少的功能,奈何网上的资料多数以WCDMA为主,电信的evdo资料不是很多,笔者经过一番实验,搜寻了一些网站,终于在开发板上,将EVDO模块(中兴M ...
- 中兴F412光猫超级密码破解、破解用户限制、关闭远程控制、恢复路由器拨号
不少家庭都改了光纤入户,那肯定少不了光猫的吧.今天以中兴F412光猫为例介绍下此型号光猫超级密码的破解方法. 一.F412超级密码破解方法 1.运行CMD,输入telnet 192.168.1.1: ...
- 最热网友收藏:写得蛮好的linux学习笔记(2007年第10周)
2007年第10周最热网友收藏 上班人员必读:"五险一金"详解!(130),共376人收藏,liukang520236首先收藏 写得蛮好的linux学习笔记-(96),共159人收 ...
- 中兴f477v2超级管理员_中兴F650光猫修复
广东电信,昨天碰到中兴F650的光猫被ITMS远程升级,然后就用不了.垃圾电信的远程升级. 各种找方法解决,最终综合各种方法解决了问题. 预先准备LOID码,如果之前能正常用,理论上路由器里是存有LO ...
- linux下做笔记的软件下载,Write一款梦幻般的Linux手机笔记应用程序
Linux传统笔记应用程序很少是手写笔记?Xournal被认为是Linux触摸屏用户想要使用手写笔或在虚拟纸上制作手写笔记的应用程序. 但是最近发现了一个免费的替代Xournal应用(可适用于Linu ...
- 红猫linux系统下载教程,RedCat_NSS_红猫linux软路由安装使用手册
RedCat_NSS_红猫linux软路由安装使用手册 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 RedCat_NSS_红猫l ...
- 电信中兴F460光猫破解续
上次回家总算把电信光猫的超级管理员限制去除了,也可以设置了自动拨号,可以通过无线共同上网.但是这次回家,却突然发现,我的电脑不能上网,而我父母的电脑都可以上网.百思不得其解,突然想到是不是电信限制了同 ...
- 红猫linux系统下载教程,RedCat_NSS_红猫linux软路由安装使用手册.doc
RedCat_NSS_红猫linux软路由安装使用手册 安装手册(ISO版) 2010年7月3日 发表评论 阅读评论 一. 硬件要求: 最低配置: * 处理器:266MHz Pentium * 内存: ...
- linux手写软件,Write一款梦幻般的Linux手机笔记应用程序
Write一款梦幻般的Linux手机笔记应用程序 Mark Do 2017年10月14日 暂无评论 阅读 7,016 次 Linux传统笔记应用程序很少是手写笔记?Xournal被认为是Linux触摸 ...
- linux rcs文件中的ip,linux学习笔记之diff和patch命令
关键字:Linux 学习笔记 运维 系统 命令 一.命令的功能 diff命令的功能为逐行比较两个文本文件,列出其不同之处.可是做成diff记录也就是补丁. patch就是利用diff制作的补丁来打到文 ...
最新文章
- Linux编程下open()函数的用法
- 绝对牛逼的3套Python项目,就业/毕设/私活/女朋友都不愁了
- String对象的intern()
- 0913作业(冒泡排序、二分查找法、模拟摇乐游戏)
- ccf报数游戏java_ccf 201712 02 (游戏)
- ASP.NET MVC学习之(5):Html.ActionLink
- asp教室使用_为什么要在教室中使用开放式硬件?
- centos7安装docker 以及简单使用
- su室外渲染参数设置_紫天资源星球下载:多层公寓楼室外Lumion预渲染场景
- 将GridView导入到Excel
- centos虚拟机复制后网络重启出错解决
- halcon多模板匹配,每种模板匹配结果不同颜色轮廓
- storyboard(故事版)新手教程 图文详解 3.在故事版上使用scrollview
- eclipse发生了错误,请参阅日志文件怎么办呀
- < mapreduce >论文学习笔记
- 费曼技巧:学习任何东西的最佳方法
- 构造中小型园区网实训案例
- CC00007.CloudOpenStack——|OpenStack组件.V02|——|openstack-keystone|controller节点下部署Key
- 视频侦查实战应用平台
- 滴滴java开发面试题_滴滴出行(小桔科技)亲身面试经验分享,java开发岗