公司最近有个国外有个项目需要用到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拨号笔记相关推荐

  1. 中兴wcdma模块 linux拨号流程,Linux下ppp拨号+3G模块(evdo 中兴MC8630模块)

    物联网的发展,嵌入式节点具备3G无线上网功能是个必不可少的功能,奈何网上的资料多数以WCDMA为主,电信的evdo资料不是很多,笔者经过一番实验,搜寻了一些网站,终于在开发板上,将EVDO模块(中兴M ...

  2. 中兴F412光猫超级密码破解、破解用户限制、关闭远程控制、恢复路由器拨号

    不少家庭都改了光纤入户,那肯定少不了光猫的吧.今天以中兴F412光猫为例介绍下此型号光猫超级密码的破解方法. 一.F412超级密码破解方法 1.运行CMD,输入telnet 192.168.1.1: ...

  3. 最热网友收藏:写得蛮好的linux学习笔记(2007年第10周)

    2007年第10周最热网友收藏 上班人员必读:"五险一金"详解!(130),共376人收藏,liukang520236首先收藏 写得蛮好的linux学习笔记-(96),共159人收 ...

  4. 中兴f477v2超级管理员_中兴F650光猫修复

    广东电信,昨天碰到中兴F650的光猫被ITMS远程升级,然后就用不了.垃圾电信的远程升级. 各种找方法解决,最终综合各种方法解决了问题. 预先准备LOID码,如果之前能正常用,理论上路由器里是存有LO ...

  5. linux下做笔记的软件下载,Write一款梦幻般的Linux手机笔记应用程序

    Linux传统笔记应用程序很少是手写笔记?Xournal被认为是Linux触摸屏用户想要使用手写笔或在虚拟纸上制作手写笔记的应用程序. 但是最近发现了一个免费的替代Xournal应用(可适用于Linu ...

  6. 红猫linux系统下载教程,RedCat_NSS_红猫linux软路由安装使用手册

    RedCat_NSS_红猫linux软路由安装使用手册 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 RedCat_NSS_红猫l ...

  7. 电信中兴F460光猫破解续

    上次回家总算把电信光猫的超级管理员限制去除了,也可以设置了自动拨号,可以通过无线共同上网.但是这次回家,却突然发现,我的电脑不能上网,而我父母的电脑都可以上网.百思不得其解,突然想到是不是电信限制了同 ...

  8. 红猫linux系统下载教程,RedCat_NSS_红猫linux软路由安装使用手册.doc

    RedCat_NSS_红猫linux软路由安装使用手册 安装手册(ISO版) 2010年7月3日 发表评论 阅读评论 一. 硬件要求: 最低配置: * 处理器:266MHz Pentium * 内存: ...

  9. linux手写软件,Write一款梦幻般的Linux手机笔记应用程序

    Write一款梦幻般的Linux手机笔记应用程序 Mark Do 2017年10月14日 暂无评论 阅读 7,016 次 Linux传统笔记应用程序很少是手写笔记?Xournal被认为是Linux触摸 ...

  10. linux rcs文件中的ip,linux学习笔记之diff和patch命令

    关键字:Linux 学习笔记 运维 系统 命令 一.命令的功能 diff命令的功能为逐行比较两个文本文件,列出其不同之处.可是做成diff记录也就是补丁. patch就是利用diff制作的补丁来打到文 ...

最新文章

  1. Linux编程下open()函数的用法
  2. 绝对牛逼的3套Python项目,就业/毕设/私活/女朋友都不愁了
  3. String对象的intern()
  4. 0913作业(冒泡排序、二分查找法、模拟摇乐游戏)
  5. ccf报数游戏java_ccf 201712 02 (游戏)
  6. ASP.NET MVC学习之(5):Html.ActionLink
  7. asp教室使用_为什么要在教室中使用开放式硬件?
  8. centos7安装docker 以及简单使用
  9. su室外渲染参数设置_紫天资源星球下载:多层公寓楼室外Lumion预渲染场景
  10. 将GridView导入到Excel
  11. centos虚拟机复制后网络重启出错解决
  12. halcon多模板匹配,每种模板匹配结果不同颜色轮廓
  13. storyboard(故事版)新手教程 图文详解 3.在故事版上使用scrollview
  14. eclipse发生了错误,请参阅日志文件怎么办呀
  15. < mapreduce >论文学习笔记
  16. 费曼技巧:学习任何东西的最佳方法
  17. 构造中小型园区网实训案例
  18. CC00007.CloudOpenStack——|OpenStack组件.V02|——|openstack-keystone|controller节点下部署Key
  19. 视频侦查实战应用平台
  20. 滴滴java开发面试题_滴滴出行(小桔科技)亲身面试经验分享,java开发岗

热门文章

  1. o2o模式都有哪些应用场景?
  2. 文本情感分类python_文本情感分类(一):传统模型
  3. MOEA/D 算法详解
  4. android全息投影,超低成本手机全息3D投影制作教程
  5. Linux内核学习路线 学习linux内核的建议
  6. ps手机计算机图标教程,手绘设计精美手机APP软件图标的PS教程
  7. Mat 与 IplImage之间的转换
  8. 加州理工学院公开课:机器学习与数据挖掘_学习问题(第一课)
  9. 刘帅嵌入式系统-MLA指令
  10. python简易语音助手