Android系統wifi之p2p(wifi直連)配置檔案許可權導致應用不能使用wifi問題
這個平臺的wifip2p也就是wifi Direct(wifi直連)其實是走的hostap功能。
一、問題描述
1.設定-》網路-》無線網路-》,開啟wifi開關。
2.在開啟無線直連,修改密碼以後。
3.不用進入“無線互聯”應用,就會出現描述現象;另外,步驟2中如果不修改密碼、則不出現"設定-》網路-》無線網路,wifi開關無效"。
4.這種情況出現以後“設定-》網路-》無線網路,wifi開關無效”。
其實為wifip2p設定密碼以後Settings應用死掉;後邊第一次開啟時還可以操作“wifi開關”、但timeout ,再之後“wifi開關無效”。
二、問題分析
echo 0 0 0 0 > /proc/sys/kernel/printk logcat -s WifiEnabler Wifimultisupport WifiPowerSetting WifiStateMachine wpa_supplicant ConnectivityService NetworkSettingsActivity WifiController WifiHW CommandListener WifiP2pService wifi wpa_supplicant WifiMonitor SupplicantStateTracker WifiP2pSettings WifiMonitor WifiNative-HAL
關鍵log
D/WifiP2pSettings( 4253): btn2.setOnClickListener D/WifiP2pService( 2010): ---Mod Group info, pw: "qqqqqqqq" I/wpa_supplicant(26602): [CTRL_IFACE_G]SET_NETWORK 0 psk "qqqqqqqq" D/WifiP2pService( 2010): ---set pw error D/WifiP2pService( 2010): ---saveConfig E/wifi ( 2010): Open file /data/misc/wifi/p2p_supplicant.conf : ...... D/WifiHW ( 2010): enter func wifi_start_supplicant p2p_supported = 1 E/WifiHW ( 2010): /data/misc/wifi/p2p_supplicant.conf is all right E/WifiHW ( 2010): /data/misc/wifi/wpa_supplicant.conf is all right I/wpa_supplicant(31183): wpa_supplicant v2.0-devel-4.4.2_rtw_r10999.20140528_debugmsg I/wpa_supplicant(31183): define REALTEK_WIFI_VENDOR I/wpa_supplicant(31183): supp-global-ctrl-iface-init(/data/system/wpa_supplicant/wlan0) (will try fixup): bind(PF_UNIX): Address already in u se I/wpa_supplicant(31183): Successfully initialized wpa_supplicant E/wpa_supplicant(31183): Failed to open config file '/data/misc/wifi/p2p_supplicant.conf', error: Permission denied E/wpa_supplicant(31183): Failed to read or parse configuration '/data/misc/wifi/p2p_supplicant.conf'. E/WifiStateMachine( 2010): Failed to start supplicant!
[email protected]:/data/misc/wifi # ll -rw-rw---- system wifi 21 2015-03-30 13:46 entropy.bin srwxrwx--- wifi wifi 2015-03-30 13:34 p2p0 -rw------- system system 473 2015-03-30 13:38 p2p_supplicant.conf drwxrwx--- wifi wifi 2015-03-30 13:39 sockets -rw------- system system 33 2007-01-01 20:01 softap.conf drwxrwx--- wifi wifi 2007-01-01 20:00 wpa_supplicant -rw-rw---- system wifi 315 2015-03-30 13:16 wpa_supplicant.conf
三、問題解決
修改/data/misc/wifi/p2p_supplicant.conf建立時許可權
hardware/libhardware_legacy/wifi/wifi.c
int ensure_config_file_exists(const char *config_file)
{
int ret = 0;
if (is_config_p2p(config_file)) {
ret = ensure_config_file(config_file, P2P_CONFIG_TEMPLATE);
} else {
ret = ensure_config_file(config_file, SUPP_CONFIG_TEMPLATE);
}
//add by tank always make sure config_file has access right. begin
/* chmod is needed because open() didn't set permisions properly */
if (chmod(config_file, 0660) < 0) {
ALOGE("Error changing permissions of %s to 0660: %s",
config_file, strerror(errno));
unlink(config_file);
//return -1;
}
if (chown(config_file, AID_SYSTEM, AID_WIFI) < 0) {
ALOGE("Error changing group ownership of %s to %d: %s",
config_file, AID_WIFI, strerror(errno));
unlink(config_file);
//return -1;
}
return ret;
//end tank always make sure config_file has access right. end
}
補充:
wifip2p的預設SSID等引數設定
system/etc/wifi/p2p_supplicant.conf
三、問題擴充套件wifip2p與Miracast(Wifi Display)
相關推薦
Android系統wifi之p2p(wifi直連)配置檔案許可權導致應用不能使用wifi問題
這個平臺的wifip2p也就是wifi Direct(wifi直連)其實是走的hostap功能。 一、問題描述 1.設定-》網路-》無線網路-》,開啟wifi開關。 2.在開啟無線直連,修改密碼以後。 3.不用進入“無線互聯”應用,就會出現描述現象;另外,步驟2中如果不修改
Android控制元件之SlidingDrawer(滑動式抽屜)詳解與例項
SlidingDrawer效果想必大家也見到過,它就是1.5模擬器上進入應用程式列表的效果。下面是截圖 一、簡介 SlidingDrawer隱藏屏外的內容,並允許使用者通過handle以顯示隱藏內容。它可以垂直或水平滑動,它有倆個View組成,其
Android設計模式之模板(抽象類abstract)
知識點補充:介面和抽象類區別 (1)介面是公開的,裡面不能有私有的方法或變數,是用於讓別人使用的; 抽象類是可以有私有方法或私有變數的 (2)實現介面的一定要實現接口裡定義的所有方法; 實現抽象類可以有選擇地重寫需要用到的方法
Android效能優化之Listview(ViewHolder重用機制)
好久沒發部落格了,因為發部落格太耗時間了,而且參考的比較多,也不想一直帶著轉載兩個字。都一直放在筆記裡。不過只能自己看不能和大家分享了,看到這篇文章令我恍然大悟,很有幫助,所以還是決定寫下來。 相信大家在很多時候都會用到ListView這個控制元件,因為確實是用的很多
Android系統CPU使用率獲取(附java程式碼)
若想直接看有效方法,請閱讀方法二,第一條。 最近因為一個需求,需要記錄下當前的CPU使用率,在翻遍了API後,發現系統並沒有給予一個方法,能夠簡單的獲取相關CPU資訊,沒辦法,只能自己寫一個了。 在網上查閱了相關方法後,獲取CPU使用率主要有兩種方法。一個是利用adb t
Android 折線圖之hellocharts (餅狀圖)餅圖
color佈局檔案<color name="cash">#C0FF8C</color> <color name="wechat">#FFF78C</color> <color name="alipay">#FFD08
Android填坑之旅(第十三篇)教你一招搞定專案混淆配置
# Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in D:\Androi
在Android Studio中創建(或添加)第一個Hello World應用程序
創建過程 eight 過程 使用真機 項目路徑 應用程序 設備 ext 直接 下面我們將使用Android Studio創建第第一個簡單的Hello World應用程序。 1、打開Android Studio,加載畫面如下圖所示: 2、選擇”Start a new A
spring之AOP操作(基於aspectJ實現)--配置檔案和註解兩種方式實現
AOP概念 1 aop:面向切面(方面)程式設計,擴充套件功能不修改原始碼實現 2 AOP採取橫向抽取機制,取代了傳統縱向繼承體系重複性程式碼 3 aop底層使用動態代理實現 (1)第一種情況,有介面情況,使用動態代理建立介面實現類代理物
使用nginx反向代理到不同伺服器(共享同一埠)配置檔案
nginx配置檔案: #執行使用者 user nobody; #啟動程序,通常設定成和cpu的數量相等 worker_processes 1; #全域性錯誤日誌及PID檔案 #error_log logs/error.log; #error_log
Android 多個應用之間聲音競爭之Android 系統處理音訊焦點(AudioFocus)
問題發現 最近在專案中發現我們的自己的apk和第三方的媒體apk會出現串音問題。即兩者之間的聲音會重疊在一起。 解決問題 1. 使用多媒體按鍵去控制第三方應用的聲音播放(無效果) 通過觸發媒體的按鈕來操作播放器狀態:KeyEvent.KEYCODE_MEDIA
Android WiFi 架構總覽(模組及介面)
Android WiFi 架構總覽 本文介紹Android原始碼專案(AOSP)中WiFi功能的軟體架構及各個模組(可執行檔案、動態連結庫)間的介面。 SDK API Android SDK為開發者提供了WiFi程式設計介面,使用起來非常方便。 相關包:
android執行緒實現:實時顯示所連線的wifi訊號強度(程式碼帶註釋)
首先:AndroidManifest.xml檔案中加一行:獲取許可權 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> layout.xml檔案中的程式碼: <Li
Android系統程序之Activity管理——ActivityManagerService(AMS)
一. 為什麼會有AMS 對於Android app開發人員來說,Activity是其打交道最多的元件了:App的每一個介面都對應於一個Activity。每個Activity都有他的生命週期(那幾個生命週期應該已經爛熟於心了吧),所以我們應該有一種機制來記錄並管理這些Acti
Android Api Demos登頂之路(四十五)Loader-->Cursor
adapt lists 清空 function icon 創建 nal pat lines 這個demo演示了類載入器的用法。關於類載入器的使用我們在前面的demo中已經介紹過了 在此再小小的復習一下。類載入器的使用步驟: * 1.獲取類載入
Android的DatePicker和TimePicker-android學習之旅(三十八)
cursor ini lis drawable textview @+ type pin view DatePicker和TimePicker簡單介紹 DatePicker和TimePicker是從FrameLayout繼承而來。他們都是比較簡單的組件
linux系統管理綜合實驗之翻江倒海(http,dhcp,dns)崩潰
linux作業要求第一步:搭建DHCP服務器,服務器IP為172.16.30.10,給客戶端分配的地址範圍是172.16.30.100-172.16.30.150,DNS地址是172.16.30.10第二步:搭建dns服務器 增加兩條解析記錄 www.example.com對應IP 172.16.30.10
Spark學習之路 (二十八)分布式圖計算系統
尺度 內存 底層 mapr 分區 ces 兩個 傳遞方式 cat 一、引言 在了解GraphX之前,需要先了解關於通用的分布式圖計算框架的兩個常見問題:圖存儲模式和圖計算模式。 二、圖存儲模式 巨型圖的存儲總體上有邊分割和點分割兩種存儲方式。2013年,Gra
Linux系統之TroubleShooting(啟動故障排除)
class stage2 重新啟動 直接 bash損壞 啟用 修改 補充 init 盡管Linux系統非常強大,穩定,但是我們在使用過程當中,如果人為操作不當,仍然會影響系統,甚至可能使得系統無法開機,無法運行服務等等各種問題。那麽這篇博文就總結一下一些常見的故障排除方法
Android破解學習之路(十二)—— GP錄影漢化過程及添加布局
## 前言 最近閒著發慌,想起了很久之前就想漢化的一款錄影APP,APP大小不到1MB,但是好用,本期就給大家帶來漢化的基本步驟以及如何在APP中新增我們漢化的資訊 ## 漢化思路 1. **查詢關鍵字** 關鍵字挺好找的,由於APP本身就是英文,我們找到某個英文單詞進行搜尋即可 2. **找到string.