若格的全志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
- 若格的全志R8开发板配置为rtl8188eusV1.0(分色排版)
- 全志R8的SDK的编译步骤V1.0(android4.2.2)(分色排版)
- 全志R16平台的android6.0.1系统下的RTL8188EU的配置V1.0(分色排版)
- 全志R16平台的android6.0.1系统下的RTL8188EU的配置(分色排版)V1.0
- 全志sina33编译手册(分色排版)V1.0
- 全志R16调通AP6181(分色排版)V1.0
- 全志R16平台的parrotv1.1系统的编译手册(分色排版)V1.0
- 全志R16调通USB接口的WIFI:RTL8188CU(分色排版)V1.0版本
- 全志R16平台的tinav2.0系统下调通HM1375(分色排版)
- 全志R16平台的Android6系统下调通rtl8189es(分色排版)V1.0
- marsboard-a20-ubuntu的配置V1.0(分色排版)
- 在全志R16平台的tinav2.1系统下点亮客户的RGB屏幕V1.0(分色排版)
- 全志A33平台调通AP6181(分色排版)
- 全志A33平台编译linux(分色排版)sina33
- 如何调整全志R16平台在tinav2.1下的频率V1.0(分色排版)
- 通过全志R16平台TINAV2.1下的LCD显示BMP图片(分色排版)V1.0版本
- 00关闭全志r16平台tinav2.5系统多余的DEBUG(分色排版)V1.0
- 新版本的全志R16平台的tinav2.1的系统打开softAP(分色排版)
- MySQL数据表相关操作-创建与测试数据类型
- 计算机基础之牛客网刷题第三篇
- 创建后台任务的两种代码模式
- 关于高德地图获取Key失败
- Canvas之translate、scale、rotate、skew方法讲解!
- 若格的全志R8开发板配置为rtl8188eusV1.0(分色排版)
- LintCode 424-逆波兰表达式求值
- 开启Java8来启用Lambda表达式在Android Studio的一些配置
- 全栈必备 JavaScript基础
- 前端之js字符串操作
- jenkins安装与使用_持续更新
- iOS App 唤醒另一个App
- 增强网站吞吐量,高迸发,负载均衡。
- 【iOS开发】MAC OS操作系统如何通过FTP终端工具上传文件