全志R16 android4平臺移植wifi資料下載

SZX511發表於2018-12-20

2. 模組概述

目前R16 android4.4 平臺上已支援wifi 模組有5款,本文件將以R16 y3方案為例

說明如何配置每款wifi 模組。Rtl8723au暫不支援

wifi 模組可分USB 介面和SDIO 介面兩種型別,部分模組帶藍芽和FM 功能(FM 功能尚未支援),wifi 的全功能包括station、softap 和wifi direct,其中station 是wifi 的最基本功能,每款wifi 模組均支援。


android4.4 平臺wifi 模組列表

注意:

1、核心預設編譯所有的realtek wifi 驅動,在確定使用哪一款wifi 的情況下可把其餘的去掉,不參與編譯,這樣可減少最終生成的韌體大小,減少燒寫時間。

(進入linux-3.4 目錄,輸入make ARCH=arm menuconfig,然後選擇Device Drivers--->Network device support,即可看到參與編譯的wifi 驅動


2、核心預設編譯藍芽,如果實際平臺沒有藍芽功能,可以去除編譯,減少生成的核心大小,修改方法如下。

到linux-3.4 目錄下,輸入make ARCH=arm menuconfig

然後選擇[*] Networking support --->

< > Bluetooth subsystem support --->

.......

< > RF switch subsystem support --->

3. 模組移植

 3.1. ap6181 

功能:wifi station、softap、wifi direct

介面型別:SDIO

編譯模式:編成模組方式,修改路徑如下

進入 linux-3.4 目錄,輸入 make ARCH=arm menuconfig

然後選擇Device Drivers --->

Network device support --->

Wireless LAN --->

<M> Broadcom 4329/30 wireless cards support

(/system/vendor/modules/fw_bcmxxxx.bin) Firmware path

(/system/vendor/modules/nvram_apxxxx.txt) NVRAM path

Interrupt type (Out-of-Band Interrupt) --->


3.1.1. BoardConfig.mk 

android4.4\device\softwinner\astar-y3\

BoardConfig.mk 檔案決定android 載入哪一款wifi 模組, 要配置成使用ap6181 模組需要把BoardConfig.mk 檔案的相關程式碼修改成如下。


# wifi and bt configuration

# 1. Wifi Configuration

# 1.1 realtek wifi support

#BOARD_WIFI_VENDOR := realtek

ifeq ($(BOARD_WIFI_VENDOR), realtek)

......

......

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"

endif


說明:

1、“#”符號起註釋作用;

2、“#BOARD_WIFI_VENDOR := realtek”指明不使用realtek 系統wifi 模組;

3、“BOARD_WIFI_VENDOR := broadcom”指明使用broadcom 系統wifi 模組;

4、“WIFI_DRIVER_FW_PATH_STA”、“WIFI_DRIVER_FW_PATH_P2P”、“WIFI_DRIVER_FW_PATH_AP”宏指韌體路徑;

5、對於 broadcom 系列模組,“SW_BOARD_USR_WIFI”宏只起標識用,無實際用處;


3.1.2. init.sun8i.rc

android4.4\device\softwinner\astar-y3\

init.sun8i.rc 是資源和服務配置相關的檔案,使用 ap6181 wifi 模組需要作如下修改(部分程式碼)。

insmod /system/vendor/modules/bcmdhd.ko

......

# 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 braodcom 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 檔案載入bcm wifi驅動bcmdhd.ko,指定開啟wpa_supplicant 和p2p_supplicant 兩個服務;

2、需要確定 realtek 對應的 wpa_supplicant 和 p2p_supplicant 兩個服務被註釋掉


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31529038/viewspace-2285886/,如需轉載,請註明出處,否則將追究法律責任。

相關文章