一、我的mini2440開發板上使用的網卡設備為水星MERCURY54M無線USB網卡 MW54U ver:7.0,其內部芯片型號為ATHEROS的ar9271。mini2440的自帶linux系統裡面是沒有這個驅動程序的,但是在官網上usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz這個安裝包裡面是有ar9271這個驅動的。
所以首先就得,先把usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz這個壓縮包拷貝到mini2440的linux系統中,然後直接在根系統下面解壓縮,使用以下命令:
#tar -xzvf usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz -C /
然後到目錄 /lib/firmware/ 下面可以看到這個 ar9271.fw 和 rt73.bin 文件,使用 ls -l 命令可以看到它們不是一個可執行文件, 所以為了使用網卡,必須使用以下命令修改它們的可執行權限:
#chmod a+x ar9271.fw#chmod a+x rt73.bin
之後,可以參考 《基於mini2440上使用USB無線網卡的使用手冊》見http://www.linuxidc.com/Linux/2011-08/41916.htm。(下載usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz)。不過,我不知道怎麼回事,使用scan-wifi居然沒有搜索到我的無線路由器,後來我看到http://www.linuxidc.com/Linux/2011-03/33931.htm這篇帖子,就模仿其中的命令連接到了我的無線路由,不過由於我的無線路由的密碼使用的是ASCII五位字符加密,所以得把其中的 iwconfig wlan0 key 123456 改為 iwconfig wlan0 key s:xxxxx 最後才得以聯通我的無線路由。
二、至於我的USB攝像頭,插到mini2440上,顯示其驅動編號為1c4f:3002,可以被識別,使用開發板linux自帶的USB攝像頭軟件也可以直接查看到圖像,所以我算是省了查找USB攝像頭驅動這一個步驟。
現在兩個設備都已成功連接了,到了mini2440開發板自帶linux發揮作用的時候了,在其用戶光盤中有《通過網絡浏覽CMOS或USB攝像頭-20100405》這樣一個PDF文件,其中就說明了通過網頁浏覽mini2440攝像頭的說明,也就是說mini2440自帶linux裡面有一個Boa服務器,可以提供網頁監控攝像頭的功能。由於每個人的攝像頭都不一樣,所以各位就按照那個PDF文檔上面的說明自己去試驗吧。
本文相關的《筆記本電腦Ad-Hoc(點對點)模式組網方案》PDF與usb-wifi-kits-for-mini2440-linux-2.6.32.2-20100728.tar.gz下載在
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /pub/2011/08/31/使用USB無線網卡和USB攝像頭打造mini2440無線監控系統/
三、最後,還有一點要說明的是要想在無線下面通過網頁查看攝像頭,直接在PC機上輸入當前wlan0的IP地址再加上8080端口(例:http://192.168.0.230:8080),就可以看到一個名叫MJPG-Streamer的網頁,點擊Stream或是Javascript按鈕,就可以觀看到無線攝像頭裡面拍攝到的內容了。 至此,mini2440無線監控系統大功告成已!
四、補充說明:以上方法是在PC機的WINDOWS環境下,使用無線路由器搭建的wifi下進行的實驗。 下面介紹一下我使用Windows中搭建的wifi無線網絡打造的無線監控系統的設計方法:
(搭建方法,請大家自行搜索相關wifi共享軟件,我使用的是聯想筆記本配送的閃聯2.0,也可以不用安裝軟件,但稍稍麻煩點,可以參考一下《筆記本電腦Ad-Hoc(點對點)模式組網方案》PDF這篇文章,其中一個關鍵步驟就是:你得在分享wifi的主機的無線網絡屬性設置中將數據加密設置為禁用,因為經過我多次試驗證明,在Ad-hoc網絡中,mini2440開發板linux只要是連接了加密的網絡後,立刻會出現以Unable to handle kernel NULL pointer dereference at virtual address 00000008 ..............一大堆出錯信息,即使電腦顯示無線網絡已經連接,但是也ping不通開發板,更不用說打開mini2440的攝像頭監控網頁了,然後還得在“選擇無線網絡”這個網絡列表中,將這個剛剛設置好的網絡選中連接。最後才是對開發板一端進行設置,詳細的設置命令請看後面的文章)
至此,我的開發板usb無線網卡就可以連接到這個Ad-hoc無線網絡了。
五、 後來我又進入我在PC機Ubuntu/linux環境下,由Ubuntu構建了一個wifi熱點,搭建方法如下:ubuntu的wifi設置
1、點擊任務欄的網絡連接圖標,在彈出菜單中先“創建新的無線網絡。。。”
2、然後輸入任意的網絡名稱以及訪問密碼。
3、在菜單-》選項-》網絡連接-》-》無線-》(新創建的網絡名稱),點擊編輯,確認“方法”的下拉框為“與其他計算機共享”。
而mini2440開發板一方的設置,命令步驟如下所述:
復制代碼
- [root@ www.linuxidc.com /]# modprobe ath9k_htc
- cfg80211: Calling CRDA to update world regulatory domain
- usb 1-1.4: ath9k_htc: Transferred FW: ar9271.fw, size: 51280
- usb 1-1.4: ath9k_htc: HTC initialized with 33 credits
- cfg80211: Calling CRDA for country: CN
- Registered led device: ath9k-phy0::radio
- Registered led device: ath9k-phy0::assoc
- Registered led device: ath9k-phy0::tx
- Registered led device: ath9k-phy0::rx
- usb 1-1.4: ath9k_htc: USB layer initialized
- usbcore: registered new interface driver ath9k_hif_usb
- [root@ www.linuxidc.com /]# ifconfig wlan0 up
- [root@ www.linuxidc.com /]# iwlist wlan0 scan
- wlan0 Scan completed :
- Cell 01 - Address: 02:16:6F:46:B5:37
- Channel:1
- Frequency:2.412 GHz (Channel 1)
- Quality=28/70 Signal level=-82 dBm
- Encryption key:off
- ESSID:"UbuntuWIFI"
- Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
- Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
- 36 Mb/s; 48 Mb/s; 54 Mb/s
- Mode:Ad-Hoc
- Extra:tsf=0000000013353418
- Extra: Last beacon: 5730ms ago
- IE: Unknown: 000A5562756E747557494649
- IE: Unknown: 010482840B16
- IE: Unknown: 030101
- IE: Unknown: 06020000
- IE: Unknown: 2A0100
- IE: Unknown: 32080C1218243048606C
- [root@ www.linuxidc.com /]# ifconfig wlan0 down
- [root@ www.linuxidc.com /]# iwconfig wlan0 key off
- [root@ www.linuxidc.com /]# iwconfig wlan0 mode ad-hoc
- [root@ www.linuxidc.com /]# iwconfig wlan0 channel 1
- [root@ www.linuxidc.com /]# iwconfig wlan0 essid "UbuntuWIFI"
- [root@ www.linuxidc.com /]# ifconfig wlan0 192.168.0.222 netmask 255.255.255.0
- [root@ www.linuxidc.com /]# ping 10.42.43.1
- PING 10.42.43.1 (10.42.43.1): 56 data bytes
- 64 bytes from 10.42.43.1: seq=1 ttl=64 time=3.733 ms
- 64 bytes from 10.42.43.1: seq=2 ttl=64 time=3.585 ms
- 64 bytes from 10.42.43.1: seq=3 ttl=64 time=3.587 ms
- 64 bytes from 10.42.43.1: seq=4 ttl=64 time=4.598 ms
- ^C
- --- 10.42.43.1 ping statistics ---
- 5 packets transmitted, 4 packets received, 20% packet loss
- round-trip min/avg/max = 3.585/3.875/4.598 ms
- [root@ www.linuxidc.com /]# cd home/plg/mjpg-streamer/
- [root@ www.linuxidc.com mjpg-streamer]# ls
- LICENSE mjpg_streamer start_uvc.sh
- input_s3c2410.so output_file.so start_uvc_yuv.sh
- input_testpicture.so output_http.so www
- input_uvc.so start_s3c2410.sh
- [root@ www.linuxidc.com mjpg-streamer]# ./start_uvc.sh &
- [root@ www.linuxidc.com mjpg-streamer]# MJPG Streamer Version.: 2.0
- i: Using V4L2 device.: /dev/video0
- i: Desired Resolution: 640 x 480
- i: Frames Per Second.: 5
- i: Format............: MJPEG
- o: www-folder-path...: ./www/
- o: HTTP TCP port.....: 8080
- o: username:password.: disabled
- o: commands..........: enabled
- [root@ www.linuxidc.com mjpg-streamer]#
一切就緒後,在沒有無線路由器的情況下,也可觀看遠程USB攝像頭中的無線監控視頻了