A. 安卓手機上的wifi模塊是內建還是動態編譯到內核
linux 的內核編譯 1.編譯內核指的時通常的內核 2.應為內核可以將驅動和功能模塊動態的載入內核,所以在需要的時間把功能模塊
B. 非啟動頁面WiFi鏈接的編譯,求助
在想要對wifi硬體動作之前,需要做兩件事情,一是要load wifi的driver,而是要打開wpa_supplicant,其實如果是連接沒有加密的wifi,沒有必要打開wpa_supplicant,但是為了講問題化為熟知的問題,此處還是先按照提示調用wifi_load_driver()和wifi_start_supplicant()
按照上面的提示寫出來的初始化代碼如下:
int init_stage() {
// load the wifi driver: insmod .ko
int ret = wifi_load_driver();
if(ret < 0) {
LOGE("Failed to load Wi-Fi driver. %s",strerror(errno));
return -1;
}
// start wpa_supplicant
ret = wifi_start_supplicant();
if(ret < 0) {
LOGE("Failed to start supplicant daemon. %s",strerror(errno));
return -1;
}
return 0;
}
接下來,便是連接的過程了,經過上面的步驟,wifi的driver已經載入,wpa_supplicant也已經打開,那咱們就可以開始連接無線了吧。後來證實這是錯誤的,因為anly_jun的這篇android wifi分析的粒度只在java層面的函數級別,因此有一些細節並沒有提到。在下面我會提到這些細節。
按照一般的linux中連接wifi的步驟,這時候就可以直接調用一個程序來連接某個ssid的無線網路,然後調用dhcpd來分配ip了,我之前在eeepc上連接wifi就非常簡單,調用iwconfig [ssid],再調用dhcpd就可以了。但很遺憾,Android上並沒有iwconfig這樣方便的工具。
這下線索似乎就斷了,天無絕人之路,既然在Android的Java code中都可以添加一個無線網路並且連接,那我們就去Android的Java源代碼中找一找。在Android中,程序員是使用WifiManager這個類來進行Wifi操作的,其中關於添加一個網路的代碼如下:
public int addNetwork(WifiConfiguration config) {
if (config == null) {
return -1;
}
config.networkId = -1;
return addOrUpdateNetwork(config);
}
private int addOrUpdateNetwork(WifiConfiguration config) {
try {
return mService.addOrUpdateNetwork(config);
} catch (RemoteException e) {
return -1;
}
}
C. 如何編譯openwrt,無線默認打開和修
Openwrt無線開啟,需要在編譯前修改源碼,更詳細的請去恩山論壇用搜索功能:
atheros的網卡需要改package/kernel/mac80211/files/lib/wifi/mac80211.sh
拉到最下有個蛋疼的
$ht_capab
option disabled 1 改為 0 即可
option txpower 10
option htmode HT40-
option noscan 1
config wifi-iface
option ssid 你的ssid
option encryption psk2+ccmp
option key 你的無線密碼
D. 如何編譯無線網卡kmod驅動mt7601u for 小米wifi/小度wifi/360wifi
大家應該都已經安過隨身wifi的客戶端了,下面以小度wifi為例,打開控制面板,win+R鍵,然後輸入control,回車
點擊【程序】下面的【卸載程序】
找到【小度wifi】,右鍵,點擊【卸載/更改】
卸載完成後打開設備管理器,win+R鍵,然後輸入devmgmt.msc,回車
找到802.11n USB無線網卡驅動,如下圖,你如果沒有連接其他USB網卡,那就是這個
右鍵,點擊【卸載】
卸載完成後,把小度wifi拔掉,然後重新插上,系統就會自動搜索驅動並安裝,如果沒有搜索,就打開驅動精靈之類的軟體安裝所需的驅動即可
現在就能把小度wifi當普通無線網卡用了~~搜到的信號還可以嗯~
E. 自編譯內核後的WIFI和藍牙不能用!!!求助各位了···
我是在華為官網下的android 4.0系統源碼:華為Ascend G300開源代碼(U8818,IcecreamSandwich,kernel-3.0.8),呃,沒許可權發URL,見諒。重新編譯內核時我只是修改了一些內核配置選項,這樣是不是有問題?
F. 華碩的rt-n14u的源碼編譯出來的固件wifi怎麼不能用搜不到SSID
是不是有中文名字
G. 怎樣將android wifi編譯成驅動模塊
修改 init.rc:很多文章都有描述,但還是有些說明不清的地方,我先列出增加項,然後作些說明。
增加: mkdir /system/etc/wifi 0771 wifi wifi
chmod 0771 /system/etc/wifi
chmod 0660 /system/etc/wifi/wpa_supplicant.conf
chown wifi wifi /system/etc/wifi/wpa_supplicant.conf #wifi的原始配置文件
# wpa_supplicant socket
mkdir /data/system/wpa_supplicant 0771 wifi wifi
chmod 0771 /data/system/wpa_supplicant #放置wifi interface的地方
mkdir /data/misc/wifi 0771 wifi wifi
chmod 0771 /data/misc/wifi
chmod 0660 /data/misc/wifi/wpa_supplicant.conf #wifi的配置文件,將由wpa_supplicant根據實際配置寫入該文件
mkdir /data/misc/wifi/sockets 0777 wifi wifi #與上層通過socket通信的路徑
# Prepare for wifi
setprop wifi.interface ra0 #intreface名稱設置,這在framework/base/wifi/java/android/net/wifi /WifiStateTracker.java中會用到,以處理dhcp。rt2070用ra0,而vt6656使用eth1。
這里0771對 目錄許可權的處理是為了所有用戶能對下一級進行搜索,而紅字特別提醒的許可權配置,是因為/data/misc/wifi/sockets目錄不僅為wifi擁有者服務,還因為通信的原因要和其他用戶聯系,要不然,將會出現Unable to open connection to supplicant on "/data/system/wpa_supplicant/ra0": Connection refused,或permission denied的錯誤。很多人乾脆將上述所有的許可權都設為0777,當然也行,但總覺得有些粗糙。
service的修改:
service wpa_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant /
-Dwext -ira0 -c/data/misc/wifi/wpa_supplicant.conf #也可以用/system/etc/wifi/wpa_supplicant.conf代替
user root
group system wifi inet
# socket wpa_wlan0 dgram 660 wifi wifi #屏蔽該項是因為這項是用於UDP連接的
disable
oneshot
service dhcpcd /system/bin/logwrapper /system/bin/dhcpcd -d -B ra0
group system dhcp wifi
disabled
oneshot
H. 怎樣反編譯wifi萬能鑰匙源碼
破解IFI密碼
事實總是殘酷的,不過只能告訴你真相。
1、以現有的技術手段,是沒有辦法破解WPA的加密方式(現在基本上全部WIFI的加密方式),WPA的加密方式安全性很高,根本就破不了。
2、即使破解密碼,人家也有可能設置了MAC地址過濾,你還是上不去。
3、網上的所謂破解密碼軟體,全部都是騙人的,要麼浪費你的流量,要麼根本就是木馬,要小心下載使用。
4、可以下個WIFI萬能鑰匙,但那個軟體只是能上別人分享過的熱點,如果熱點沒被分享過,根本就上不了。
5、也可破解些簡單的數字密碼。比如12345678之類的密碼。
I. openwrt sbin/wifi 是哪些源文件編譯而來的
1. make menuconfig
這次openwrt升級後, 編譯完刷上固件,openwrt會自動進入failsafe模式。怎麼編譯都不行。 後來發現, 新的固件裡面選擇了 Kernel Moles\Other moles\kmod-button-hotplug 模組。這個模組在啟動的時候,觸發了"f"或者「enter」按鍵,所以在啟動的過程中就自動進入了failsafe模式。取消選擇後,一切正常。
2. 不要整個LUCI, 只是要Luci rpc模塊的話, Luci\Collection\Luci不要選擇。 則整個web界面都不會被安裝。只有rpc的功能會存在。
2. Openwrt默認不開啟wifi,要開啟的話, 修改這個文件: openwrt/trunk/package/kernel/mac80211/files/lib/wifi/mac80211.sh. 滾到文件最後, 注釋掉
# REMOVE THIS LINE TO ENABLE WIFI:
#option disabled 1
3. openwrt默認開機啟動ssh的方法
http://www.2cto.com/os/201304/204073.html
2.1 Openwrt下的路徑:package/network/services/dropbear/files/dropbear.config
[openwrt@root files]$ vim dropbear.config
1config dropbear
2 option PasswordAuth 'on'
3 option RootPasswordAuth 'on'
4 option Port '22'
5 option Interface 'lan'
6# option BannerFile '/etc/banner'
openwrt/trunk/package/base-files/files/etc/shadow
root:$1$uml/DyCk$QHYqbMVYwxtE4Tk.SVifM.:15838:0:99999:7:::
密碼:123456
4. Luci 的文件拷貝到
rpc.lua 拷貝到 openwrt/trunk/feeds/luci/moles/rpc/luasrc/controller
openwrt/trunk/feeds/luci/libs/web/luasrc
J. 如何編譯wifidog
給個WIFIDOG協議說明你研究一下