您的位置:首页 > 其它

20150906全志a33上调通rtl8188eus的过程(sina33)

2015-09-08 00:10 525 查看
20150906全志a33上调通rtl8188eus的过程(sina33)

使用SINA33的开发板,测试USB接口的WIFI:rtl8188eus。

rtl8188eus直接接到SINA33开发板的USB1接口上。

SINA33的系统,Y3编译选项已经配置好了rtl8188eus。

全志A33的系统,EVB(ap6210)选项和Y3(rtl8723bs)选项的都需要修正为rtl8188eus。

参照SINA33的系统修改CTP和LCD的参数,基本上可以做到一次性调通rtl8188eus。

所用的USB接口的WIFI:rtl8188eus来源:
http://item.jd.com/1120682.html
水星(Mercury) MW150UH 150M高增益无线USB网卡

长天线,高增益,超强信号!

3.3. rtl8188eu

功能:wifi station、softap、wifi direct

接口类型:USB

编译模式:必须编译成模块加载,修改路径如下

进入linux-3.4 目录,输入make ARCH=arm menuconfig

然后选择

Device Drivers --->

Network device support --->

Wireless LAN --->

(关闭其它选项)

<M> Realtek 8188E USB WiFi

C:\全志a33的EVB系统rtl8188eus\evb_evb_sina33_lcd7_1024x600_rtl8188eus\android4.4\device\softwinner\astar-evb\BoardConfig.mk

1.1.16. 3.3.1. BoardConfig.mk

BoardConfig.mk 文件决定android 加载哪一款wifi 模组,要配置成使用rtl8188eu 模组需要把BoardConfig.mk 文件的相关代码修改成如下。

# wifi and bt configuration

# 1. Wifi Configuration

# 1.1 realtek wifi support

# 1.1 realtek wifi configuration

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 := rtl8188eu

BOARD_WLAN_DEVICE := rtl8188eu

#SW_BOARD_USR_WIFI := rtl8723au

#BOARD_WLAN_DEVICE := rtl8723au

#SW_BOARD_USR_WIFI := rtl8723bs

#BOARD_WLAN_DEVICE := rtl8723bs

endif

# 1.2 broadcom wifi support

#BOARD_WIFI_VENDOR := broadcom

ifeq ($(BOARD_WIFI_VENDOR), broadcom)

BOARD_WPA_SUPPLICANT_DRIVER := NL80211

WPA_SUPPLICANT_VERSION := VER_0_8_X

BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd

BOARD_HOSTAPD_DRIVER := NL80211

BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd

BOARD_WLAN_DEVICE := bcmdhd

WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/bcmdhd/parameters/firmware_path"

#SW_BOARD_USR_WIFI := AP6181

SW_BOARD_USR_WIFI := AP6210

WIFI_DRIVER_FW_PATH_STA := "/system/vendor/modules/fw_bcm40181a2.bin"

WIFI_DRIVER_FW_PATH_P2P := "/system/vendor/modules/fw_bcm40181a2_p2p.bin"

WIFI_DRIVER_FW_PATH_AP := "/system/vendor/modules/fw_bcm40181a2_apsta.bin"

#SW_BOARD_USR_WIFI := AP6330

#WIFI_DRIVER_FW_PATH_STA := "/system/vendor/modules/fw_bcm40183b2_ag.bin"

#WIFI_DRIVER_FW_PATH_P2P := "/system/vendor/modules/fw_bcm40183b2_ag_p2p.bin"

#WIFI_DRIVER_FW_PATH_AP := "/system/vendor/modules/fw_bcm40183b2_ag_apsta.bin"

endif

说明:

1、“#”符号起注释作用;

2、“BOARD_WIFI_VENDOR := realtek”指明使用realtek 系统wifi 模组;

3、“#BOARD_WIFI_VENDOR := broadcom”指明不使用broadcom 系统wifi 模组;

4、“SW_BOARD_USR_WIFI := rtl8188eu”、“BOARD_WLAN_DEVICE := rtl8188eu”宏指明使用rtl8188eu 模组;

C:\全志a33的EVB系统rtl8188eus\evb_evb_sina33_lcd7_1024x600_rtl8188eus\android4.4\device\softwinner\astar-evb\init.sun8i.rc

1.1.17. 3.3.2. init.sun8i.rc

init.sun8i.rc 是资源和服务配置相关的文件,使用rtl8188eu wifi 模组需要作如下

修改(部分代码)。

# 1. realtek & eagle wifi service

# 1.1 realtek & eagle wifi sta service

service wpa_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant \

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

-O/data/misc/wifi/sockets \

-e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0

# we will start as root and wpa_supplicant will switch to user wifi

# after setting up the capabilities required for WEXT

# user wifi

# group wifi inet keystore

class main

socket wpa_wlan0 dgram 660 wifi wifi

disabled

oneshot

# 1.2 realtek & eagle wifi sta p2p concurrent service

service p2p_supplicant /system/bin/logwrapper /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 \

-O/data/misc/wifi/sockets \

-g@android:wpa_wlan0

class main

socket wpa_wlan0 dgram 660 wifi wifi

disabled

oneshot

#rtl8189es cob set macaddr

#service engsetmacaddr /system/bin/setmacaddr /data/wifimac.txt

# class main

# oneshot

## 2. broadcom wifi service

## 2.1 broadcom wifi station and softap

#service wpa_supplicant /system/bin/wpa_supplicant \

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

# -I/system/etc/wifi/wpa_supplicant_overlay.conf \

# -O/data/misc/wifi/sockets \

# -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0

# # we will start as root and wpa_supplicant will switch to user wifi

# # after setting up the capabilities required for WEXT

# # user wifi

# # group wifi inet keystore

# class main

# socket wpa_wlan0 dgram 660 wifi wifi

# disabled

# oneshot

#

## 2.2 broadcom wifi sta p2p concurrent service

#service p2p_supplicant /system/bin/wpa_supplicant \

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

# -I/system/etc/wifi/wpa_supplicant_overlay.conf \

# -O/data/misc/wifi/sockets -N \

# -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \

# -I/system/etc/wifi/p2p_supplicant_overlay.conf \

# -puse_p2p_group_interface=1 -e/data/misc/wifi/entropy.bin \

# -g@android:wpa_wlan0

# # we will start as root and wpa_supplicant will switch to user wifi

# # after setting up the capabilities required for WEXT

# # user wifi

# # group wifi inet keystore

# class main

# socket wpa_wlan0 dgram 660 wifi wifi

# disabled

# oneshot

注意:

1、init.sun8i.rc 文件指定开启wpa_supplicant 和p2p_supplicant 两个服务;

2、需要确定broadcom 驱动加载insmod /system/vendor/modules/bcmdhd.ko 被注释掉

3、需要确定broadcom 对应的wpa_supplicant 和p2p_supplicant 两个服务被注释掉;

(EVB/Y3编译选项都已经改好了)

C:\全志a33的EVB系统rtl8188eus\evb_evb_sina33_lcd7_1024x600_rtl8188eus\android4.4\device\softwinner\astar-evb\astar_evb.mk

1.1.18. 3.3.3. polaris-evb.mk

polaris-evb.mk 文件会在编译时拷贝指定文件到特定目录下,使用rtl8188eu 需要做如下修改。

# wifi & bt config file

# wifi features

PRODUCT_COPY_FILES += \

frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \

frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \

frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \

frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml

注意:

1、以上是把wifi direct 配置文件android.hardware.wifi.direct.xml 拷贝到指定目录;

2、android.hardware.wifi.direct.xml 是在setting中显示wifi direct 选项;

C:\全志a33的EVB系统rtl8188eus\evb_evb_sina33_lcd7_1024x600_rtl8188eus\android4.4\device\softwinner\astar-evb\overlay\frameworks\base\core\res\res\values\config.xml

1.1.19. 3.3.4. config.xml

config.xml 文件路径:

\android4.4\device\softwinner\polaris-evb\overlay\frameworks\base\core\res\res\values\config.xml

rtl8188eu 驱动代码支持softap 功能,需要作配置才能在设置界面显示softap 功能,具体的配置是在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>

C:\全志a33的EVB系统rtl8188eus\evb_evb_sina33_lcd7_1024x600_rtl8188eus\lichee\tools\pack\chips\sun8iw5p1\configs\evb\sys_config.fex

1.1.20. 3.3.5. sys_config.fex

sys_config.fex 文件决定使用哪款wifi模组和GPIO pin 的分配,要配置成使用

rtl8188eu 模组需要把sys_config.fex 文件修改成如下(部分代码)。

[usbc1]

usb_used = 1

usb_port_type = 1

usb_detect_type = 0

usb_id_gpio =

usb_det_vbus_gpio =

usb_drv_vbus_gpio =

;usb_drv_vbus_gpio = port:PH07<1><0><default><0>

usb_restrict_gpio =

usb_host_init_state = 0

usb_restric_flag = 0

usb_regulator_io = "nocare"

usb_regulator_vol = 0

usb_not_suspend = 0

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

;wifi configuration

;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)

;wifi_mod_sel: 0- none, 1- ap6181, 2- ap6210(wifi+bt),

; 3 - rtl8188eu, 4- rtl8723au(wifi+bt),

; 5 - rtl8723bs, 6- esp8089,

; 7 - ap6476, 8- rtl8189es

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

[wifi_para]

wifi_used = 1

wifi_sdc_id = 1

wifi_usbc_id = 1

wifi_usbc_type = 1

wifi_mod_sel = 3

wifi_power = "axp22_dldo1"

wifi_power_ext1 = ""

wifi_power_ext2 = ""

wifi_power_switch =

;wifi_power_switch = port:power0<1><0><default><0>

说明:

1、“;”符号起注释作用;

2、“wifi_used”宏赋值为1 表示使用wifi,为0 表示不使用;

3、“wifi_sdc_id”宏表示使用哪个SD 接口连接SDIO wifi;

4、“wifi_mod_sel”宏表示选用哪一款wifi 模组;

5、“wifi_power”、“wifi_power_ext1”及“wifi_power_ext2”宏表示给模组供电的pin脚,最多支持3路;rtl8188eu采用axp 的axp22_aldo1供电。wifi_power_swtich表示wifi供电电源开关gpio,如果硬件上没有应该置为空。

6、“usb_host_init_state”宏设成0 表示wifi 模组的电源由wifi 控制,设成 wifi 模组的电源将由usb控制;

注意:

1、rtl8188eu模组的供电pin “wifi_power”、“wifi_power_ext1”及“wifi_power_ext2”需要根据具体硬件电路而设定;

1.1.21. 3.3.6. wifi wake host

rtl8188eu 模组不支持休眠时唤醒主控功能

1.1.22. 3.3.7. rtl8188eu 模组移植相关文件

以下文件是与rtl8188eu 模组移植相关的,无需再对这些文件作修改,只需了解即可。

C:\全志a33的EVB系统rtl8188eus\evb_evb_sina33_lcd7_1024x600_rtl8188eus\lichee\linux-3.4\drivers\net\wireless\rtl8188eu\

1. rtl8188eu 驱动代码

\linux-3.4\drivers\net\wireless\rtl8188eu

C:\全志a33的EVB系统rtl8188eus\evb_evb_sina33_lcd7_1024x600_rtl8188eus\lichee\linux-3.4\arch\arm\mach-sunxi\rf\wifi_pm.c

2. 电源控制

\lichee\linux-3.4\arch\arm\mach-sunxi\rf\wifi_pm.c

\lichee\linux-3.4\arch\arm\mach-sunxi\rf\wifi_pm_rtl8188eu.c

wifi_pm_rtl8188eu.c 是rtl8188eu 模组电源控制的实现文件,需要把rtl8188eu 控制实现函数接口添加到wifi_pm.c。

改动的文件的链接:
http://download.csdn.net/detail/wb4916/9083677
全志a33的EVB系统rtl8188eus20150906_2113.7z
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: