Linux移植4G上网卡,Linux下ME3760_v2驱动移植方式,中兴4G网卡移植

USB串口驱动添加

配置内核将USB driver for GSM and CDMA modems选上

Cd kernel

Make menuconfig

Devicedrivers->usb surpport->usb serial converter support

选中如下组件

USB driver forGSM and CDMA modems

选中保存后即可编译内核

增加4G设备驱动

修改option.c文件添加设备信息

代码修改路径:

drivers\usb\serial\option.c

找到option_ids[] 结构体表

添加ZTE产品信息

{ USB_DEVICE(0x19d2, 0x0199) },

编译

USB串口过滤ndis接口

由于usb串口跟ndis都属于非cdc设备,需要防止ndis口被usb串口驱动加载ndis驱动无法顺利完成加载

1.在drivers\usb\serial\usb_serial.c文件中usb_serial_probe函数中添加

if ((le16_to_cpu(dev->descriptor.idVendor)== 0x19d2)&&

(le16_to_cpu(dev->descriptor.idProduct)== 0x0199)){

if(1 ==interface->cur_altsetting->desc.bInterfaceNumber){

return -ENODEV;

}

}

由于ndis以库的形式提供,主要包括两个文件:cdc_encap.ko和cdc_ether.ko

2.修改drivers\net中

cdc_ether.c

3.修改Makefile 添加obj-m +=cdc_encap.o

4.将提供的cdc_encap.c和cdc_encap.h拷贝到该目录下

配置内核usbnet驱动方式如下

Cdkernel

Make menuconfig

Devicedriver->Network device surpport->usb Network Adapters

选中如下组件:

Mutil-purpose USB Networking Framework

选中保存后退出编译

ndis驱动加载

编译后生成的usbnet.ko连同ndis驱动一起加入系统启动项中加载,加载顺序为

Insmod usbnet.ko

Insmodcdc_encap.ko

Insmodcdc_ether.ko

带设备枚举完成后,正常加载系统的log中可以查看是否能正常加载成功

ndis驱动接口的使用

驱动编译完成,在嵌入式系统中的terminal中输入 cat /proc/devices

可以查看到eth1设备

然后通过ifconfig-a 查到其网络接口eth1

1         4G模块建立连接AT命令指令

AT口发送指令流程

AT

AT+CFUN = 1;//模块功能全打开,模块每次开机都要设置AT+CFUN = 1,如果觉得麻烦可以设置AT+ZSET = “LTE_INFO”,8掉电后,这个AT+CFUN = 1就保存为默认模块了

AT+CPIN? //返回READY,说明卡在位

AT+CEREG = 1,//启用网络注册的主动上报结果码+CEREG: 如果STAT的是1或者5表示注册上4G网络

/*AT+CREG? 查询2G AT+CGREG 查询3G AT+CEREG?查询4G 返回第二个参数为1/5表示注册上*/

AT+CGDCONT=1,”IP”,”APN”//设置PDP环境

AT+CGACT=1,1

AT+ZGACT=1,1//只有CEREG注册有效后,这个指令发送才能正常返回

网络连接数据发送接受

//AT+ZGACT=0,1//关闭网络

静态手动设置eth1 IP网关 DNS

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值