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

5 篇文章 0 订阅
2 篇文章 0 订阅

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值