module linuxandroid驱动集成指导_第1页
module linuxandroid驱动集成指导_第2页
module linuxandroid驱动集成指导_第3页
module linuxandroid驱动集成指导_第4页
module linuxandroid驱动集成指导_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前 说 编 硬件WAKEUP管脚控 本文主要是针对广和通公司模块设备基于Android/Linux系统的驱动集成开发活动进行相关的指导说FIBOCOMMODULENCM推荐调制解调器端口(ttyACM0),即可通AT或PPP取取MATrace端口(ttyACM1)Linux系统主要通过USB接口进行数据通信。LinuxLinux内核需要根据模块设备上报的USB设备接口加载USB驱动,USBLinuxLinux2-12-1所示,在LinuxUSB4GACM驱动:支持如modem端口,AT端口等;该驱动模块的代码(cdc-acm.c)Linux内核OPTION驱动:USBmodem端口,AT端口等;该驱动模块的代码(option.c)已经内置于Linux内核的源码。NCM驱动:USB标准的NCMPPP本节介绍PPP3.0.8/)命令(假定使用标准makemenuconfig)DeviceDriversNetworkdevicesupport本节介绍ACM{USB_INTERFACE_INFO(USB_CLASS_COMM,USB_CDC_SUBCLASS_ACM,USB_CDC_PROTO_NONE)},if(((FIBOCOM_VENDOR_ID==acm->dev->descriptor.idVendor)&&(FIBOCOM_BCDUSB!=||((FIBOCOM_IVENDOR_ID==acm->dev->descriptor.idVendor)&&(FIBOCOM_BCDUSB!=||((FIBOCOM_OVENDOR_ID==acm->dev->descriptor.idVendor)&&(FIBOCOM_BCDUSB!=acm->dev->descriptor.bcdUSB))){if(ep&&(0!=wb->urb->transfer_buffer_length)&&(0==wb->urb->transfer_buffer_length%ep-{wb->urb->transfer_flags|=}}if(usb_dev!=NULL)&&(FIBOCOM_FPRODUCT_ID==usb_dev-{printk("It'sFibocom'sH330BootID[%04x][%04x],Noneedtoloadreturn-}}针对一些休眠时USBHUBacm_reset_resume函数修改,在函数入口处直接acm_resumetty_handupttyACMAT通讯。{printk("It'sFibocommodulesreturnacm_resumedirectly\r\n");returnacm_resume(intf);}#defineFIBOCOM_VENDOR_ID0x2cb7/*Fibocomvendorid*/#defineFIBOCOM_OVENDOR_ID0x1519/*Infineonvendorid*/#defineFIBOCOM_IVENDOR_ID0x8087/*Intelvendorid*/#defineFIBOCOM_FVENDOR_ID0x058b/*Fibocom3GModuleFlashvendorid*/#defineFIBOCOM_FPRODUCT_ID0x0041/*Fibocom3GModuleFlashproductid*/#defineFIBOCOM_BCDUSB0x01105.修改文件添加函数staticinlinestructusb_host_endpoint*usb_pipe_endpoint(structusb_device*dev,unsignedintpipe){eps=usb_pipein(pipe)?dev->ep_in:dev->ep_out;returneps[usb_pipeendpoint(pipe)];}3.0.8/)命令(假定使用标准makemenuconfig)按下述指引完成ACMDeviceDrivers→USBsupportUSBannouncenewdevicesUSBModem(CDCACM)support选项:/*Fibocomproducts#define .idVendor=(vend),.bInterfaceClass=(cl),.bInterfaceSubClass=(sc),#defineFIBOCOM_VENDOR_ID0x2cb7structusb_host_endpoint*ep;{ep=usb_pipe_endpoint(this_urb->dev,this_urb->pipe);if(ep&&(0!=this_urb->transfer_buffer_length)&&(0==this_urb-printk("GHT:SendZEROPACKET####\r\n");}}3.0.8/)命令(假定使用标准makemenuconfig)按下述指引完成ACMDeviceDrivers→USBsupport→USBSerialConvertersupportUSBdriverforGSMandCDMAmodems选项:ECM本节介绍ECMTerminalkernel(“/home/ghtlinux-3.0.8ECM驱动配置DeviceDriversNetworkdevicesupportUSBNetworkAdaptersMulti-purposeUSBNetworkingFrameworkCDCEthernetsupportsmartdevicessuchascablemodems)选项:NCM本节介绍NCMLinux2.6.38Linux2.6.3238将obj-$(CONFIG_USB_NET_CDC_NCM) +=cdc_ncm.o添加至Makefile的末尾。将下述语句添加至Kconfig文件末尾。tristate"CDCNCMsupport"dependsonUSB_USBNETdefaulty将#defineFLAG_MULTI_PACKET0x2000int(*manage_power)(structusbnet*int);添加至文件中即可,添加位置可参照2.6.38的usbnet.h.intusbnet_start_xmit(structsk_buff*skb,structnet_device将obj-$(CONFIG_USB_NET_CDC_NCM) +=cdc_ncm.o添加至Makefile的末尾。将下述语句添加至Kconfig文件末尾。tristate"CDCNCMsupport"dependsonUSB_USBNETdefaulty将#defineFLAG_MULTI_PACKET0x1000int(*manage_power)(structusbnet*int);添加至文件中即可,添加位置可参照2.6.38的usbnet.h.externintusbnet_start_xmit(structsk_buff*skb,structnet_device*net);intusbnet_start_xmit(structsk_buff*skb,structnet_device将obj-$(CONFIG_USB_NET_CDC_NCM) +=cdc_ncm.o添加至Makefile的末尾。将下述语句添加至Kconfig文件末尾。tristate"CDCNCMsupport"dependsonUSB_USBNETdefaulty将#defineFLAG_MULTI_PACKET0x1000int(*manage_power)(structusbnet*int);添加至文件中即可,添加位置可参照2.6.38的usbnet.h.externintusbnet_start_xmit(structsk_buff*skb,structnet_device*net);Linux2.6.22Terminalkernel(“/home/ghtlinux-3.0.8NCM驱动配置DeviceDriversNetworkdevicesupportUSBNetworkAdapters菜单后选择Multi-purposeUSBNetworkingFrameworkCDCNCMsupport选项:ls/sys/bus/usb/drivers/cdc_acm/ls/sys/bus/usb/drivers/cdc_ether/ls/sys/bus/usb/drivers/cdc_ncm/-/dev/ttyACM*或lsaldev/ttyUSB*NCM及ECM的网络节点将生成于/sys/class/net/lssys/class/net/可查询到生成的节点。以NCM为例:Linux-3.10及以上内核,NCM网络设备节点将改变成wwan0、wwan1、wwan2唤醒时USB上会出现异常信号,导致USB设备(module)重新枚举,端口节点发生变化,导致端口唤醒后不通,应用如PPP或AT休眠唤醒不通;序如下图所示(其他模块请与我司FAE核对,以实际核对情况为准):最后若需要远程唤醒,那么需要添加对UART_RI管脚控制,这个输出管脚是用于远程唤醒,即ls/sys/bus/usb/drivers/cdc_acm/ls/sys/bus/usb/drivers/cdc_ether/ls/sys/bus/usb/drive

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论