ec200t 拨号_Quectel EC200T驱动以及ppp拨号移植
一、EC200T驱动移植
1、添加usb-serial-option usb串口驱动
1.1 修改drivers/usb/serial/option.c
staticconststructusb_device_idoption_ids[] = {
#if 1 //Added by Quectel
{ USB_DEVICE(0x2C7C, 0x0125) }, /* Quectel EC25/EC20 R2.0 */
{ USB_DEVICE(0x2C7C, 0x0121) }, /* Quectel EC21 */
{ USB_DEVICE(0x2C7C, 0x6026) }, /* Quectel EC200T */
#endif
staticintoption_probe(structusb_serial *serial,
conststructusb_device_id *id)
{
structusb_wwan_intf_private *data;
#if 1 //Added by Quectel
//Quectel EC25&EC21 's interface 4 can be used as USB Network device
if (serial->dev->descriptor.idVendor == cpu_to_le16(0x2C7C) && serial->dev->descriptor.idProduct != cpu_to_le16(0x6026)
&& serial->interface->cur_altsetting->desc.bInterfaceNumber>= 4)
return -ENODEV;
if (serial->dev->descriptor.idVendor == cpu_to_le16(0x2C7C) && serial->dev->descriptor.idProduct == cpu_to_le16(0x6026)
&& serial->interface->cur_altsetting->desc.bInterfaceNumber<= 1)
return -ENODEV;
#endif
1.2 添加drivers/usb/serial/usb_wwan.c
/* Fill URB using supplied data. */
usb_fill_bulk_urb(urb, serial->dev,
usb_sndbulkpipe(serial->dev, endpoint) | dir,
buf, len, callback, ctx);
#if 1 //Added by Quectel for Zero Packet
if (dir == USB_DIR_OUT) {
structusb_device_descriptor *desc = &serial->dev->descriptor;
if (desc->idVendor == cpu_to_le16(0x2C7C))
urb->transfer_flags |= URB_ZERO_PACKET;
}
#endif
2、测试驱动加载
2.1 驱动加载流程
4480.389072] usb 1-1: new high-speed USB device number 2 using ehci-pci
[ 4480.724881] usb 1-1: New USB device found, idVendor=2c7c, idProduct=6026
[ 4480.724891] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4480.724945] usb 1-1: Product: Android
[ 4480.724950] usb 1-1: Manufacturer: Android
[ 4480.724953] usb 1-1: SerialNumber: 200806006809080000
[ 4480.880597] usbcore: registered new interface driver usbserial
[ 4480.882143] usbcore: registered new interface driver usbserial_generic
[ 4480.882258] usbserial: USB Serial support registered for generic
[ 4480.900108] usb_wwan: module verification failed: signature and/or required key missing - tainting kernel
[ 4480.904573] cdc_ether 1-1:1.0 eth1: register 'cdc_ether' at usb-0000:02:03.0-1, CDC Ethernet Device, ac:5f:92:e1:e1:7f
[ 4480.907953] usbcore: registered new interface driver cdc_ether
[ 4480.949296] usbcore: registered new interface driver option
[ 4480.949337] usbserial: USB Serial support registered for GSM modem (1-port)
[ 4480.949618] TEST:bInterfaceNumber is 2.
[ 4480.949634] option 1-1:1.2: GSM modem (1-port) converter detected
[ 4480.950765] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 4480.950866] TEST:bInterfaceNumber is 3.
[ 4480.950876] option 1-1:1.3: GSM modem (1-port) converter detected
[ 4480.951768] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 4480.951815] TEST:bInterfaceNumber is 4.
[ 4480.951821] option 1-1:1.4: GSM modem (1-port) converter detected
[ 4480.952507]usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
2.2 USB端口设备
/dev/ttyUSB1 is AT Port
/dev/ttyUSB2 is PPP port
3、USB网卡usbnet模式(默认rndis模式)
二、Linux/Android ppp拨号移植
1.Enable CONFIG_PPP_ASYNC CONFIG_PPP_SYNC_TTY CONFIG_PPP_DEFLATE
1.1 modified Makefile
1.2 modified Kconfig
ec200t 拨号_Quectel EC200T驱动以及ppp拨号移植相关推荐
- linux ppp拨号 USB,Linux中实现ppp拨号连接
以SIM7600 3G/4G模块.联通sim卡为例实现ppp拨号连接,具体过程如下: 1)安装pppd拨号软件,下载源码ppp-2.4.5.tar.gz,编译并安装(如是嵌入式环境,需交叉编译),编译 ...
- linux ppp拨号 socket,请问GPRS模块ppp拨号不成功是什么原因
成功了,增加了两个步骤 sd:AT+CGDCONT=1,"IP","CMNET" rv: OK 0D 0A 4F 4B 0D 0A sd:ATD*99***1# ...
- 树莓派搭载EC200U 4G模块(USB网卡上网和PPP拨号上网)
文章目录 一.EC200U模块4G模块介绍 二.USB转串口驱动设置 (1)打开树莓派的串口 (2)lsusb是否有EC200U模块 (3)添加 VID 和 PID 信息 三.USB网卡驱动上网 四. ...
- 实现4G模块EC20在树莓派系统下的PPP拨号上网
目录 PPP协议 PPP通信建立 PPP认证方式 ppp协议栈 pppd数据传输 Pppd 控制协议数据流程 Linux中的PPP实现 安装PPP 方法一:源码安装 方法二: 直接安装 PPP拨号上网 ...
- MT7628 OpenWRT21 SIM8202驱动ppp拨号rndis拨号
1.模块USB设备概述 使用MT7628通过USB连接SIM8202.SIM8202的VID是0x1e0e,PID9011.添加驱动后USB描述如下: 2.驱动调试使用场景 1.PPP拨号:只需要配置 ...
- Openwrt中ppp拨号总结
前段时间做完一个是视频数据传输终端,使用4G模块拨号,接上摄像头,当一个路由器来传输视频信号:以及本身会带一些远程管理功能:当然这不是本文的重点:在此仅重点介绍4G拨号相关的内容,因为从开发到上线到量 ...
- linux ppp漏洞,Linux下ppp拨号的实现(Arm)
Linux发行版自带PPP拨号需要的pppd和chat命令,以2.6.18内核的Linux虚拟机为例,在/usr/sbin目录下,/etc/ppp目录也已自动创建.参考模权创建拨号脚本ppp-on,p ...
- NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号
NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号 1. EC20模块连接 2. Linux内核配置 3. 交叉编译PPP 4. 拨号脚本 5. 进行拨号 1. EC20模块连接 在 ...
- linux 4g 拨号,4G模块Linux PPP拨号说明
前言 对于4G模块上网拨号上网有很多方法,本文针对PPP的拨号说明,至于USB串口驱动配置,请查看前面的文章:4G模块驱动移值. 一.PPP的下载和交叉编译 ppp库文件可以去http://ppp.s ...
最新文章
- 锅都不敢背,凭什么让大家跟着你干?
- MF训练套件(1):如何去除应用标题?
- 中国平安“豪赌”科技?从产险业务IT变形计聊起
- 泰坦尼克号数据_看完泰坦尼克号生还数据之后,你还会认为是妇女和儿童先走吗?...
- Windows Phone APP中禁用截图
- activiti自定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
- android删除打开方式,Android 打开方式选定后默认了改不回来?解决方法(三星s7为例)...
- HiveSQL技术原理、优化[深度解析]
- 微信小程序保存canvas绘制的图片到本地,拒绝图片授权后继续授权
- vue中使用粒子特效
- IE8 访问https安全证书错误;导航阻止 解决办法
- JavaScript:九九乘法表
- C++ primer plus 第六版 第二章 编程练习答案
- ssl证书生成 详细流程
- 【笔记】Every Document Owns Its Structure Inductive Text Classifification via
- Python 把几张图片拼接成一张图片,并且写上文字
- 少儿编程网站源码和scratch课程
- http 状态码查询
- 2.Conv2d实现
- IOS 多线程之信号量