新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于嵌入式Linux系統(tǒng)的的無(wú)線(xiàn)路由器設(shè)計(jì)方案

        一種基于嵌入式Linux系統(tǒng)的的無(wú)線(xiàn)路由器設(shè)計(jì)方案

        作者: 時(shí)間:2014-09-02 來(lái)源:網(wǎng)絡(luò) 收藏

          3.2 無(wú)線(xiàn)局域網(wǎng)的組建

        本文引用地址:http://www.104case.com/article/262484.htm

          該無(wú)線(xiàn)利用無(wú)線(xiàn)網(wǎng)卡在系統(tǒng)中組建一個(gè)小型的無(wú)線(xiàn)局域網(wǎng),一方面提供給智能終端等設(shè)備接入,另一方面將無(wú)線(xiàn)局域網(wǎng)接入至3G/4G 網(wǎng)絡(luò)。其基本流程如圖4所示。



          圖4 無(wú)線(xiàn)局域網(wǎng)組建流程圖

          3.2.1 無(wú)線(xiàn)網(wǎng)卡驅(qū)動(dòng)加載

          TL-WN821N 型無(wú)線(xiàn)網(wǎng)卡采用的WLAN芯片組為Realtek公司的提供的RTI 8192cu芯片,Realtek公司提供了基于Linux系統(tǒng)的該芯片組驅(qū)動(dòng)源碼,根據(jù) 編譯環(huán)境及Linux內(nèi)核對(duì)驅(qū)動(dòng)源碼進(jìn)行編譯,即可生成該無(wú)線(xiàn)USB網(wǎng)卡的驅(qū)動(dòng)。具體步驟如下:

         ?、?下載驅(qū)動(dòng)源碼rtl8188c 8192c usb linux - v3.4.4- 4749.2.121105.tar.gz,并解壓。

         ?、?進(jìn)入到驅(qū)動(dòng)源碼包中,修改Makefile文件,指定編譯環(huán)境及Linux內(nèi)核:

          CONFIG_PLATFORM_NEW = y

          ifeq($(CONFIG_PLATFORM_NEW ),y)

          EXTRA_CFLAGS + = - DCONFIG_LLTTLE_ENDIAN

          ARCH :arm

          CROSS_COM PILE := arm-none-linux-gnueabi-

          KSRC=/home/linux-2.6.32-devkit8500

          endif

         ?、?make,生成該無(wú)線(xiàn)網(wǎng)卡的驅(qū)動(dòng)8192cu.ko。

          然后加載該驅(qū)動(dòng),再通過(guò)命令ifconfig wlan0 up,將無(wú)線(xiàn)網(wǎng)卡的網(wǎng)口wlan0掛載至Linux系統(tǒng)中,可通過(guò)ifconfig命令查看該網(wǎng)口的基本配置信息。

          3.2.2 AP模式轉(zhuǎn)換

          將無(wú)線(xiàn)網(wǎng)卡驅(qū)動(dòng)加載成功之后,該無(wú)線(xiàn)網(wǎng)卡的默認(rèn)工作模式為工作站模式,即作為客戶(hù)端搜索周?chē)臒o(wú)線(xiàn)接人點(diǎn),以接人到其他的無(wú)線(xiàn)局域網(wǎng)中,而3G/4G需要利用無(wú)線(xiàn)網(wǎng)卡的模式轉(zhuǎn)換工具h(yuǎn)ostapd將該網(wǎng)卡的工作模式由工作站模式切換為AP模式,也稱(chēng)接入點(diǎn)模式,并利用該模式建立一個(gè)無(wú)線(xiàn)局域網(wǎng)。hostapd在Linux系統(tǒng)中的移植過(guò)程如下:

         ?、?下載并解壓hostapd_0.8_rtw_20120803.zip。

         ?、?進(jìn)入主目錄,修改Makefile,指定交叉編譯器:

          CC = arm-none-linux-gnueabi-gcc

         ?、?make。

          生成hostapd、hostapd_cli,將這兩個(gè)二進(jìn)制文件和rtl_hostapd.conf復(fù)制到系統(tǒng)中。在rtl_hostapd.conf配置文件中,可以設(shè)置該無(wú)線(xiàn)網(wǎng)卡的服務(wù)集標(biāo)識(shí)(SSID)、支持的802.11協(xié)議版本、工作頻率、無(wú)線(xiàn)信道以及加密的方式等一系列該無(wú)線(xiàn)局域網(wǎng)的配置信息。通過(guò)執(zhí)行命令hostapd rtl_hostapd.conf-B,完成該無(wú)線(xiàn)網(wǎng)卡的工作模式的切換。

          3.2.3 DHCP配置

          在無(wú)線(xiàn)網(wǎng)卡的AP模式切換完成之后,需要通過(guò)DH-CP協(xié)議配置該無(wú)線(xiàn)局域網(wǎng)的動(dòng)態(tài)地址池及其網(wǎng)關(guān),該無(wú)線(xiàn)局域網(wǎng)會(huì)根據(jù)DHCP協(xié)議從配置的地址池中,自動(dòng)給接入到該無(wú)線(xiàn)局域網(wǎng)的智能終端等設(shè)備分配一個(gè)IP地址。其DHCP協(xié)議的配置文件dhcp.conf具體如下:

          start 192.168.0.20

          end 192.168.0.254

          interface wlan0

          opt dns 8.8.4.4

          opt subnet 255.255.255.0

          opt router 192.168.0.1

          opt lease 864000

          然后在Linux系統(tǒng)中執(zhí)行udhcp-fS dhcp.conf,啟動(dòng)DHCP協(xié)議。之后該無(wú)線(xiàn)網(wǎng)卡會(huì)建立一個(gè)無(wú)線(xiàn)局域網(wǎng),并給接入到此無(wú)線(xiàn)局域網(wǎng)中的智能終端等設(shè)備自動(dòng)分配一3.3 iptables連通

          在實(shí)現(xiàn)3G/4G 網(wǎng)絡(luò)的接人和無(wú)線(xiàn)局域網(wǎng)的組建之后,該采用Linux系統(tǒng)中的IP信息報(bào)過(guò)濾系統(tǒng),即iptables,將3G/4G網(wǎng)絡(luò)和組建好的無(wú)線(xiàn)局域網(wǎng)連通。iptables系統(tǒng)需要Linux系統(tǒng)內(nèi)核中的網(wǎng)絡(luò)數(shù)據(jù)包過(guò)濾框架的支持,需要重新配置內(nèi)核,選中內(nèi)核中Networking Support → Networking options → Network packet filtering framework,將其框架編譯進(jìn)Linux內(nèi)核,然后需要對(duì)iptables進(jìn)行移植,其移植過(guò)程如下:

         ?、?下載并解壓iptablesj.4.3.1.tar.gz。

         ?、?進(jìn)入主目錄,配置編譯選項(xiàng):

          . /configure-prefix=/usr/local/iptables--host = arm-none-linux-gnueabi--with-curnel=/home/SD_tools/linux-2.6.32-devkit85O0

         ?、?make并make install。

          將生成的iptahles二進(jìn)制執(zhí)行文件復(fù)制到Linux系統(tǒng)中,并編寫(xiě)iptables系統(tǒng)的運(yùn)行腳本文件net-share,該運(yùn)行腳本文件配置了IP數(shù)據(jù)包的流向、進(jìn)入網(wǎng)絡(luò)的接口等一系列規(guī)則,該路由器進(jìn)入3G/4G 網(wǎng)絡(luò)的接口為無(wú)線(xiàn)上網(wǎng)卡進(jìn)行撥號(hào)后產(chǎn)生的pppO網(wǎng)絡(luò)接口,其內(nèi)容如下:

          echo“1”> /pr0c/sys/net/ipv4/ip- forward

          iptables-F

          iptables-P INPUT ACCEPT

          iptables-P OUTPUT ACCEPT

          iptables-P FORW ARD ACCEPT

          iptables-t nat-A POSTROUTING -o ppp0-j MASQUERADE

          在Linux系統(tǒng)中執(zhí)行腳本文件。/net-share,即完成了無(wú)線(xiàn)局域網(wǎng)至3G/4G網(wǎng)絡(luò)的連通,從而實(shí)現(xiàn)了3G/4G路由器的設(shè)計(jì)。

          4 實(shí)驗(yàn)結(jié)果

          在嵌人式Linux系統(tǒng)中完成了3G/4G路由器的設(shè)計(jì)功能之后,利用智能終端等設(shè)備對(duì)該無(wú)線(xiàn)路由器進(jìn)行功能測(cè)試。該路由器的工作環(huán)境如圖5所示,分別使用該無(wú)線(xiàn)路由器上的無(wú)線(xiàn)上網(wǎng)卡接人到TD-SCDMA、WCDMA和TD-LTE實(shí)驗(yàn)網(wǎng)中,然后再使用智能終端等設(shè)備自帶的功能接人到該路由器所組建的無(wú)線(xiàn)局域網(wǎng)中。經(jīng)實(shí)際測(cè)試,在TD-SCDMA網(wǎng)中,單個(gè)智能終端設(shè)備的最高下行速率可以達(dá)到2.45 Mbps;在WCDMA網(wǎng)中,單個(gè)智能終端設(shè)備的最高下行速率可以達(dá)到7.02 Mbps;而在TD-LTE實(shí)驗(yàn)網(wǎng)中,單個(gè)智能終端設(shè)備的最高下行速率可以達(dá)到85.97 Mbps。

          結(jié)語(yǔ)

          本文基于系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)了3G/4G路由器,經(jīng)實(shí)際測(cè)試,該路由器工作穩(wěn)定,系統(tǒng)可靠性高,可以實(shí)現(xiàn)對(duì)3G/4G網(wǎng)絡(luò)帶寬的共享,而且隨著3G/4G技術(shù)的不斷發(fā)展,所提供的帶寬也會(huì)越來(lái)越大,因此該路由器必將有著廣闊的應(yīng)用市場(chǎng)。

        pid控制相關(guān)文章:pid控制原理


        linux相關(guān)文章:linux教程


        路由器相關(guān)文章:路由器工作原理


        路由器相關(guān)文章:路由器工作原理



        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: 嵌入式Linux 路由器 WiFi

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 梁平县| 雷州市| 保山市| 平乐县| 岚皋县| 洪江市| 宜君县| 延川县| 武宣县| 周口市| 正镶白旗| 固阳县| 崇信县| 大冶市| 玉环县| 苏尼特右旗| 肥城市| 昔阳县| 宾川县| 扎兰屯市| 新和县| 永吉县| 色达县| 定边县| 化德县| 海宁市| 西昌市| 澄江县| 霍城县| 工布江达县| 大姚县| 凌云县| 蓝山县| 蒙自县| 会同县| 临安市| 巴林右旗| 横山县| 夏津县| 河西区| 都江堰市|