若格的全志R8开发板配置为rtl8188eusV1.0(分色排版)

来源:互联网 发布:淘宝店包邮怎么做 编辑:程序博客网 时间:2024/05/16 14:34

若格的全志R8开发板配置为rtl8188eus

 


2017/4/20 17:54


版本:V1.0

 

请严重注意(这个坑全志的文档不会告诉你的!!!!^_):

R:\wyb\rtl8188eus_r8_20160613_ruoge\lichee\tools\pack\chips\sun5i\configs\r8-evb\sys_config.fex

修改完工之后的结果:

;2017/4/20 16:43 wenyuanbo for rtl8188eus

[usb_wifi_para]

(依葫芦画瓢,这里还是选择使用:)

usb_wifi_used         = 1

这里填写的USB的WIFI:rtl8188eus所使用USB端口号,而不是USB端口的总数,切记!!!!

usb_wifi_usbc_num     = 1

 

 

由于asource上面没有找到全志R8的WiFi移植说明书,

http://asource.allwinnertech.com:9080/

因此本文参照全志R16平台:R16 WiFi移植说明书.pdf

 

 

1、(确保将rtl8188eus选中为编译成模块:)

rootroot@rootroot-E400:~/wyb/rtl8188eus_r8_20160613_ruoge/lichee$ ./build.sh config

 

Welcome to mkscript setup progress

All available chips:

   0. sun5i

Choice: 0

All available platforms:

   0. android

   1. dragonboard

   2. linux

   3. tina

Choice: 0

All available kernel:

   0. linux-3.4

Choice: 0

All available boards:

   0. r8-evb

   1. r8m-evb

Choice: 0

rootroot@rootroot-E400:~/wyb/rtl8188eus_r8_20160613_ruoge/lichee$ cd linux-3.4/

rootroot@rootroot-E400:~/wyb/rtl8188eus_r8_20160613_ruoge/lichee/linux-3.4$ make ARCH=arm menuconfig

Device Drivers  --->

[*] Network device support  --->

[*]   Wireless LAN  --->

(已经默认选中了:)

<M>   Realtek 8188E USB WiFi

(这里取消选中:)

< >   Eagle esp8089 WLAN driver

 

 

 

 

2、关闭rtl8192cu,打开rtl8188eu:

R:\wyb\rtl8188eus_r8_20160613_ruoge\android\device\softwinner\nuclear-evb\BoardConfig.mk

# realtek wifi support "sta/softap/wifi direct" function

# 1. enable BOARD_WIFI_VENDOR := realtek below

# 2. use nl80211 instead of wext interface in wpa_supplicant service@init.sun5i.rc

# 3. add android.hardware.wifi.direct.xml file to system/etc/permissions/

# 4. add interface for softap tether in the overylay/.../value/config.xml

# rtl8192cu: set SW_BOARD_USR_WIFI and BOARD_WLAN_DEVICE "rtl8192cu"

# rtl8188eu: set SW_BOARD_USR_WIFI and BOARD_WLAN_DEVICE "rtl8188eu"

BOARD_WIFI_VENDOR := realtek

ifeq ($(BOARD_WIFI_VENDOR), realtek)

    WPA_SUPPLICANT_VERSION := VER_0_8_X

    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

 

    (关闭这里:)

    #SW_BOARD_USR_WIFI := rtl8192cu

    #BOARD_WLAN_DEVICE := rtl8192cu

 

    (打开这里:)

    SW_BOARD_USR_WIFI := rtl8188eu

    BOARD_WLAN_DEVICE := rtl8188eu

endif

 

 

 

 

3、(有关,但是不需要修改:)

R:\wyb\rtl8188eus_r8_20160613_ruoge\android\device\softwinner\nuclear-evb\init.sun5i.rc

已经配置好了:

# 1.1 realtek wifi sta service

service wpa_supplicant /system/bin/wpa_supplicant -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin

class main

socket wpa_wlan0 dgram 660 wifi wifi

disabled

oneshot

 

# 1.2 realtek wifi sta p2p concurrent service

service p2p_supplicant /system/bin/wpa_supplicant \

-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -N \

-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf

class main

socket wpa_wlan0 dgram 660 wifi wifi

disabled

oneshot

 

 

 

 

4、(不需要修改:)

R:\wyb\rtl8188eus_r8_20160613_ruoge\android\device\softwinner\nuclear-evb\nuclear_evb.mk

没有发现WIFI的配置。

 

 

 

 

5、(不需要修改:)

R:\wyb\rtl8188eus_r8_20160613_ruoge\android\device\softwinner\nuclear-evb\overlay\frameworks\base\core\res\res\values\config.xml

有这个配置文件:

    <!-- List of regexpressions describing the interface (if any) that represent tetherable

         Wifi interfaces.  If the device doesn't want to support tethering over Wifi this

         should be empty.  An example would be "softap.*" -->

    <string-array translatable="false" name="config_tether_wifi_regexs">

<item>"wlan0"</item>

    </string-array>

 

 

 

 

6、

R:\wyb\rtl8188eus_r8_20160613_ruoge\lichee\tools\pack\chips\sun5i\configs\r8-evb\sys_config.fex

 

;--------------------------------

;---       USB1控制标志

;--------------------------------

[usbc1]

usb_used                 = 1

usb_port_type            = 1

usb_detect_type          = 0

usb_id_gpio              =

usb_det_vbus_gpio        =

usb_drv_vbus_gpio        = port:PG11<1><0><default><0>

usb_drv_vbus_1_gpio      =

(修改这里:)

usb_host_init_state      = 0

 

 

;--------------------------------------------------------------------------------

;wifi/bt/fm/gps/nfc modules configuration

;module_num:   

;             0- none

;             1- ap6181(wifi)

;             2- ap6210(wifi+bt)

;             3- rtl8188eu(wifi)

;             4- rtl8723au(wifi+bt)

;             5- rtl8723bs(wifi+bt)

;             6- esp8089(wifi)

;             7- ap6476(wifi+bt+fm+gps)

;             8- ap6330(wifi+bt+fm)

;             9- gb9663(wifi+bt+fm)

;module_power1: ""- bat, "axp_dldo1"- axp dldo1

;module_power1_vol: power1 voltage, mv; not used for module_power1 is ""

;module_power2: ""- bat, "axp_dldo2"- axp dldo2

;module_power2_vol: power2 voltage, mv; not used for module_power2 is ""

;module_power3: ""- bat, "axp_dldo2"- axp dldo2

;module_power3_vol: power3 voltage, mv; not used for module_power3 is ""

;power_switch:  module power switch io when bat supply

;chip_en:       enable chip io

;lpo_use_apclk: ""- not use, "losc_out"- a23/33, "ac10032k1"、"ac10032k2"、"ac10032k3"- a80/a83

;--------------------------------------------------------------------------------

[rf_para]

(修改这里:)

module_num          = 3

module_power1       = ""

module_power1_vol   =

module_power2       = ""

module_power2_vol   =

module_power3       = ""

module_power3_vol   =

power_switch        =

chip_en             =

lpo_use_apclk       = ""

 

;--------------------------------------------------------------------------------

;wifi configuration

;wifi_used:      0-not use, 1- use

;wifi_sdc_id:    0- SDC0, 1- SDC1, 2- SDC2, 3- SDC3

;wifi_usbc_id:   0- USB0, 1- USB1, 2- USB2

;wifi_usbc_type: 1- EHCI(speed 2.0), 2- OHCI(speed 1.0)

;wl_reg_on:      wifi function enable io

;wl_host_wake:   wifi device wake-up host

;wl_host_wake_invert: whether wl_host_wake use inverter between ap and module

;                     0: not used, 1: used   

;--------------------------------------------------------------------------------

[wifi_para]

wifi_used             = 1

(修改这里:)

wifi_sdc_id           = 1

wifi_usbc_id          = 1

wifi_usbc_type        = 1

wl_reg_on             = port:PC19<1><default><default><0>

wl_host_wake          =

wl_host_wake_invert   = 0

 

;2017/4/20 16:43 wenyuanbo for rtl8188eus

[usb_wifi_para]

(依葫芦画瓢,这里还是选择使用:)

usb_wifi_used         = 1

(这里填写的USB的WIFI:rtl8188eus所使用USB端口号,而不是USB端口的总数,切记!!!!)

usb_wifi_usbc_num     = 1

 

;--------------------------------------------------------------------------------

;bluetooth configuration

;bt_used:       0- no used, 1- used

;bt_uard_id: 0- uart0, 1- uart1, 2- uart2

;bt_rst_n:      bt function enable io

;bt_wake:       host wake-up bluetooth device

;bt_wak_host:   bt device wake-up host

;bt_host_wake_invert: whether bt_host_wake use inverter between ap and module

;

;--------------------------------------------------------------------------------

[bt_para]

(修改这里:关闭)

bt_used               = 0

bt_uart_id            = 1

bt_rst_n              = port:PB04<1><default><default><0>

;bt_wake               = port:PL06<1><default><default><0>

;bt_host_wake          = port:PL05<4><default><default><0>

bt_host_wake_invert   = 0

 

 

 

 

参考资料(通过出错的DEBUG调试信息分析出错的原因的过程!!!!)

如果在sys_config.fex中不配置usb_wifi_usbc_num,就会看到出错信息:

[   43.400055] RTL871X: module init start

[   43.400055] RTL871X: rtl8188eu v4.3.0.3_10997.20140327

[   43.450045] RTL871X: build time: Apr 20 2017 15:26:12

[   43.450045] RTL871X: ERR: script_parser_fetch usb_wifi_usbc_num failed

[   43.461733] RTL871X: rtw_drv_entry: power on failed!!(-12)

[   43.461733] RTL871X: module init ret=-1

 

 

 

 

SDK中查找到出错的问题:platform/platform_ARM_SUNxI_usb.c

rootroot@rootroot-E400:~/wyb/rtl8188eus_r8_20160613_ruoge/lichee/linux-3.4/drivers/net/wireless/rtl8188eu$grep usb_wifi_usbc_num . -R

匹配到二进制文件 ./8188eu.o

匹配到二进制文件 ./8188eu.ko

./platform/platform_ARM_SUNxI_usb.c: /* ----------get usb_wifi_usbc_num------------- */

./platform/platform_ARM_SUNxI_usb.c: ret = script_parser_fetch("usb_wifi_para", "usb_wifi_usbc_num", (int *)&usb_wifi_host, 64);

./platform/platform_ARM_SUNxI_usb.c:DBG_8192C("ERR: script_parser_fetch usb_wifi_usbc_num failed\n");

匹配到二进制文件 ./platform/platform_ARM_SUNxI_usb.o

rootroot@rootroot-E400:~/wyb/rtl8188eus_r8_20160613_ruoge/lichee/linux-3.4/drivers/net/wireless/rtl8188eu$ cd ..

rootroot@rootroot-E400:~/wyb/rtl8188eus_r8_20160613_ruoge/lichee/linux-3.4/drivers/net/wireless$ ll

 

 

R:\wyb\rtl8188eus_r8_20160613_ruoge\lichee\linux-3.4\drivers\net\wireless\rtl8188eu\platform\platform_ARM_SUNxI_usb.c

int platform_wifi_power_on(void)

{

int ret = 0;

 

#ifdef CONFIG_PLATFORM_ARM_SUNxI

#ifndef CONFIG_RTL8723A

{

/* ----------get usb_wifi_usbc_num------------- */

ret = script_parser_fetch("usb_wifi_para", "usb_wifi_usbc_num", (int *)&usb_wifi_host, 64);

if(ret != 0){

DBG_8192C("ERR: script_parser_fetch usb_wifi_usbc_num failed\n");

ret = -ENOMEM;

goto exit;

}

DBG_8192C("sw_usb_enable_hcd: usbc_num = %d\n", usb_wifi_host);

sw_usb_enable_hcd(usb_wifi_host);

}

#endif //CONFIG_RTL8723A

#endif //CONFIG_PLATFORM_ARM_SUNxI

 

……

 

exit:

return ret;

}

 

 

初步分析,在sys_config.fex中加入选项:

;2017/4/20 16:43 wenyuanbo for rtl8188eus

[usb_wifi_para]

usb_wifi_used         = 1

usb_wifi_usbc_num     = 2

 

 

继续出错:

[   93.050064] RTL871X: module init start

[   93.050064] RTL871X: rtl8188eu v4.3.0.3_10997.20140327

[   93.080051] RTL871X: build time: Apr 20 2017 15:26:12

[   93.100047] RTL871X: sw_usb_enable_hcd: usbc_num = 2

[   93.100047] ERR: script_parser_fetch usb_controller_type failed

[   93.190013] usbcore: registered new interface driver rtl8188eu

[   93.190013] RTL871X: module init ret=0

 

 

初步判定usb_controller_type出错为配置成了第三个USB口,但是全志R8只有两个USB口,就出错了。

 

 

R:\wyb\rtl8188eus_r8_20160613_ruoge\lichee\tools\pack\chips\sun5i\configs\r8-evb\sys_config.fex

修改完工之后的结果:

;2017/4/20 16:43 wenyuanbo for rtl8188eus

[usb_wifi_para]

(依葫芦画瓢,这里还是选择使用:)

usb_wifi_used         = 1

这里填写的USB的WIFI:rtl8188eus所使用USB端口号,而不是USB端口的总数,切记!!!!

usb_wifi_usbc_num     = 1

 





0 0
原创粉丝点击