imx6Q rtl8188etv Android4.3 驱动调试记录
vim kernel_imx/arch/arm/configs/imx6s_{yourdevice}_android_defconfig
CONFIG_CFG80211=y
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211=y
CONFIG_HOSTAP=y
CONFIG_RTL8192CU=y
CONFIG_RTLWIFI=y
CONFIG_RTL8192C_COMMON=y
#CONFIG_RTL8723AS=m
CONFIG_USB_USBNET=y
CONFIG_NET_RADIO=y
vim device/fsl/{yourdevice}/BoardConfig.mk
BOARD_WIFI_VENDOR := realtek
WPA_SUPPLICANT_VERSION := VER_0_8_X
CONFIG_DRIVER_NL80211 := true
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_rtl
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_rtl
BOARD_WLAN_DEVICE := rtl8192cu
WIFI_DRIVER_MODULE_NAME := "wlan0"
WIFI_DRIVER_MODULE_PATH := ""
WIFI_DRIVER_MODULE_ARG := ""
WIFI_FIRMWARE_LOADER := ""
WIFI_DRIVER_FW_PATH_STA := ""
WIFI_DRIVER_FW_PATH_AP := ""
WIFI_DRIVER_FW_PATH_P2P := ""
WIFI_DRIVER_FW_PATH_PARAM := ""
CONFIG_CFG80211=y
CONFIG_NL80211_TESTMODE=y
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
CONFIG_HOSTAP=y
CONFIG_RTL8192CU=m
and found that those are missing
# CONFIG_USB_USBNET is not set
# CONFIG_NET_RADIO is not set
#define CONFIG_IOCTL_CFG80211 1
#ifdef CONFIG_IOCTL_CFG80211
#define RTW_USE_CFG80211_STA_EVENT /* Indecate new sta asoc through cfg80211_new_sta */
//#define CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER
#define CONFIG_DEBUG_CFG80211 1
vim out/target/product/{yourboard}/root/init.rc
or/and (rebuild the whole system):
vim device/fsl/imx6/imx6.mk
mkdir /system/etc/wifi 0770 wifi wifi
chmod 0770 /system/etc/wifi
chmod 0660 /system/etc/wifi/wpa_supplicant.conf
chown wifi wifi /system/etc/wifi/wpa_supplicant.conf
#wpa_supplicant control socket for android wifi.c (android private socket)
mkdir /data/misc/wifi 0770 wifi wifi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
chmod 0770 /data/misc/wifi
chmod 0660 /data/misc/wifi/wpa_supplicant.conf
chown wifi wifi /data/misc/wifi
chown wifi wifi /data/misc/wifi/wpa_supplicant.conf
setprop wifi.interface wlan0
setprop wlan.driver.status "ok"
#setprop wifi.ap.interface wlan0
#and also remove this lines:
# mkdir /data/system/wpa_supplicant 0771 wifi wifi
# chmod 0771 /data/system/wpa_supplicant
# symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant
var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);
void function(e,t){for(var n=t.getElementsByTagName("img"),a=+new Date,i=[],o=function(){this.removeEventListener&&this.removeEventListener("load",o,!1),i.push({img:this,time:+new Date})},s=0;s< n.length;s++)!function(){var e=n[s];e.addEventListener?!e.complete&&e.addEventListener("load",o,!1):e.attachEvent&&e.attachEvent("onreadystatechange",function(){"complete"==e.readyState&&o.call(e,o)})}();alog("speed.set",{fsItems:i,fs:a})}(window,document);
var cpro_psid ="u2572954"; var cpro_pswidth =966; var cpro_psheight =120;
下载文档到电脑,查找使用更方便
1下载券 1人已下载
下载
还剩5页未读,继续阅读
定制HR最喜欢的简历
我要定制简历
vi /etc/wifi/ wpa_supplicant.conf ctrl_interface=wlan0(android标准) 改为
ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=wifi (Unix标准)
问题三:不能启动supplicant。
提示: E/WifiStateMachine(442): Failed to start supplicant! 经调试,发现错误发生在:
android-4.2.2_r1\hardware\realtek\wlan\libhardware_legacy\wifi\wifi_realtek.c中 wifi_start_supplicant的
if (p2p_supported && wifi_ifname(SECONDARY) == NULL)
android-4.2.2_r1\external\wpa_supplicant_8\wpa_supplicant\Makefile中
#peng-- CFLAGS += -DANDROID -DANDROID_P2P -DREALTEK_WIFI_VENDOR -DCONFIG_ANDROID_4_2_PERSISTENT_IOT 改为
CFLAGS += -DANDROID -DREALTEK_WIFI_VENDOR -DCONFIG_ANDROID_4_2_PERSISTENT_IOT
改完后运行logcat提示
I/wpa_supplicant(1744): Successfully initialized wpa_supplicant ps 可以看到
1157 1010 0:00 wpa_supplicant -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant
此时运行wpa_cli -p/data/system/wpa_supplicant -iwlan0 会进入
Interactive mode > status
wpa_state=DISCONNECTED address=08:57:00:98:6b:31
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=0 BSSID=00:00:00:00:00:00 SSID= > scan OK
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=3 BSSID=00:00:00:00:00:00 SSID= > [ 71.550000] ==> rtl8188e_iol_efuse_patch [ 71.825000] RTL871X: nolinked power save leave <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=2 BSSID=00:00:00:00:00:00 SSID= > scan_results
bssid / frequency / signal level / flags / ssid
20:dc:e6:b7:74:ec 2437 -63 [WPA2-PSK-CCMP][WPS][ESS] uthandwriter
14:75:90:ae:ed:bc 2412 -71
[WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS] UCF-TESTP
04:da:d2:75:f4:10 2412 -71 [WPA2-PSK-CCMP][ESS] 7F-LAN 04:da:d2:75:fc:70 2412 -72 [WPA2-PSK-CCMP][ESS] 7F-LAN bc:f6:85:9f:3a:da 2462 -72
[WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][ESS] zlghserver
28:e3:47:ad:b4:10 2457 -83 [WPA2-PSK-CCMP][ESS] 360\xe5\x85\x8d\xe8\xb4\xb9WiFi-XG
1c:fa:68:cd:50:02 2457 -45 [WPS][ESS] HELLO_TL-WN725N 14:75:90:20:0a:8a 2437 -73 [ESS] maize
> add_network 0
> set_network 0 ssid "HELLO_TL-WN725N" OK
> set_network 0 key_mgmt NONE
Or //set_network 0 key_mgmt WPA-PSK //set_network 0 psk '"12345678"' OK
> select_network 0 OK
<3>CTRL-EVENT-STATE-CHANGE id=0 state=3 BSSID=00:00:00:00:00:00 SSID=HELLO_TL-WN725N
> <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE
> [ 336.215000] RTL871X: set ssid [HELLO_TL-WN725N] fw_state=0x00000008 [ 336.215000] RTL871X: set bssid:1c:fa:68:cd:50:02 [ 336.225000] RTL871X: start auth
[ 336.230000] RTL871X: auth success, start assoc [ 336.230000] RTL871X: assoc success
[ 336.230000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 336.240000] UpdateHalRAMask8188EUsb => mac_id:0, networkType:0x0b, mask:0x000fffff
[ 336.240000] ==> rssi_level:0, rate_bitmap:0x000ff005
<3>Trying to associate with 1c:fa:68:cd:50:02 (SSID='HELLO_TL-WN725N' freq=2457 MHz)
<3>CTRL-EVENT-STATE-CHANGE id=0 state=5 BSSID=00:00:00:00:00:00 SSID=HELLO_TL-WN725N
<3>CTRL-EVENT-STATE-CHANGE id=0 state=6 BSSID=00:00:00:00:00:00 SSID=HELLO_TL-WN725N
<3>Associated with 1c:fa:68:cd:50:02
<3>CTRL-EVENT-CONNECTED - Connection to 1c:fa:68:cd:50:02 completed (auth) [id=0 id_str=]
<3>CTRL-EVENT-STATE-CHANGE id=0 state=9 BSSID=1c:fa:68:cd:50:02 SSID=HELLO_TL-WN725N >save
OK //测试会在data/misc/wifi/ 生成wpa_supplicant.conf >quit
UT@utcooker:/data # dhcpcd wlan0 …
dhcpcd[1358]: wlan0: NAK: from 192.168.1.1
dhcpcd[1358]: wlan0: sending IPv6 Router Solicitation dhcpcd[1358]: wlan0: broadcasting for a lease
dhcpcd[1358]: wlan0: offered 0.0.0.1 from 192.168.1.101
dhcpcd[1358]: wlan0: acknowledged 0.0.0.1 from 192.168.1.101 UT@utcooker:/data/misc/wifi # ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: seq=0 ttl=64 time=3.437 ms 64 bytes from 192.168.1.1: seq=1 ttl=64 time=1.351 ms
问题四:不能connect supplicant。
提示:Supplicant not running, cannot connect
E/WifiStateMachine(442): Failed to setup control channel, restart supplicant 此时ps能看到wpa_supplicant在运行 Wpa_cli操作配置网络正常。
Android界面Setting能打开但无法搜索Wifi。 经调试:
在android-4.2.2_r1\hardware\realtek\wlan\libhardware_legacy\wifi\wifi_realtek.c中
if (property_get(supplicant_prop_name, supp_status, NULL) && strcmp(supp_status, "running") == 0) { return 0;
}
检查得知wpa_supplicant服务正在运行 UT@utcooker:/data/misc/wifi #
getprop init.svc.wpa_supplicant Running 故修改:
static const char SUPPLICANT_NAME[] = "rtw_suppl"; /* without p2p concurrent */
static const char SUPP_PROP_NAME[] = "init.svc.%s"; 为:
static const char SUPPLICANT_NAME[] = "wpa_supplicant"; /* peng add */
static const char SUPP_PROP_NAME[] = "init.svc.wpa_supplicant";//peng add
此时能搜索wifi,有以下信息
01-01 13:03:08.305: D/WifiStateMachine(376): setWifiState: enabled
问题五:Setting不能连接wifi
提示:nl80211: Failed to set interface 6 to mode 2: -19
wpa_supplicant -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_suppplicant.conf -dd –B 此时使用nl80211方式启动wpa_supplicant时出现如下错误:
01-01 12:31:39.660: W/wpa_supplicant(2099): ======>UT:wpa_driver_nl80211_set_mode
01-01 12:31:39.660: D/wpa_supplicant(2099): nl80211: Set mode ifindex 6 iftype 2 (STATION)
01-01 12:31:39.660: W/wpa_supplicant(2099): nl80211: nl80211_cmd(drv, msg, 0, NL80211_CMD_SET_INTERFACE);
01-01 12:31:39.660: W/wpa_supplicant(2099): nl80211: send_and_recv_msgs ret=-19
01-01 12:31:39.660: D/wpa_supplicant(2099): nl80211: Failed to set interface 6 to mode 2: -19 (No such device)
01-01 12:31:39.660: W/wpa_supplicant(2099): ======>UT:if (res == -ENODEV) 01-01 12:31:39.660: W/wpa_supplicant(2099): UT:wpa_driver_nl80211_set_mode, res == -ENODEV
01-01 12:31:39.660: E/wpa_supplicant(2099): wlan0: Failed to initialize driver
interface01-01 12:31:39.660: D/wpa_supplicant(2099): nl80211: Failed to set interface 6 to mode 2: -19 (No such device)
程序执行到send_and_recv_msgs时出错,经测试发现调用的为wpa_supplicant自身的函数,而
hardware\realtek\wlan\wpa_supplicant_8_lib\driver_cmd_nl80211.c中也有 send_and_recv_msgs函数。
而在BoardConfigCommon.mk中,有
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_rtl external/wpa_supplicant_ /wpa_supplicant/Android.mk中有:
LOCAL_STATIC_LIBRARIES += $(BOARD_WPA_SUPPLICANT_PRIVATE_LIB) 在/vendor/friendly-arm/exynos4412/prebuilt/Android.mk有: $(call
add-friendlyarm-file,$(BOARD_WPA_SUPPLICANT_PRIVATE_LIB).a,STATIC_LIBRARIES) 而\vendor\friendly-arm\exynos4412\prebuilt\目录下有lib_driver_cmd_fanl.a 原有BoardConfigCommon.mk中,有
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_fanl 把vendor/friendly-arm/exynos4412/prebuilt/Android.mk有:
$(call
add-friendlyarm-file,$(BOARD_WPA_SUPPLICANT_PRIVATE_LIB).a,STATIC_LIBRARIES) 改为
$(call add-friendlyarm-file, lib_driver_cmd_fanl.a,STATIC_LIBRARIES) 此时重新生成编译烧写内核。就可以在Setting界面配置连接wifi。
正常使用,去除多余调试信息。
RTL8188EUS_new_4.1.7\driver\rtl8188EUS_rtl8189ES_linux_v4.1.7_9024.20130916\hal\OUTSRC\odm_debug.c : pDM_Odm->DebugLevel = ODM_DBG_TRACE; 打印等级改为
pDM_Odm->DebugLevel = ODM_DBG_WARNING;
\RTL8188EUS_new_4.1.7\driver\rtl8188EUS_rtl8189ES_linux_v4.1.7_9024.20130916\autoconf_rtl8188e_usb_linux.h中
//peng-- #define DBG 1
//peng-- #define CONFIG_DEBUG
//peng-- #define CONFIG_DEBUG_RTL871X
wpa_supplicant –Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -dd -B
http://wenku.baidu.com/link?url=JNrKe143AjrgnWabVDZvvwpnyPQg0d9Cm1SM4_1Ll_D1biatKpR8RMGmdKPkL75DO7JOUlz1k8zwKx6129rj1HVGQUx_HlhEPF0-er0tEua
https://community.nxp.com/message/397950#397950
imx6Q rtl8188etv Android4.3 驱动调试记录的更多相关文章
- linux驱动调试记录
linux驱动调试 linux 目录 /proc 下面可以配置驱动的调试信息,比如给proc目录的自己定制的驱动的一文件设置一个变量,然后驱动程序跟了proc的参数值来配置调试级别.类似于内核调试的级 ...
- 【转】 Android BCM4330 蓝牙BT驱动调试记录
原文网址:http://blog.csdn.net/dwyane_zhang/article/details/7180779 网上关于BT的驱动很少,所以我在开发过程中把其中的步骤记录下来.供大家相互 ...
- Linux驱动设计—— 驱动调试技术
参考博客与书籍: <Linux设备驱动开发详解> <Linux设备驱动程序> http://blog.chinaunix.net/uid-24219701-id-2884942 ...
- android 电容屏(二):驱动调试之基本概念篇
平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...
- 【转】android 电容屏(三):驱动调试之驱动程序分析篇
关键词:android 电容屏 tp 工作队列 中断 坐点计算 电容屏主要参数平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310( ...
- 【转】android 电容屏(二):驱动调试之基本概念篇
关键词:android 电容屏 tp 工作队列 中断 多点触摸协议平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung ...
- 【转】Android LCD(四):LCD驱动调试篇
关键词:android LCD TFTSN75LVDS83B TTL-LVDS LCD电压背光电压 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台 ...
- 驱动调试(一)-printk
目录 驱动调试(一)-printk 引入 框架 入口console_setup add_preferred_console register_console s3c24xx_serial_initco ...
- Linux GPIO键盘驱动开发记录_OMAPL138
Linux GPIO键盘驱动开发记录_OMAPL138 Linux基本配置完毕了,这几天开始着手Linux驱动的开发,从一个最简单的键盘驱动开始,逐步的了解开发驱动的过程有哪些.看了一下Linux3. ...
随机推荐
- Js文字特效—文字段逐个变色循环
自己用来练习的,附上详细注释,如果有和我一样喜欢并想要学习Dom特效创作的朋友,推荐先系统了解Javascript中Html Dom Object部分的内容,包括常用方法及属性. <!DOCTY ...
- hdu Dragon Balls
这题是一道简单的并查集的运用.龙珠所在的城市.该城市龙珠数目都是很简单的问题,稍微麻烦一点的就是龙珠被移动的次数,因为每一次要移动的是一个城市中所有的龙珠,所以每次移动该城市中所有龙珠的移动次数都要加 ...
- php+curl上传文件
因为公司项目用java做的,需要我这边用php上传文件.只给了个接口,参数都不明确,然后这边不提交表单,在生成pdf之后就立马上传.用了php+curl,总是没上传成功,这里看到了篇文章http:// ...
- redis发布订阅
命令 : redis-cli打开一个客户端 Redis Psubscribe 命令订阅一个或多个符合给定模式的频道. 每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.n ...
- bzoj1857: [Scoi2010]传送带--三分套三分
三分套三分模板 貌似只要是单峰函数就可以用三分求解 #include<stdio.h> #include<string.h> #include<algorithm> ...
- jquery_插件
编写插件的目的:给已有的一些列方法或函数做一个封装 jquery插件推荐命名方式 :jquery.[插件名].js 防止与插件库混淆 所有对象方法都应当附加到jquery.fn 对象上,所有的全局函 ...
- prim算法
最小生成树 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边.最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法 ...
- MVC 区域功能
因为MVC项目是要求都放在固定的文件夹,所以,当项目大的时候,会很不方便管理,所以微软引入的区域的功能 使用方法: 在项目上右击--添加--区域 就会出现Areas的文件夹,里面就是子MVC 渲染: ...
- (转)MVC设计模式学习总结
原文 : chenchun的博客 http://www.cnblogs.com/jobscn/archive/2011/11/08/2240725.html -------------------- ...
- [翻译] 为什么Uber的数据库从Postgres 切换到 MySql
Uber工程师团队发布了一个重要的博客文章:他们的数据库从Postgres从移动到MySQL.毫不夸张地说,阅读这篇文章是一种享受,特别是因为他们提到这些细节:磁盘格式和那对他们2个数据库的表现的影响 ...