<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于A(yíng)RM的Ad Hoc網(wǎng)絡(luò )平臺的實(shí)現

基于A(yíng)RM的Ad Hoc網(wǎng)絡(luò )平臺的實(shí)現

作者: 時(shí)間:2011-08-29 來(lái)源:網(wǎng)絡(luò ) 收藏
無(wú)線(xiàn)網(wǎng)卡驅動(dòng)的移植

本文引用地址:http://dyxdggzs.com/article/155828.htm

  本文使用華碩USB無(wú)線(xiàn)網(wǎng)卡WL-167g,其網(wǎng)卡驅動(dòng)是rt73。

  移植步驟如下:

  a、下載RT73_Linux_STA_Drv1.0.4.0.tar.gz,解壓后生成Module和WPA_Supplicant兩個(gè)目錄,將目錄Module中的所有文件都拷貝到內核源碼包drivers/usb/net/rt73下,修改Makefile如下編譯選項:

  KDIR := path/linux-2.6.18

  path為內核源碼包所在路徑。

  b、由于要在內核源碼包里進(jìn)行交叉編譯,所以修改linux-2.6.18 /drivers/usb/net/Kconfig,加入以下內容:

  config RT73

  tristate“support for rt73 wireless usb device”

  depends on USB NET USB_USBNET

  c、修改drivers/usb/net/Makefile,加入rt73的編譯項:

  obj-$(CONFIG_RT73)+= rt73

  d、對內核重新進(jìn)行配置,

  將配置界面中新增的“support for rt73 wireless usb device”選為模塊。

  e、make modules

  在drivers/usb/net/rt73目錄下生成rt73.ko驅動(dòng)文件,將rt73.ko放到根文件系統中,再燒寫(xiě)到板上無(wú)線(xiàn)網(wǎng)卡即可正常工作。

  f、無(wú)線(xiàn)網(wǎng)卡的配置

  無(wú)線(xiàn)網(wǎng)卡有managed、-hoc兩種模式。managed模式稱(chēng)為基礎設施模式,又稱(chēng)接入點(diǎn)模式;-hoc模式稱(chēng)為點(diǎn)對點(diǎn)模式或無(wú)中心模式,用來(lái)在無(wú)線(xiàn)網(wǎng)卡之間進(jìn)行一跳通信。 網(wǎng)絡(luò )就是在A(yíng)d-hoc模式基礎上通過(guò)網(wǎng)絡(luò )協(xié)議使得該網(wǎng)絡(luò )支持多跳通信,因此該模式的使用和性能對Ad 網(wǎng)絡(luò )的影響至關(guān)重要,以下是Ad-hoc模式配置方法,rausb0表示無(wú)線(xiàn)網(wǎng)卡:

  1)、ifconfig rausb0 10.0.1.1 up

  設置節點(diǎn)IP為10.0.1.1。

  2)、iwpriv rausb0 set AdhocOfdm=2

  設置rausb0為11g only模式,即54M速率模式,這是802.11g所能支持的最高速率。

  3)、iwconfig rausb0 channel 3

  設置信道為3。

  4)、iwconfig rausb0 mode ad-hoc essid bcnl

  設置網(wǎng)卡模式為ad-hoc,essid為“bcnl”。

  上述配置過(guò)程中使用的“iw”開(kāi)頭的命令都是無(wú)線(xiàn)工具集中的命令,其源碼包是wireless_tools.29.tar.gz,經(jīng)過(guò)交叉編譯后即可使用。

  AODV路由協(xié)議的移植

  本文使用的代碼是aodv-uu-0.9.5.tar.gz。AODV分為兩個(gè)部分,一個(gè)是內核態(tài)模塊kaodv.ko,一個(gè)是用戶(hù)態(tài)模塊aodvd。AODV主要部分工作在用戶(hù)態(tài),用于維護內核路由表。

  AODV需要內核支持,在內核配置時(shí)要選上netfilter選項。先編譯內核態(tài)模塊kaodv.ko,步驟如下:

  a、將aodv-uu-0.9.5/lnx目錄的內容拷到內核源碼包linux-2.6.18/net/ipv4/kaodv目錄下,修改linux-2.6.18/net/ipv4/Kconfig,添加如下內容:

  config KAODV_UU

  tristate support for aodv-uu adhoc routing protocol

  b、在linux-2.6.18/net/ipv4/Makefile末尾添加如下的編譯選項:

  obj-$(CONFIG_KAODV_UU) += kaodv/

  c、make menuconfig,找到如下的目錄項:

  Networking --->

  [*] Networking support Networking options --->

  support for aodv-uu adhoc routing protocol選為模塊編譯。

  d、make modules將生成kaodv.ko。以下介紹用戶(hù)態(tài)aodvd編譯:

  將aodv-uu-0.9.5/Makefile做適當修改,使其在交叉編譯的環(huán)境下只編譯用戶(hù)態(tài)部分。

  將得到的kaodv.ko和aodvd拷貝到根文件系統中,再燒寫(xiě)到板上。

  insmod kaodv.ko

  ./ aodvd

  這樣aodv協(xié)議就運行起來(lái)了。在協(xié)議移植中有兩點(diǎn)需要注意:一是Makefile中_CCFLAGS=-mbig-endian應該注釋掉,否則運行時(shí)會(huì )產(chǎn)生大小端混亂的問(wèn)題;二是將kaodv.ko和aodvd分開(kāi)編譯,因為同時(shí)編譯時(shí)總是提示編譯器缺少文件,甚至用其他交叉編譯器依然不能解決問(wèn)題,而這些錯誤大多是編譯內核模塊產(chǎn)生的。



評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>