内容 |
说明 |
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
图1.执行make distclean命令
(2)使用内核/arch/arm/configs目录下的mini2440-defconfig 文件作为配置文件,将其拷贝为内核目录下的.config文件
图2 将mini2440-defconfig作为配置文件
(3)在终端下输入:make menuconfig出现内核配置界面后选择:
USB的支持配置:
具体步骤如下:
图3 按“Enter” 进入“Device Devices”目录
图4 按“Enter” 进入“USB support”目录
图5 按“Enter” 进入“USB Serial Converter support”目录
图6 按“Y” 进入“USB Generic Serial Driver ”目录
图7 按“Y” 进入“USB driver for GSM... ”编译进内核
配置3G模块驱动添加完成,下面进行PPP协议支持的添加:
具体步骤如下几幅图所示:
图8 按“Enter” 进入“Device Devices”目录
图9 按“Enter” 进入“Network device support ”目录
图10 选择ppp协议支持(全部选上)编译进内核
(4)在完成这些步骤之后,进行内核的交叉编译,退出make menuconfig 输入make zImage,编译生成的内核印象文件下载到板子上。
内核启动后,会在/dev目录下生成ppp的设备节点:
由于我们的开发板的内核由厂商提供,其在内核里已将其3G模块的驱动添加成功,我们无需再进行相关
的驱动编写,若其采用的开发板可以采用linusb,usb-modeswitch等软件进行相关的制作,目前网上有相关的
详细过程,在此就不再重复。
(1)内核启动后,在开发板USB HOST口插上3G模块的USB线,会打印信息输出
(2)此时我们启动我们的相关驱动文件,在此可以输入:3g-modem c /etc/3gmodem/12d1.1446.12d1.140c -W
从图中可以看出我们的Vendor 为12d1,Product为1446.
此时,我们再看看我们的USB信息,可以发现我们现在已经能够启动自动识别,可以这里出现了USB0,USB1,USB2的接口,我们的GSM modem以USB传输开启
(3)启动拨号:pppd call wcdma &
从图中可以看出我们的IP为10.41.106.97 DNS为210.22.70.3,说明我们的网络已实现
(4)进行对网络的连接验证
1.看看我们当前的ifconfig状态
从图中可以看出,我们已经有了PPP
2.进行ping 8.8.8.8的尝试