EDN China > 设计实例 > 通信 > 宽带接入 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于嵌入式Linux系统的3G/4G路由器设计

/?? 2014年08月20日 ?? 收藏0

3 3G/4G路由器关键技术

3G/4G路由器是指利用WiFi的2.4GHz频段,组建一个无线局域网,并配置无线局域网的基本信息,通过Linux系统的iptables将无线局域网接人到3G/4G网络中。其关键技术具体分为3G/4G 网络的接入、无线局域网的组建以及iptables的连通三个部分。

3.1 3G/4G网络的接入

该无线路由器利用E392型多模无线上网卡在嵌入式Linux系统中进行PPP拨号,分别接入到TD-SCDMA, WCDMA以及TD-LTE实验网中。其具体实现流程如图3所示。

图3 3G/4G网络接入流程图
图3 3G/4G网络接入流程图

3.1.1 多模无线上网卡驱动加载

当一个新的USB设备接入到Linux主机中,主机首先会通过控制端点读入此设备的配置,接口和端点等信息,利用控制管道完成控制型传输,然后主机再对该设备进行枚举。枚举即读取该 设备的许多重要信息,其中最重要的是读取该设备的生产商识别码(VID)以及产品识别码(PID),将这两个识别码分 别与USB内核中意存在的各个识别码进行匹配。若匹配成功,即的利用Linux系统的USB内核成功实现了 该设备的USB驱动的加载。

本设计方案中采用的嵌入式Linux系统的内核版本号为2.6.32,该内核中与 USB设备的VID和PID号相关的源码存在kernel/drivers/usb/serial/option.c中,修改该文件并添加本 终端设计方案中所采用的华为E392无线上网卡的VID和PID,过程如下:

# define HUAWEI_VENDOR_ID 0x12D1

# define HUAWEI_PRODUCT_E1446 0x1446

{USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID,HUAWEI_PRODUCT_E1446,0xff,0xff,0xff)}

然后 配置嵌入式Linux系统内核中的Devices driver→usb support→usb Serial Converter Support选项, 使得Linux系统内核支持USB串口转换,然后选择按模块重新编译内核,生成option.ko和usbserial.ko 驱动文件。最后加载这两个驱动文件并插上该多模无线上网卡,完成驱动加载。

3.1.2 终端模式转换

在3.1.1节中实现的是USB设备的加载,即Linux系统识别出无线上网卡为USB设备并能与之通信。而一般 USB无线上网卡设备都具有两个USB子设备模式,即usb-storage子设备模式和modern子设备模式。此时 Linux系统默认会将该设备识别为usb-storage子设备模式,需要通过USB设备的模式转换工具usb- modeswitch将USB设备的工作模式转换为modem模式,这样才能使得无线上网卡能够正常工作。

首先需要将usb- modeswitch工具移植至开发板,移植过程如下:

① 下载并解压usb-modeswitch一1.2.5.tar.bz2。

② 进入usb-modeswitch目录,修改Makefile,指定交叉编译器:

CC = arm-none-linux-gnueabi - gcc

$(PROG):&(OBJS)&(CC) - o $(PROG)&(OBJS)

& (CFLAGS)… . - I/home/libusb- 0.1.12/instal1/inc1ude

&(LIB) … . - L/home/libusb- 0.1.12/install/lib

③ make。

将生成的usb_modeswitch二进制执行文件拷人Linux系统中,并修改usb_modeswitch目录下usb_mode-switch.conf配置文件,在该文件末添加该无线上网卡的VID设备号和其usb-storage子设备PID设备号,然后指定其modern子设备号。具体配置信息如下:

Default Vendor = 12D1

Default Product = 1446

Target Vendor = 12D1

Target Product = 1506

CheckSuccess = 20

HuaweiMode = O

通过命令usb_modeswitch - W - c usb_modeswitch.conf对无线上网卡进行USB设备的模式转换,转换成功后无线上网卡即工作在调制解调器模式下,同时可通过命令ls/dev可以查看到Linux系统生成4个虚拟USB转串口设备,即ttyUSB0,ttyUSB1,ttyUSB2和ttyUSB3,可以通过这几个串口进行PPP拨号,使得3G/4G路由器可以接至TD-SCDMA、WCDMA以及TD-LTE实验网中。

【分页导航】


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

WiFi? 3G? 4G?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈