AnsweredAssumed Answered

HELP!关于rtl8189es在JB4.2.2上的porting

Question asked by jiang shao on Oct 27, 2016
Latest reply on Apr 23, 2018 by haijian

尊敬的FAE

 

我有一块客户根据NXPFreescale)的sabresd_mx6dq设计的开发板,使用的是SDIO接口的

Rtl8189esOSAndroid4.2.2. porting过程中遇到了一些问题,急需您的帮助!

 

驱动:RTL8188EUS_RTL8189ES_linux_v4.1.8_9499.20131104.zip

参考文档:android_ref_codes_JB_4.2/Realtek_Wi-Fi_SDK_for_Android_JB_4_2.pdf

 

移植过程基本完全参照Realtek_Wi-Fi_SDK_for_Android_JB_4_2.pdf

 

  • external/wpa_supplicant_8用驱动提供的2_rtw_r8680.20130821.tar.gz替代
  • hardware下对应文件也用驱动提供的2_20130208.tar.gz替代
  • kernel_imx/drivers/net/wireless/rtl8189es下放置1.8_9499.20131104.tar.gz解压后的内容
  • 根据文档修改rc BoardConfig.mk等文件,修改kernel_imx/drivers/net/wireless/下的KconfigMakefile
  • 内核配置中选择编译8189es为模块
  • 手动将h的内容覆盖到kernel_imx/drivers/net/wireless/rtl8189es/include/autoconf.h

 

编译安卓后烧写固件到开发板中。

在安卓的设置-Wi-Fi-》移动滑块

现象:滑块变为打开,右侧显示正在打开Wi-Fi…,大约几秒后,滑块重新变为关闭

如果用logcat监视,可见如下信息:

 

D/WifiService( 2503): setWifiEnabled: true pid=2766, uid=1000

D/BluetoothAdapter( 2766): 1089157384: getState() :  mService = null. Returning STATE_OFF

D/WifiHW  ( 2503): check_wifi_ifname_from_proc: find lo

D/WifiHW  ( 2503): check_wifi_ifname_from_proc: find eth0

D/WifiHW  ( 2503): check_wifi_ifname_from_proc: find tunl0

D/WifiHW  ( 2503): check_wifi_ifname_from_proc: find sit0

D/WifiHW  ( 2503): check_wifi_ifname_from_proc: find ip6tnl0

: 《重复信息》

D/WifiHW  ( 2503): check_wifi_ifname_from_proc: find lo

D/WifiHW  ( 2503): check_wifi_ifname_from_proc: find eth0

D/WifiHW  ( 2503): check_wifi_ifname_from_proc: find tunl0

D/WifiHW  ( 2503): check_wifi_ifname_from_proc: find sit0

D/WifiHW  ( 2503): check_wifi_ifname_from_proc: find ip6tnl0

E/WifiHW  ( 2503): load_driver: get wifi_ifname(PRIMARY) fail

E/WifiStateMachine( 2503): Failed to load driver!

E/WifiStateMachine( 2503): DriverFailedState

D/BluetoothAdapter( 2766): 1089157384: getState() :  mService = null. Returning STATE_OFF

 

 

串口控制台有如下输出:

RTL871X: module init start version:v4.1.8_9499.20131104

RTL871X: rtl8189es driver version=v4.1.8_9499.20131104

RTL871X: build time: Oct 27 2016 13:15:52

RTL871X: module init ret=0

RTL871X: module exit start

RTL871X: module exit success

 

从现象来看,在试图打开wifi时,module先被init,且顺利完成(?)

但是因为找不到wlan0p2p0,导致load_driver: get wifi_ifname(PRIMARY) fail(?)

最终module exit start

 

这大概是哪里的问题呢?

 

我曾经试图让printk输出更多信息,但是

cat proc/sys/kernel/printk

输出为

15    4    1    7

这个15很让人费解,但是似乎已经是输出所有信息了。。。

 

Outcomes