wifi打开重启概率性sdio失败
来源:互联网 发布:高仿鞋淘宝店 编辑:程序博客网 时间:2024/06/18 13:41
diff --git a/wifi/wifi.c b/wifi/wifi.c
old mode 100755
new mode 100644
index 4dcadb4..72f207c
--- a/wifi/wifi.c
+++ b/wifi/wifi.c
@@ -83,10 +83,10 @@ static char primary_iface[PROPERTY_VALUE_MAX];
#elif defined RTL_8723BS_WIFI_USED
/* rtl8723BS sdio+bt wifi */
#ifndef WIFI_DRIVER_MODULE_PATH
- #define WIFI_DRIVER_MODULE_PATH "/system/vendor/modules/8723bs.ko"
+ #define WIFI_DRIVER_MODULE_PATH "/system/vendor/modules/8723bs-vq0.ko"
#endif
#ifndef WIFI_DRIVER_MODULE_NAME
- #define WIFI_DRIVER_MODULE_NAME "8723bs"
+ #define WIFI_DRIVER_MODULE_NAME "8723bs_vq0"
#endif
#ifndef WIFI_DRIVER_MODULE_ARG
#define WIFI_DRIVER_MODULE_ARG "ifname=wlan0 if2name=p2p0"
@@ -268,7 +268,7 @@ int is_wifi_driver_loaded() {
#endif
}
-#define TIME_COUNT 20 // 200ms*20 = 4 seconds for completion
+#define TIME_COUNT 100 // 200ms*20 = 4 seconds for completion
#if defined(RTL_WIFI_VENDOR)
int wifi_load_driver()
{
@@ -282,11 +282,17 @@ int wifi_load_driver()
FILE *fp = NULL;
ALOGD("Start to insmod %s.ko\n", WIFI_DRIVER_MODULE_NAME);
-
+ //usleep(20000);// 20ms
if (insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG) < 0) {
ALOGE("insmod %s ko failed!", WIFI_DRIVER_MODULE_NAME);
rmmod(DRIVER_MODULE_NAME); //it may be load driver already,try remove it.
- return -1;
+ usleep(20000);// 20ms
+ if (insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG) < 0) {
+ ALOGE("insmod %s ko second failed!", WIFI_DRIVER_MODULE_NAME);
+ rmmod(DRIVER_MODULE_NAME); //it may be load driver already,try remove it.
+ return -1;
+ }
+ //return -1;
}
do{
@@ -311,9 +317,23 @@ int wifi_load_driver()
break;
}
usleep(200000);// 200ms
+ if(count==20)
+ {
+ ALOGE("count=20, register netdevice wlan0 failed.insmod 8723bs-vq0.ko again one");
+ rmmod(DRIVER_MODULE_NAME);
+ usleep(10000);
+ insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG);
+ }
+ if(count==80)
+ {
+ ALOGE("count=80, register netdevice wlan0 failed.insmod 8723bs-vq0.ko again two");
+ rmmod(DRIVER_MODULE_NAME);
+ usleep(10000);
+ insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG);
+ }
} while (count++ <= TIME_COUNT);
-
+
if(count > TIME_COUNT) {
ALOGE("timeout, register netdevice wlan0 failed.");
property_set(DRIVER_PROP_NAME, "timeout");
old mode 100755
new mode 100644
index 4dcadb4..72f207c
--- a/wifi/wifi.c
+++ b/wifi/wifi.c
@@ -83,10 +83,10 @@ static char primary_iface[PROPERTY_VALUE_MAX];
#elif defined RTL_8723BS_WIFI_USED
/* rtl8723BS sdio+bt wifi */
#ifndef WIFI_DRIVER_MODULE_PATH
- #define WIFI_DRIVER_MODULE_PATH "/system/vendor/modules/8723bs.ko"
+ #define WIFI_DRIVER_MODULE_PATH "/system/vendor/modules/8723bs-vq0.ko"
#endif
#ifndef WIFI_DRIVER_MODULE_NAME
- #define WIFI_DRIVER_MODULE_NAME "8723bs"
+ #define WIFI_DRIVER_MODULE_NAME "8723bs_vq0"
#endif
#ifndef WIFI_DRIVER_MODULE_ARG
#define WIFI_DRIVER_MODULE_ARG "ifname=wlan0 if2name=p2p0"
@@ -268,7 +268,7 @@ int is_wifi_driver_loaded() {
#endif
}
-#define TIME_COUNT 20 // 200ms*20 = 4 seconds for completion
+#define TIME_COUNT 100 // 200ms*20 = 4 seconds for completion
#if defined(RTL_WIFI_VENDOR)
int wifi_load_driver()
{
@@ -282,11 +282,17 @@ int wifi_load_driver()
FILE *fp = NULL;
ALOGD("Start to insmod %s.ko\n", WIFI_DRIVER_MODULE_NAME);
-
+ //usleep(20000);// 20ms
if (insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG) < 0) {
ALOGE("insmod %s ko failed!", WIFI_DRIVER_MODULE_NAME);
rmmod(DRIVER_MODULE_NAME); //it may be load driver already,try remove it.
- return -1;
+ usleep(20000);// 20ms
+ if (insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG) < 0) {
+ ALOGE("insmod %s ko second failed!", WIFI_DRIVER_MODULE_NAME);
+ rmmod(DRIVER_MODULE_NAME); //it may be load driver already,try remove it.
+ return -1;
+ }
+ //return -1;
}
do{
@@ -311,9 +317,23 @@ int wifi_load_driver()
break;
}
usleep(200000);// 200ms
+ if(count==20)
+ {
+ ALOGE("count=20, register netdevice wlan0 failed.insmod 8723bs-vq0.ko again one");
+ rmmod(DRIVER_MODULE_NAME);
+ usleep(10000);
+ insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG);
+ }
+ if(count==80)
+ {
+ ALOGE("count=80, register netdevice wlan0 failed.insmod 8723bs-vq0.ko again two");
+ rmmod(DRIVER_MODULE_NAME);
+ usleep(10000);
+ insmod(DRIVER_MODULE_PATH, DRIVER_MODULE_ARG);
+ }
} while (count++ <= TIME_COUNT);
-
+
if(count > TIME_COUNT) {
ALOGE("timeout, register netdevice wlan0 failed.");
property_set(DRIVER_PROP_NAME, "timeout");
0 0
- wifi打开重启概率性sdio失败
- SDIO WIFI
- SDIO WIFI
- rtl8723bs移植之打开wifi后系统不断重启
- Wifi over SDIO
- Wifi over SDIO
- SDIO。WIFI NET
- SDIO WiFi模块分析
- SDIO WiFi Card Driver
- WIFI-SDIO 五问五答
- SDIO WiFi Card Driver
- SDIO WiFi Card Driver
- SDIO WiFi Card Driver
- 三星Note3 N900解决WIFI无法打开、打开缓慢、卡死、wifi密码重启不能保存等问题
- OK6410 SDIO WIFI开机自启做热点(局域网)
- android SDIO error导致wifi无法打开或者连接热点异常的问题
- Marvell 88w8686 SDIO wifi
- mini6410-sdio-wifi串口消息
- java动态代理学习笔记
- Java设计模式 - 策略模式
- oracle数据库导入导出命令!
- Astah Community
- 七个和尚挑水
- wifi打开重启概率性sdio失败
- MPD大会上使用的PPT分享 - 2014
- HDU - 4526 威威猫系列故事――拼车记 (DP)
- 寻址方式
- DAGScheduler源码解析之作业提交
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- openVswitch(OVS)源代码分析之工作流程(key值得提取)
- Spring复习笔记
- (1)ok6410学习之makefile学习