使用WIFI準備工做及配置內核——韋東山

主要作的工做:讓內核如何支持現有的無線網卡。知道這個流程就能夠了,不必深究。html

使用WIFI功能時,涉及兩個東西:linux

 

 

 一樣手機也能夠用於WIFI AP模式,讓別的設備來鏈接它。就是咱們平時所說的用手機開一個熱點。windows

從這裏能夠看出,同一個WIFI網卡,它能夠工做於不一樣的模式。網絡

對於ARM板而言,外接一個wifi網卡,它就能夠工做於STA模式,能夠去鏈接熱點。less

一樣它能夠工做與AP模式,讓其餘設備來鏈接它。spa

 

 

1. 準備工做(虛擬機,開發板)及配置內核選擇WIFI驅動htm

1.1 選型:肯定網卡的VID,PID是否在列表裏:http://wireless.kernel.org/en/users/Devices/USB
選購WIFI:
Atheros : VID 0x13D3 PID 0x3327 (成品型號 AR9271)
realtek : VID 0x0bda PID 0x8176 (成品型號TP-LINK公司TL-WN721N)blog

1.2 搭建開發環境
首先要看一下,電腦和開發板是如何鏈接的?
開發板和電腦有3種鏈接方式。
1). 直連
這種方法很是簡單,可是使用起來很是不方便。
當開發板上使用的是uboot的時候,電腦上的網卡就會顯示爲斷開,就致使linux和windows之間不能傳文件。
2).用hub/路由器
3).有些電腦沒有有線網卡,它只有無線網卡,此時就須要用到一個無線路由器。ip

 

 

 

開發板上面會接一個wifi網卡,開發板自己有有線網卡。AP會給wifi網卡分配IP地址,假設是
192.168.1.xxx。那麼開發板上的有線網卡應該使用另外一個網段,如192.168.7.xxx。路由

總結搭建開發環境:

a.設置VMWARE的網絡爲橋接,並選擇使用哪個網卡
b. 把PC windows網卡,vmware linux的網卡、開發板的有線網卡IP設爲192.168.7.xxx(舉個例子而已),開發板上USB WIFI網卡將使用192.168.1.xxx.

1.3 配置內核以支持USB WIFI網卡
a. 打補丁
tar xjf linux-3.4.2.tar.bz2
cd linux-3.4.2
patch -p1 < ../linux-3.4.2_camera_mini2440.patch
cp config_ok .config
b. 配置內核
根據網卡的VID/PID肯定使用哪個源碼。打開源碼所在目錄的Makefile進而肯定配置項的名稱。
make menuconfig , 搜索 /名字
cd drivers/net/wireless/
grep "0x3327" * -nR

ath/ath9k/hif_usb.c:32: { USB_DEVICE(0x13D3, 0x3327) },

將ath/ath9k下面的Makefile打開,能夠看到

ath9k_htc-y += htc_hst.o \
hif_usb.o

obj-$(CONFIG_ATH9K_HTC) += ath9k_htc.o

能夠知道配置項是CONFIG_ATH9K_HTC

到目錄linux-3.4.2中,make menuconfig, /CONFIG_ATH9K_HTC 獲得下面信息

 

 

make uImage

配置內核、編譯內核以及使用瞭解便可,這個地方不重要。

 

另外一款網卡:
cd drivers/net/wireless/
grep "0x8176" * -nR
rtlwifi/rtl8192cu/sw.c:273: {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8176, rtl92cu_hal_cfg)},
打開rtlwifi/rtl8192cu/Makefile肯定配置項爲 CONFIG_RTL8192CU
make menuconfig, /CONFIG_RTL8192CU

 

 make uImage

uboot:
set bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.7.124:/work/nfs_root/fs_mini_mdev_new ip=192.168.7.17
set bootcmd 'nfs 32000000 192.168.7.124:/work/nfs_root/uImage_mini2440_wifi; bootm 32000000'
save
boot

c. 編譯、使用
c.1 把固件htc_9271.fw放到單板/lib/firmware
接上USB網卡, ifconfig wlan0 up

c.2 對於"realtek : VID 0x0bda PID 0x8176 (成品型號TP-LINK公司TL-WN721N)"
修改bug:
http://lkml.indiana.edu/hypermail/linux/kernel/1301.2/00465.html
make uImage

相關文章
相關標籤/搜索