第一篇 ME909S-821开始使用

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/WANG__RONGWEI/article/details/62263690

0x00 在ARM9板上测试:

   在原JZ2440上有linux-3.4.2内核,插上ME909S模块后:
/# lsusb
Bus 001 Device 003: ID 12d1:15c1
Bus 001 Device 001: ID 1d6b:0001

使用lsusb指令后,打印出上边的信息,12d1就是华为的usb厂商号;当我们插上模块后,hub(我们的设备上的usb的根集中器)有一个固定的周期中断函数去收集这个USB端点或者叫接口上的信息,如果信息(接口上电平的变化)有改变,那么就要wake_up一个线程,这个线程的作用就是去枚举这个usb设备(这个4G模块),枚举干什么:

1.最开始与usb设备传输就是控制传输,只是端点0
2.通过端点0得到usb的信息:设备描述符,配置描述符,接口描述符,端点描述符(具体的这些描述符如果得到,可以参考我的第二篇 USB串口驱动程序,使用一个usbview软件查看描述符详细内容),其实最后感觉就是写USB驱动似乎就是根据它的这些描述符。
3.分配设备号
4.找驱动程序----找到了,执行驱动程序的probe函数

当然上边的1、2、3、4点有些不在枚举里边完成。OHCI(开发板上支持的usb控制器类型)

明天打算在window上测试它的一些功能,更全面的了解,然后在嵌入式板上写驱动。

//--------------------------------------------------------------------------------------------------------------//

       在网上下载的SSCOM.v3.2测试4G模块的一般功能,我主要测试了打电话的功能(没什么,就是觉得只有打电话的功能才明显):发生指令:ATD15765562XXX;//这里的分号一定不能少。

 

       接下来,就按照《华为模块Linux内核驱动集成指导-(V100R001_V2.0, Chinese)》指导书往下操作,『当然我使用的是linux-3.4.2内核』。

开始,发现主要程序在option.c里边,感觉这个文件名字风格有点奇怪,在看源代码的时候发现,竟然出现>>Option Inc.难不成这个还是个公司,果然这个.c文件前边就来一段介绍,最开始的PC-card就是Option公司制作的,,,哈哈哈,怪不得。

       那么下边,就开始进入4G模块的研究阶段了,当然,以前对这些知识基本没有,什么MODEM(当然一直有听说,概念模糊)、什么AT、还有什么ECM等等,一下进入我知识的盲区了。

                                                   

       上边有一些对这些端点的基本介绍,似乎光看这些没什么收获,就只知道他们的具体功能,向来数形结合才是最让人理解的:

                                                  

没错,我们将4G模块插上电脑就是这些,这些端点就是上边,书面上所谓的端点,哈哈,当然最后一个不是,是我电脑上其他线。明天开始在内核里边将修改的驱动编译,开始在linux下进行一些测试。

0x01 在linux和windows下使用描述:

在windows下,我们使用串口助手打开其中某一个端口,然后向这个端口发送AT指令就行。

但是在linux下,我们使用open打开ttyUSB0,其中这个ttyUSB0---ttyUSB4相当于上面的端口的功能,只不过这些ttyUSB*对应着USB的接口描述符,向这些ttyUSB*写什么,相当于就是向这个ttyUSB*发送什么。

0x02 实物图:

11

左图左边为4G模块底板,将4G模块的USB接口和SIM接口引出,该底板没有将4G模块的串口线和音频通话接口引出,右边为4G模块。

右图为实际连接图,包括了两根天线。

 

见网上介绍特少,就写此文分享华为4G模块-ME909S-821详情

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页