日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

开发版linux随身wifi,让linux下无线网卡变身随身wifi

發布時間:2024/3/13 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开发版linux随身wifi,让linux下无线网卡变身随身wifi 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最痛苦的事莫過于--上班

最最痛苦的事莫過于--上班有網不能上

最最最痛苦的事莫過于--上班有網能上卻沒有wifi

最最最最痛苦的事莫過于--你有無線網卡卻沒有U口可插

最最最最最痛苦的事莫過于--有U口插卻發現U口只在開發板上

最最最最最最痛苦的事莫過于--開發板上有u口但是跑的是linux

最最最最最最最痛苦的事莫過于--linux能驅動網卡,但是如何共享出wifi來啊

于是,,,,為了不讓以上這些人繼續痛苦,我嘗試著解救一下他們!!!!!阿彌陀佛,保佑成功!!

準備:

當我發現自己有一個s5pv210開發板,有一個ralink 150M的無線網卡(辦公柜里面找到的的應該是N多年前前輩留下的),然后,還有人一個

本以為很快就可以解決這個問題,沒有想到,弄了我整整2天2夜(有了這個

iw ; openssl ; libnl; ?hostapd ; iptables ; ?udhcpd

還有內核支持配置(為了確保上面的東西能用,后面移植的時候會介紹到),沒有linux內核源碼的,慎重,喝喝。

動一次打一次,動一次打一次,地刺大慈,東磁大慈,悠悠豈可鬧,let's go

第一步、檢查你的網線網卡擁有夠成為熱點的能力

你是猴子請來的救兵嗎?不是,我是iw

iw命令可以檢測出你的網卡是否具有熱點功能,但是iw沒有在linux系統中自帶,所以我們需要移植它

1、下載

到處找源碼,最后在GIT中找到了

都說這里有,現在這個路徑已經沒有資源了http://linuxwireless.org/download/iw/iw-3.7.tar.bz2

可以在GIT中可以找到iw的源碼

http://git.sipsolutions.net/iw.git/

通過GIT工具即可下載IW源碼 (GIT工具的使用這里就不介紹了)

apt-get install git

完成下載后得到iw目錄

觀看REDEME發現需要依賴另外一個庫 libnl

http://www.infradead.org/~tgr/libnl/

這里可以下載,當時下載的最新版本3.2,結果出現了問題(后面會提到),可以下載1.1版本就行了

解壓libnl并編譯

tar zxvf libnl-3.2.24.tar.gz

./configure --prefix=/絕對路徑 CC=arm-linux-gcc --host=arm

make

make install

生成的庫將在上面指定的 /絕對路徑 中出現 ,待會用于連接

2、編譯iw

需要配置環境變量,因為前面的庫在編譯的時候需要連接

例如: export PKG_CONFIG_PATH=絕對路徑/lib/pkgconfig:$PKG_CONFIG_PATH

在iw解壓好的目錄下執行下面兩條命令(注意export的路徑要和你生成libnl庫的路徑一致)

export PKG_CONFIG_PATH=/home/edu/share/wifi/iw/nlinstall/lib/pkgconfig:$PKG_CONFIG_PATH

make CC=arm-linux-gcc

不需要make install的不出問題就完成事情了

如果編譯不過 可以用root用戶編譯

通常是不會有問題的,但是我的出問題了

錯誤

CC info.o

info.c: In function 'print_phy_handler':

info.c:499: error: implicit declaration of function 'htole16'

make: *** [info.o] 錯誤 1

根據提示找到函數,發現我的系統中沒有 htole16這個函數,我的libnl版本太高了,學過網絡的知道這是大小端轉換函數,直接使用thos()代替了里面的兩個函數就可以了,當然也可以使用低版本對應的nl庫(這個沒有嘗試)

3、將編譯生成的iw文件,拷貝到開發板中就可以檢查網卡是否支持熱點了

./iw list (注意中間是空格)

如果提示找不到庫,記得把libnl生成的庫拷貝到開發板中/lib中來 記得加上cp -a參數

找到 對于網卡的模式提示

Supported interface modes:

* IBSS

* managed

* AP

* AP/VLAN

* WDS

* monitor

* mesh point

如果發現里面有AP選項,那么咱們進行下一步,如果沒有,那么感覺淘一個吧,也就是運費的錢(小度的不要的干活,咱們沒有驅動)!

發現有AP選項的,哈哈,恭喜可以進行wifi熱點共享了,咱們下一步走

有了前面的檢測,確定了我們的網卡是能夠擁有熱點共享功能的,但是如何讓它共享出來呢?

于是有了這篇

hostapd ? ?可以讓我們的網線網卡變成熱點

1、下載

git clone git://w1.fi/srv/git/hostap.git

得到hostap目錄,但是里面wpa_supplicant and hostapd的結合在一起,我們這里只需要hostapd

所以進入hostap/hostapd目錄下編譯

發現它依賴另外兩個庫,一個是前面移植過的libnl,還有一個是openssl

libnl移植過了就不需要移植了,這里移植一下openssl

移植文檔:http://www.voidcn.com/article/p-heqxcivr-rm.html

2、移植hostapd

cp defconfig .config

vi .config

修改如下:

修改Makefile?指定編譯器為arm-linux-gcc?指定ssl和libnl頭文件的路徑

修改CC=arm-linux-gcc 并且添加四句話

注意,這里的路徑一點是要你移植的ssl庫和libnl庫對應的路徑

如此,編譯make

便可以得到hostapd 拷貝至開發板,運行hostapd?–v

如果提示找不到庫,記得把libnl生成的庫拷貝到開發板中/lib中來?記得加上cp -a參數

# ./hostapd -v

正確:

hostapd v2.2-devel

User space daemon for IEEE 802.11 AP management,

IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator

Copyright (c) 2002-2014, Jouni Malinen and contributors

可能出現的問題:

a、Can't open RFKILL control device: No such file or directory

呵呵,得配置內核了,要是沒有內核源碼那就麻煩了,嘿嘿

配置內核

--- Networking support │ │

│ │ Networking options ---> │ │

│ │ [ ] Amateur Radio support ---> │ │

│ │ < > CAN bus subsystem support ---> │ │

│ │ < > IrDA (infrared) subsystem support ---> │ │

│ │ < > Bluetooth subsystem support ---> │ │

│ │ -*- Wireless ---> │ │

│ │ < > WiMAX Wireless Broadband support ---> │ │

│ │ RF switch subsystem support --->!!這需要選擇!!!

b、ioctl(SIOCGIFBR) failed: Package not installed

這回是橋接網絡的問題,同樣得配置內核

--- Networking support │ │

│ │ Networking options ---> │ │

---》 802.1d Ethernet Bridging!!選擇就行了!!

配置好后編譯內核,下載到開發班,再次運行hostapd沒有問題了

那么到這里證明hostapd編譯好了,但是使用它的時候還得添加一個配置文檔

3、配置文檔

其實hostapd最關鍵的就是配置文檔了,所以得東西都在里面

文檔位置,在我們/hostap/hostapd目錄下,也就是編譯好的hostapd目錄,有一個文件hostapd.conf

沒錯,就是他,那么我們得修改一些東西

不過你不要自己去弄了,我弄一個配好的,你只需要修改

interface=wlan0//你無線網卡的設備名

wpa_passphrase=123456789 //密碼

把命令和配置文檔放一起,然后

#./hostapd hostapd.conf

搞定,這個時候你應該可以搜索到test熱點了 這個熱點的名字你也可以再配置文檔中修改的

你用手機連接了,可以輸入密碼132456789進行連接,連接上了,但是提示獲取IP失敗

喝喝,你懂得,DHCP開始上場了

總結

以上是生活随笔為你收集整理的开发版linux随身wifi,让linux下无线网卡变身随身wifi的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。