新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式Linux系統的3G/4G路由器設計

        基于嵌入式Linux系統的3G/4G路由器設計

        作者: 時間:2016-09-12 來源:網絡 收藏

        首先需要將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二進制執行文件拷人中,并修改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可以查看到生成4個虛擬USB轉串口設備,即ttyUSB0,ttyUSB1,ttyUSB2和ttyUSB3,可以通過這幾個串口進行PPP撥號,使得3G/4G可以接至TD-SCDMA、WCDMA以及TD-LTE實驗網中。

        3.2 無線局域網的組建

        該無線利用無線網卡在嵌入式中組建一個小型的無線局域網,一方面提供給智能終端等設備接入,另一方面將無線局域網接入至3G/4G 網絡。其基本流程如圖4所示。

        無線局域網組建流程圖

        圖4 無線局域網組建流程圖

        3.2.1 無線網卡驅動加載

        TL-WN821N 型無線網卡采用的WLAN芯片組為Realtek公司的提供的RTI 8192cu芯片,Realtek公司提供了基于Linux系統的該芯片組驅動源碼,根據 編譯環境及Linux內核對驅動源碼進行編譯,即可生成該無線USB網卡的驅動。具體步驟如下:

        ① 下載驅動源碼rtl8188c 8192c usb linux - v3.4.4- 4749.2.121105.tar.gz,并解壓。

        ② 進入到驅動源碼包中,修改Makefile文件,指定編譯環境及Linux內核:

        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,生成該無線網卡的驅動8192cu.ko。

        然后加載該驅動,再通過命令ifconfig wlan0 up,將無線網卡的網口wlan0掛載至Linux系統中,可通過ifconfig命令查看該網口的基本配置信息。

        3.2.2 AP模式轉換

        將無線網卡驅動加載成功之后,該無線網卡的默認工作模式為工作站模式,即作為客戶端搜索周圍的無線接人點,以接人到其他的無線局域網中,而 3G/4G需要利用無線網卡的模式轉換工具hostapd將該網卡的工作模式由工作站模式切換為AP模式,也稱接入點模式,并利用該模式建立一個無線局域網。hostapd在Linux系統中的移植過程如下:

        ① 下載并解壓hostapd_0.8_rtw_20120803.zip。

        ② 進入主目錄,修改Makefile,指定交叉編譯器:

        CC = arm-none-linux-gnueabi-gcc

        ③ make。

        生成hostapd、hostapd_cli,將這兩個二進制文件和rtl_hostapd.conf復制到嵌入式Linux系統中。在 rtl_hostapd.conf配置文件中,可以設置該無線網卡的服務集標識(SSID)、支持的802.11協議版本、工作頻率、無線信道以及加密的方式等一系列該無線局域網的配置信息。通過執行命令hostapd rtl_hostapd.conf-B,完成該無線網卡的工作模式的切換。

        3.2.3 DHCP配置

        在無線網卡的AP模式切換完成之后,需要通過DH-CP協議配置該無線局域網的動態地址池及其網關,該無線局域網會根據DHCP協議從配置的地址池中,自動給接入到該無線局域網的智能終端等設備分配一個IP地址。其DHCP協議的配置文件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系統中執行udhcp-fS dhcp.conf,啟動DHCP協議。之后該無線網卡會建立一個無線局域網,并給接入到此無線局域網中的智能終端等設備自動分配一3.3 iptables連通

        在實現3G/4G 網絡的接人和無線局域網的組建之后,該路由器采用Linux系統中的IP信息報過濾系統,即iptables,將3G/4G網絡和組建好的無線局域網連通。iptables系統需要Linux系統內核中的網絡數據包過濾框架的支持,需要重新配置內核,選中內核中Networking Support → Networking options → Network packet filtering framework,將其框架編譯進Linux內核,然后需要對iptables進行移植,其移植過程如下:

        ① 下載并解壓iptablesj.4.3.1.tar.gz。

        ② 進入主目錄,配置編譯選項:

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

        ③ make并make install。

        將生成的iptahles二進制執行文件復制到Linux系統中,并編寫iptables系統的運行腳本文件net-share,該運行腳本文件配置了IP數據包的流向、進入網絡的接口等一系列規則,該路由器進入3G/4G 網絡的接口為無線上網卡進行撥號后產生的pppO網絡接口,其內容如下:

        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系統

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长白| 青阳县| 招远市| 聊城市| 建湖县| 巴塘县| 准格尔旗| 富阳市| 眉山市| 双流县| 上饶市| 舒城县| 齐齐哈尔市| 渑池县| 岢岚县| 浪卡子县| 那坡县| 承德市| 来凤县| 壶关县| 新郑市| 西贡区| 肇州县| 萨迦县| 金湖县| 光泽县| 江陵县| 河源市| 东乌| 盐城市| 龙南县| 黔江区| 宁晋县| 漳州市| 上高县| 阿尔山市| 禹州市| 靖江市| 时尚| 梅州市| 应城市|