一種基于嵌入式Linux系統(tǒng)的的無線路由器設計方案
3G的接人技術已經從WCDMA/TD- SCDMA/CD-MA2000發(fā)展到HSDPA、HSUPA 以及HSPA+ ,并開始由3G 網(wǎng)絡向4G網(wǎng)絡過渡。目前HSDPA的接入帶寬可以達到7.2 Mbps,HSPA+ 的接人帶寬可以達到21 Mbps,而即將部署的LTE的網(wǎng)絡帶寬甚至達到了100 Mbps 。同時,由于接人移動互聯(lián)網(wǎng) 的智能終端的數(shù)量快速增長,人們對移動互聯(lián)網(wǎng)的應用需求也日益增長。當人們面對幾十兆帶寬甚至是上百兆帶寬時,必定存在帶寬的過剩問題,即人們不需要在任何時刻都需要這么大的帶寬,因而可以將過剩的用戶帶寬分配給更多的用戶。
本文引用地址:http://cafeforensic.com/article/262484.htmlinux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
目前,WiFi技術能夠支持IEEE的802.11b、802.11g和802.1ln標準,分別支持10 Mbps、54 Mbps和300 Mbps的無線傳輸速率。而在傳輸距離上,WiFi能夠在幾米到100m范圍內實現(xiàn)完全覆蓋。
本文正是基于3G/4G 不斷增長的接入帶寬以及WiFi技術的各項優(yōu)點,提出了一種共享3G/4G 網(wǎng)絡帶寬的無線路由器設計方案。該方案首先利用嵌入式Linux系統(tǒng),構建一個基于WiFi技術的無線局域網(wǎng),智能終端等用戶可以利用自帶的WiFi功能接入該無線局域網(wǎng),然后再將該無線局域網(wǎng)橋接至3G/4G網(wǎng)絡中,從而實現(xiàn)各個智能終端設備對3G/4G網(wǎng)絡帶寬的共享。
1. 3G/4G路由器設計方案
本路由器的設計是基于三個模塊來實現(xiàn)的,分別為3G模塊、WiFi模塊和Linux硬件平臺,如圖1所示。3G模塊的功能是利用運營商的無線數(shù)據(jù)卡進行PPP撥號,使得路由器能通過運營商網(wǎng)絡連接至互聯(lián)網(wǎng)。WiFi模塊的功能是使得無線網(wǎng)卡工作在AP(Access Point)模式,并配置動態(tài)主機配置協(xié)議的腳本文件,來建立一個2.4 GHz的WiFi無線局域網(wǎng)。Linux硬件平臺模塊的功能主要有兩個方面,一方面要支持無線網(wǎng)卡和無線數(shù)據(jù)卡的驅動,另一方面要通過嵌入式Linux系統(tǒng)中的iptables數(shù)據(jù)包過濾系統(tǒng)將無線局域網(wǎng)和3G/4G網(wǎng)絡連通。智能終端等設備通過WiFi信道接人到該路由器所提供的無線局域網(wǎng)中,分配到一個IP地址之后,則通過該無線局域網(wǎng)的網(wǎng)關進行數(shù)據(jù)包的接收和發(fā)送,而該網(wǎng)關則通過3G/4G模塊上的網(wǎng)絡撥號接口來接收和發(fā)送數(shù)據(jù)包至3G/4G 網(wǎng)絡,從而實現(xiàn)了該路由器的設計方案。
圖1 3G/4G路由器設計方案圖
2. 3G/4G路由器硬件結構
根據(jù)3G/4G路由器設計方案,其硬件結構的三大模塊分別采用深圳天謨公司生產的Devkit8500D評估板、華為公司的E392型無線上網(wǎng)卡和TP-Link公司的TL-WN821N型無線網(wǎng)卡。
Devkit8500D評估板的基本結構如圖2所示。該硬件平臺采用的是TI公司的DM3730微處理器。
圖2 終端硬件結構圖
E392型無線上網(wǎng)卡采用高通公司的MDM9x00多模芯片組,同時支持TD-SCDMA/WCDMA 的3G 網(wǎng)絡標準和LTE-TDD/FDD 的4G 網(wǎng)絡標準。目前,利用3G網(wǎng)絡中已經部署升級的HSPA+技術,下行峰值速率可以達到21 Mbps,上行峰值速率可以達到5.76 Mbps;部分地區(qū)采用64QAM 調制技術和MIMO技術對HsPA+進行再次升級,下行峰值速率可以達到42 Mbps左右;而即將部署的4G網(wǎng)絡,下行峰值速率可以達到i00 Mbps,上行峰值速率可以達到50 Mbps。
TL-WN821N 型無線網(wǎng)卡是基于Realtek公司的RTL8192cu芯片設計的,采用MIMO技術和空頻道檢測技術,支持802.11n/b/g,性能穩(wěn)定且能夠提供最大300 Mbps的無線傳輸速率,完全滿足智能終端等設備的帶寬需求。
3. 3G/4G路由器關鍵技術
3G/4G路由器是指利用WiFi的2.4GHz頻段,組建一個無線局域網(wǎng),并配置無線局域網(wǎng)的基本信息,通過Linux系統(tǒng)的iptables將無線局域網(wǎng)接人到3G/4G網(wǎng)絡中。其關鍵技術具體分為3G/4G 網(wǎng)絡的接入、無線局域網(wǎng)的組建以及iptables的連通三個部分。
3.1 3G/4G網(wǎng)絡的接入
該無線路由器利用E392型多模無線上網(wǎng)卡在嵌入式Linux系統(tǒng)中進行PPP撥號,分別接入到TD-SCDMA,WCDMA以及TD-LTE實驗網(wǎng)中。其具體實現(xiàn)流程如圖3所示。
圖3 3G/4G網(wǎng)絡接入流程圖
3.1.1 多模無線上網(wǎng)卡驅動加載
當一個新的USB設備接入到Linux主機中,主機首先會通過控制端點讀入此設備的配置,接口和端點等信息,利用控制管道完成控制型傳輸,然后主機再對該設備進行枚舉。枚舉即讀取該 設備的許多重要信息,其中最重要的是讀取該設備的生產商識別碼(VID)以及產品識別碼(PID),將這兩個識別碼分別與USB內核中意存在的各個識別碼進行匹配。若匹配成功,即的利用Linux系統(tǒng)的USB內核成功實現(xiàn)了 該設備的USB驅動的加載。
本設計方案中采用的嵌入式Linux系統(tǒng)的內核版本號為2.6.32,該內核中與USB設備的VID和PID號相關的源碼存在kernel/drivers/usb/serial/option.c中,修改該文件并添加本 終端設計方案中所采用的華為E392無線上網(wǎng)卡的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系統(tǒng)內核中的Devices driver→usb support→usb Serial Converter Support選項,使得Linux系統(tǒng)內核支持USB串口轉換,然后選擇按模塊重新編譯內核,生成option.ko和usbserial.ko 驅動文件。最后加載這兩個驅動文件并插上該多模無線上網(wǎng)卡,完成驅動加載。
3.1.2 終端模式轉換
在3.1.1節(jié)中實現(xiàn)的是USB設備的加載,即Linux系統(tǒng)識別出無線上網(wǎng)卡為USB設備并能與之通信。而一般 USB無線上網(wǎng)卡設備都具有兩個USB子設備模式,即usb-storage子設備模式和modern子設備模式。此時 Linux系統(tǒng)默認會將該設備識別為usb-storage子設備模式,需要通過USB設備的模式轉換工具usb- modeswitch將USB設備的工作模式轉換為modem模式,這樣才能使得無線上網(wǎng)卡能夠正常工作。
首先需要將usb- modeswitch工具移植至開發(fā)板,移植過程如下:
① 下載并解壓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二進制執(zhí)行文件拷人Linux系統(tǒng)中,并修改usb_modeswitch目錄下usb_mode-switch.conf配置文件,在該文件末添加該無線上網(wǎng)卡的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對無線上網(wǎng)卡進行USB設備的模式轉換,轉換成功后無線上網(wǎng)卡即工作在調制解調器模式下,同時可通過命令ls/dev可以查看到Linux系統(tǒng)生成4個虛擬USB轉串口設備,即ttyUSB0,ttyUSB1,ttyUSB2和ttyUSB3,可以通過這幾個串口進行PPP撥號,使得3G/4G路由器可以接至TD-SCDMA、WCDMA以及TD-LTE實驗網(wǎng)中。
pid控制相關文章:pid控制原理
linux相關文章:linux教程
路由器相關文章:路由器工作原理
路由器相關文章:路由器工作原理
評論