通讯之——在ARM Linux上的实现(2440)

注:此方法只针对与friendly 2440开发板

一:开发环境简述:

内容

说明

3G模块:

华为E261

3G SIM卡:

中国联通3G卡

嵌入式开发板:

Friendly Mini2440

嵌入式linux版本:

linux2.6.32.2

主机开发环境:

Ubuntu 14.4

二:应用步骤:

1.

向 linux 内核中添加 3G模块的驱动 (USB 转串口 的驱动)和 PPP 协议的 支持,重新编译下载内核

2.

对于3G模块的驱动的制作以及开启,其含有USB-modeSwitch与PPP的实现

3.

进行3G网络的测试验证

三:内核的配置启动及验证

1. 向linux内核添加3G模块的驱动(USB转串口的驱动)和PPP协议的支持,交叉编译并下载内核到开发板。

2. 由于Linux-2.6.32.2内核支持“USB driver for GSM and CDMA modems”,所以不需要修改代码,只修改内核的配置即可。

  编译前期做如下准备:

        (1)清除临时文件、中间文件和配置文件,进入内核文件目录,执行命令:make distclean                   

      通讯之——在ARM Linux上的实现(2440)_第1张图片

                                                                 图1.执行make distclean命令

       (2)使用内核/arch/arm/configs目录下的mini2440-defconfig 文件作为配置文件,将其拷贝为内核目录下的.config文件

                  通讯之——在ARM Linux上的实现(2440)_第2张图片

                                                            图2  将mini2440-defconfig作为配置文件

         (3)在终端下输入:make menuconfig出现内核配置界面后选择:

                         USB的支持配置:

            

           具体步骤如下:

         通讯之——在ARM Linux上的实现(2440)_第3张图片

                                                                                图3 按“Enter” 进入“Device Devices”目录

                                    通讯之——在ARM Linux上的实现(2440)_第4张图片

                                                                                 图4 按“Enter” 进入“USB support”目录

                                 

                                                                            图5 按“Enter” 进入“USB Serial Converter support”目录              

                                  

                                                                                图6 按“Y” 进入“USB Generic Serial Driver ”目录

                                   

                                                                         图7 按“Y” 进入“USB driver for GSM... ”编译进内核

                        配置3G模块驱动添加完成,下面进行PPP协议支持的添加:

                                    

                             具体步骤如下几幅图所示:

                                      通讯之——在ARM Linux上的实现(2440)_第5张图片

                                                              图8 按“Enter” 进入“Device Devices”目录

                                       通讯之——在ARM Linux上的实现(2440)_第6张图片                                       

                                                                  图9 按“Enter” 进入“Network device support ”目录

                                          通讯之——在ARM Linux上的实现(2440)_第7张图片

                                                                 图10 选择ppp协议支持(全部选上)编译进内核

         (4)在完成这些步骤之后,进行内核的交叉编译,退出make menuconfig 输入make zImage,编译生成的内核印象文件下载到板子上。

                                        内核启动后,会在/dev目录下生成ppp的设备节点:

                                  

     2.启动3G模块:

                           由于我们的开发板的内核由厂商提供,其在内核里已将其3G模块的驱动添加成功,我们无需再进行相关

                    的驱动编写,若其采用的开发板可以采用linusb,usb-modeswitch等软件进行相关的制作,目前网上有相关的

                     详细过程,在此就不再重复。

                          (1)内核启动后,在开发板USB HOST口插上3G模块的USB线,会打印信息输出

                                    通讯之——在ARM Linux上的实现(2440)_第8张图片

                           (2)此时我们启动我们的相关驱动文件,在此可以输入:3g-modem c /etc/3gmodem/12d1.1446.12d1.140c -W

                                   通讯之——在ARM Linux上的实现(2440)_第9张图片

                                                                   从图中可以看出我们的Vendor 为12d1,Product为1446.

                                   通讯之——在ARM Linux上的实现(2440)_第10张图片

                                    此时,我们再看看我们的USB信息,可以发现我们现在已经能够启动自动识别,可以这里出现了USB0,USB1,USB2的接口,我们的GSM modem以USB传输开启

                        (3)启动拨号:pppd call wcdma &

                                    通讯之——在ARM Linux上的实现(2440)_第11张图片                                                                                  

                                   通讯之——在ARM Linux上的实现(2440)_第12张图片

                                              从图中可以看出我们的IP为10.41.106.97 DNS为210.22.70.3,说明我们的网络已实现

                       (4)进行对网络的连接验证

                                1.看看我们当前的ifconfig状态

                                                                                                                       从图中可以看出,我们已经有了PPP    

                                2.进行ping 8.8.8.8的尝试

                                    通讯之——在ARM Linux上的实现(2440)_第13张图片

 

   

      

 

 

你可能感兴趣的:(通讯之——在ARM Linux上的实现(2440))