Linux 802.11n csi tool的安裝注意事項
本人採用的是old installation instruction的方法,將對http://dhalperi.github.io/Linux-80211n-csitool/old_installation.html 中的內容逐一進行說明。
首先網站中提供的是Ubuntu 10.04 server-i386版的安裝,為了使用方便,我安裝Ubuntu10.04 desktop-i386版,效果一樣。同時利用wubi安裝的方法(百度搜索wubi安裝Ubuntu,很簡單),安裝Ubuntu。
預備:Vim工具在desktop下沒有,需要使用指令sudo apt-get install vim安裝。
下面開始csitool的安裝:
按照流程一步步來,需要注意的有:
1.Download, configure, compile, and install our custom Linux kernel部分
這一部分下載需要很長時間,用外網就直接是下面指令;若用校園網,則要將Git://...改為https://...
git clone -b csitool-stable git://github.com/dhalperi/linux-80211n-csitool.git
git clone git://github.com/dhalperi/linux-80211n-csitool-supplementary.git
至於V1和V2選擇V1即可,make menuconfig中不用再新增選項,預設配置即可,然後直接exit
sudo mkinitramfs -o /boot/initrd.img-`cat include/config/kernel.release` \
`cat include/config/kernel.release`# create ramdisk used to boot
關於這一部分,先在視窗輸入cat include/config/kernel.release(注意是在 linux-80211n-csitool目錄下)獲取版本號,一般為3.5.7-csitool+。將上述指令改為:sudo mkinitramfs -o /boot/initrd.img-3.5.7-csitool+ 3.5.7-csitool+ (注意空格)即可。後續的指令中均要將‘cat include/config/kernel.release’改為3.5.7-csitool+
Linux核定制完成後重啟,在開機介面會出現新增加的Linux核,以後就從該核進入。
注意,安裝完畢核心以及更換驅動程式後,預設情況下wifi禁止。此時,要開啟blacklist.conf檔案,將iwlwifi從黑名單裡去掉。以後開機就可以連線WiFi了,但僅限於無密碼的WiFi。
2. Install our custom firmware部分
sudo mv /lib/firmware/iwlwifi-5000-5.ucode /lib/firmware/iwlwifi-5000-5.ucode.orig 有筆誤,將iwlwifi-5000-5全改為iwlwifi-5000-2.
3.Download and compile hostap部分
git clone git://w1.fi/srv/git/hostap-07.git 只能用外網下載(git://...)的方式,用校園網下載不了。
注意cp <hostap-dotconfig> .config中 <hostap-dotconfig> 是linux-80211n-csitool-supplementary/hostap-config-files/目錄下的,要不然無法識別對應的檔案。(下面的同理)
4.Let's try it out!部分
測試hostap時:
sudo iwlist scanning 是掃描ap,視窗中會出現可以掃描到的無線網路。
sudo ~/hostap-07/hostapd/hostapd ~/hostap-07/hostapd/hostapd.conf 是啟動hostap,此時本機電腦作為ap(相當於路由器的功能)。此時無線網路若還處於連線狀態就會出錯:
所以執行該命令前必須將無線網路連線斷開,此時作為路由功能開啟(出現結果):
using interface wlan0 with hwaddr 00:21:6a:35:4f:00 and ssid 'csitool-test'
wlan0:STA 38:bc:1a:0d:69:9f IEEE 802.11:authenticated
wlan0:STA 38:bc:1a:0d:69:9f IEEE 802.11:associated(aid 1)
手機可以連上‘csitool-test’的網路,狀態一直是正在獲取ip
採集csi資料部分(關閉本機電腦作為路由的功能,保證連無線網的功能即可,用另一臺電腦開啟hostapd作為ap):
sudo rmmod iwlwifi mac80211 cfg80211 # remove the modules
sudo modprobe iwlwifi connector_log=0x1 #load the modules and set userspace beamforming logging
<first,associate and set up IP to an AP that will send you HT packets> #需要用另外一臺電腦作為ap並設定好IP地址,當前電腦連上那個ap
cd ~/linux-80211n-csitool-supplementary/netlink
sudo ./log_to_file tmp.dat #當前電腦相當於dp(探測點),log_to_file tmp.dat可以記錄csi的值
再開啟另一個終端(命令列視窗)ping <AP IP address>,ping所連ap的ip地址,ping多次過後便會有csi資料
後續是匯出csi資料,用MATLAB工具的部分。參見:http://dhalperi.github.io/linux-80211n-csitool/faq.html
2015年8月4日更新:
由於本人完成畢設任務後沒有繼續深入研究,後續的一些問題可能不能給予解決。現提供一種簡易的安裝思路,參見 http://tns.thss.tsinghua.edu.cn/wifiradar/ 中軟體工具部分,這是清華大學的團隊根據CSI Tool安裝步驟整合起來的安裝環境,簡化了步驟提高了安裝的成功率
參考:http://blog.csdn.net/sodleave/article/details/44219291