华为4g模块 linux驱动程序,定制Android之4G-LTE模块驱动

定制Android之4G-LTE模块驱动

一.        简介

本文讲述在Android内核中,添加中国移动4G-LTE制式华为MU909模块驱动,实现通过4G上网业务,电话业务,短信业务。

CPU:Samsung 6410

Kernel:linux 2.6.36

System: Android 2.3

4Gmod:HUAWEI—MU909

Authority:ACE 2014-12-8

华为模块在Android端使用的驱动分为两部分:

定制接口:对应的驱动为option,需要将华为模块的驱动适配数据添加到驱动才能被usb识别和使用。

通用接口:ECM,华为模块直接适配通用驱动。暂时无需修改代码。

二.具体内容

华为模块以PCI-E接口封装,主要以USB接口为通讯接口,将USB口虚拟成ttyUSB,将作为华为的定制接口,包括Modem PPP拨号,PCUI基本AT指令响应端口,Diag 日志抓取端口。

涉及三个文件:

/drivers/usb/serial/option.c

/drivers/usb/serial/usb_wwan.c

/include/linux/usb.h

2.1 usb转serial驱动

2.1.1 /include/linux/usb.h 添加

#define USB_VENDOR_AND_INTERFACE_INFO(vend,cl, sc, pr) \

.match_flags = USB_DEVICE_ID_MATCH_INT_INFO \

|USB_DEVICE_ID_MATCH_VENDOR, \

.idVendor = (vend), \

.bInterfaceClass = (cl), \

.bInterfaceSubClass = (sc), \

.bInterfaceProtocol = (pr)

2.1.2

/drivers/usb/serial/option.c在static const struct usb_device_id option_ids[]

添加华为模块的ID,协议码等。

参数内容为{VID,InterfaceClass,InterfaceSubClass, InterfaceProtocol}

{ USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID,0xff, 0xff, 0xff) },

{USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x01) },

2.1.3         USB零包机制

根据USB协议,添加关于传输中零包的处理

修改/drivers/usb/serial/usb_wwan.c,

增加bcdUSB值和华为vid值的定义

#define HW_bcdUSB 0x0110

#define HUAWEI_VENDOR_ID 0x12d1

在usb_wwan_write 函数中添加零包语句

intusb_wwan_write()

{

;;;

struct usb_host_endpoint *ep=NULL;

}

在usb_wwan_write 函数中添加零包判断

int usb_wwan_write()

{

;;;

if((HUAWEI_VENDOR_ID ==port->serial->dev->descriptor.idVendor)

&& (HW_bcdUSB !=port->serial->dev->descriptor.bcdUSB)){

ep = usb_pipe_endpoint(this_urb->dev, this_urb->pipe);

if(ep && (0 != this_urb->transfer_buffer_length)

&& (0 == this_urb->transfer_buffer_length %

ep->desc.wMaxPacketSize)){

this_urb->transfer_flags |= URB_ZERO_PACKET;

}

}

3.编译usb-serial进内核

CONFIG_USB_SERIAL=y

CONFIG_USB_SERIAL_OPTION=y

CONFIG_USB_SERIAL_WWAN=y

终端输入#make menuconfig

4. PPP 拨号配置

相关配置项:

CONFIG_PPP=y

CONFIG_PPP_MULTILINK=y

CONFIG_PPP_FILTER=y

CONFIG_PPP_ASYNC=y

CONFIG_PPP_SYNC_TTY=y

CONFIG_PPP_DEFLATE=y

CONFIG_PPP_BSDCOMP=y

5.CDC驱动

CDC驱动是华为模块适配标准的ECM通用驱动,无需代码修改,LTE模块使用PPP-modem拨号的方式进行数据业务。

修改Android内核的配置项

CONFIG_USB_USBNET=y

CONFIG_NETDEVICES=y

CONFIG_USB_NET_CDCETHER=y

6. usb-serial 电源管理集成

Usb-serial驱动需要内核支持selectivesuspend 电源管理,修改 /driver/usb/serial/option.c

找到static struct usb_serial_driver option_1port_device ={

.attach  = usb_wwan_startup  //添加接口

}

在usb_wwan_startup() 添加

{

if (serial->dev->descriptor.idVendor== HUAWEI_VENDOR_ID) {

if ( 0 !=(serial->dev->config->desc.bmAttributes & 0x20)){

usb_enable_autosuspend(serial->dev);

}

}

}

配置内核

CONFIG_USB_SUPPORT=y

CONFIG_USB =y

CONFIG_PM_RUNTIME=y

CONFIG_USB_SUSPEND=y

以上修改完内核,重新编译内核

#make zImage

7.将编译完内核烧进板子。

7.1将LTE模块接入板子

查看usb-serial驱动是否成功加载

一个USB口虚拟成三个串口ttyUSB,ttyUSB0 为modem接口,ttyUSB1为Dial,ttyUSB2为AT端口。

7.2 检查CDC驱动是否成功加载

已经识别为usb网卡,可以ifconfig eth1 使能网卡

至此完成对华为MU909 驱动的添加,还需添加PPP拨号软件,编写LTE拨号脚本,才能接入4G网络。

详细说明 U8300无线模块是一款适用于FDD-LTE/TDD-LTE/TD-SCDMA/EDGE/GPRS/GSM多种网络制式的无线终端产品,U8300模块支持多种频段: Tri-Band TDD-LTE:Band38/39/40; Single-Band FDD-LTE :Band7; Tri-Band TD-SCDMA:Band34/39/40; Dual-Band EDGE/GPRS/GSM:GSM900/DCS1800。 在FDD-LTE网路下,U8300接入速度下行可达100Mbps,上行可达50Mbps,在TDD-LTE网络下,U8300接入速度下行可达61Mbps,上行可达18Mbps,在没有LTE网络覆盖的情况下,U8300还可以通过TD-SCDMA接入,速率可达下行4.2Mbps和上行2.2Mbps,EGDE接入速率可达237kbps,GPRS接入速率可达85.6kbps。 U8300在提供高速数据接入的同时,可提供**讯簿等功能,可广泛应用于移动宽带接入、视频监控、手持终端、车载设备等产品。 U8300采用先进的高度集成设计方案,将射频、基带集成在一块PCB上,完成无线接收、发射、基带信号处理和音频信号处理功能,采用双面布局,模块结构尺寸为:51.0×30.0×4.6mm。 U8300支持AT命令扩展,可以实现用户个性化定制方案。 U8300无线模块是一款适用于FDD-LTE/TDD-LTE/TD-SCDMA/EDGE/GPRS/GSM多种网络制式的无线终端产品,U8300模块支持多种频段: Tri-Band TDD-LTE:Band38/39/40; Single-Band FDD-LTE:Band7; Tri-Band TD-SCDMA:Band34/39/40; Dual-Band EDGE/GPRS/GSM:GSM900/DCS1800。 在FDD-LTE网路下,U8300接入速度下行可达100Mbps,上行可达50Mbps,在TDD-LTE网络下,U8300接入速度下行可达61Mbps,上行可达18Mbps,在没有LTE网络覆盖的情况下,U8300还可以通过TD-SCDMA接入,速率可达下行4.2Mbps和上行2.2Mbps,EGDE接入速率可达237kbps,GPRS接入速率可达85.6kbps。 U8300在提供高速数据接入的同时,可提供**讯簿等功能,可广泛应用于移动宽带接入、视频监控、手持终端、车载设备等产品。 U8300采用先进的高度集成设计方案,将射频、基带集成在一块PCB上,完成无线接收、发射、基带信号处理和音频信号处理功能,采用双面布局,模块结构尺寸为:51.0×30.0×4.6mm。 U8300支持AT命令扩展,可以实现用户个性化定制方案。 优势 ● 支持多种网络制式,FDD-LTE/TDD-LTE/TD-SCDMA/EDGE/GPRS/GSM ● 宽带无线通讯模块,FDD_LTE:100Mbps(DL)/50Mbps(UL),TDD_LTE:61Mbps(DL)/18Mbps(UL),TD-SCDMA:4.2Mbps(DL)/2.2Mbps(UL) ● Mini PCI-E标准连接器,便于调试和售后维护 ● 支持GPS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值