一、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拨号移植相关推荐

  1. linux ppp拨号 USB,Linux中实现ppp拨号连接

    以SIM7600 3G/4G模块.联通sim卡为例实现ppp拨号连接,具体过程如下: 1)安装pppd拨号软件,下载源码ppp-2.4.5.tar.gz,编译并安装(如是嵌入式环境,需交叉编译),编译 ...

  2. linux ppp拨号 socket,请问GPRS模块ppp拨号不成功是什么原因

    成功了,增加了两个步骤 sd:AT+CGDCONT=1,"IP","CMNET" rv: OK 0D 0A 4F 4B 0D 0A sd:ATD*99***1# ...

  3. 树莓派搭载EC200U 4G模块(USB网卡上网和PPP拨号上网)

    文章目录 一.EC200U模块4G模块介绍 二.USB转串口驱动设置 (1)打开树莓派的串口 (2)lsusb是否有EC200U模块 (3)添加 VID 和 PID 信息 三.USB网卡驱动上网 四. ...

  4. 实现4G模块EC20在树莓派系统下的PPP拨号上网

    目录 PPP协议 PPP通信建立 PPP认证方式 ppp协议栈 pppd数据传输 Pppd 控制协议数据流程 Linux中的PPP实现 安装PPP 方法一:源码安装 方法二: 直接安装 PPP拨号上网 ...

  5. MT7628 OpenWRT21 SIM8202驱动ppp拨号rndis拨号

    1.模块USB设备概述 使用MT7628通过USB连接SIM8202.SIM8202的VID是0x1e0e,PID9011.添加驱动后USB描述如下: 2.驱动调试使用场景 1.PPP拨号:只需要配置 ...

  6. Openwrt中ppp拨号总结

    前段时间做完一个是视频数据传输终端,使用4G模块拨号,接上摄像头,当一个路由器来传输视频信号:以及本身会带一些远程管理功能:当然这不是本文的重点:在此仅重点介绍4G拨号相关的内容,因为从开发到上线到量 ...

  7. linux ppp漏洞,Linux下ppp拨号的实现(Arm)

    Linux发行版自带PPP拨号需要的pppd和chat命令,以2.6.18内核的Linux虚拟机为例,在/usr/sbin目录下,/etc/ppp目录也已自动创建.参考模权创建拨号脚本ppp-on,p ...

  8. NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号

    NUC980开发板Linux系统EC20模块 移植 串口 PPP拨号 1. EC20模块连接 2. Linux内核配置 3. 交叉编译PPP 4. 拨号脚本 5. 进行拨号 1. EC20模块连接 在 ...

  9. linux 4g 拨号,4G模块Linux PPP拨号说明

    前言 对于4G模块上网拨号上网有很多方法,本文针对PPP的拨号说明,至于USB串口驱动配置,请查看前面的文章:4G模块驱动移值. 一.PPP的下载和交叉编译 ppp库文件可以去http://ppp.s ...

最新文章

  1. 锅都不敢背,凭什么让大家跟着你干?
  2. MF训练套件(1):如何去除应用标题?
  3. 中国平安“豪赌”科技?从产险业务IT变形计聊起
  4. 泰坦尼克号数据_看完泰坦尼克号生还数据之后,你还会认为是妇女和儿童先走吗?...
  5. Windows Phone APP中禁用截图
  6. activiti自定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
  7. android删除打开方式,Android 打开方式选定后默认了改不回来?解决方法(三星s7为例)...
  8. HiveSQL技术原理、优化[深度解析]
  9. 微信小程序保存canvas绘制的图片到本地,拒绝图片授权后继续授权
  10. vue中使用粒子特效
  11. IE8 访问https安全证书错误;导航阻止 解决办法
  12. JavaScript:九九乘法表
  13. C++ primer plus 第六版 第二章 编程练习答案
  14. ssl证书生成 详细流程
  15. 【笔记】Every Document Owns Its Structure Inductive Text Classifification via
  16. Python 把几张图片拼接成一张图片,并且写上文字
  17. 少儿编程网站源码和scratch课程
  18. http 状态码查询
  19. 2.Conv2d实现
  20. IOS 多线程之信号量

热门文章

  1. 区块链已成主流,BATJ纷纷加速布局
  2. 使用Python创建excel文件成功后报错打不开
  3. Aws S3 基础操作
  4. Algorithm Problem:Greed
  5. 十进制转化为二进制(栈算法)
  6. 51信用卡不止于想象力?
  7. 安全计算:使用ClamWin为高级用户提供免费病毒防护
  8. htpc派_您应该为HTPC使用PCI,USB或基于网络的电视调谐器吗?
  9. 应用程序无法正常启动 0xc000000d
  10. 计算机对水利方面的影响,计算机技术对于水利工程信息化系统的优化作用