调通sina33下的AP6212A0(WIFI+BT)(分色排版)V1.3(android4.4.2)

来源:互联网 发布:js 获取多个class 编辑:程序博客网 时间:2024/05/15 06:50

调通sina33下的AP6212A0(WIFI+BT)

 

 

大文实验室/大文哥

壹捌陆捌零陆捌捌陆捌贰

wb4916 AT qq.com

完成时间:2017/6/28 12:13

版本:V1.3(android4.4.2)

 

 

本文参照:

A33 wifi移植说明书.pdf

还有就是全志R16平台的parrotv1.1的官方SDK(Android4.4.2)

 

 

1、打开AP6212的BT,关闭rtl8723bs的BT(其它都是按照比对软件的字母顺序了):

[    3.141273] Bluetooth: HCI UART driver ver 2.2

[    3.146210] Bluetooth: HCI H4 protocol initialized

[    3.151563] Bluetooth: HCI BCSP protocol initialized

[    3.157154] usbcore: registered new interface driver btusb

[    3.163282] Bluetooth: Generic Bluetooth SDIO driver ver 0.1

[    3.169599] Bluetooth: BlueSleep Mode Driver Ver 1.1

[    3.175402] Bluetooth: get rtl8723bs rtl8723bs_bt_host_wake gpio failed

 

 

[    3.953017] Bluetooth: RFCOMM TTY layer initialized

[    3.958456] Bluetooth: RFCOMM socket layer initialized

[    3.964183] Bluetooth: RFCOMM ver 1.11

[    3.968340] Bluetooth: BNEP (Ethernet Emulation) ver 1.3

[    3.968638] [mmc]: sdc2 set ios: clk 25000000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[    3.968734] [mmc]: mclk 0xf1c20090 0xc100000b

[    3.989421] Bluetooth: BNEP filters: protocol multicast

[    3.995242] Bluetooth: HIDP (Human Interface Emulation) ver 1.2

[    4.001921] L2TP core driver, V2.0

[    4.005706] PPPoL2TP kernel driver, V2.0

[    4.010070] L2TP IP encapsulation support (L2TPv3)

[    4.015468] L2TP netlink interface

[    4.019264] L2TP ethernet pseudowire support (L2TPv3)

[    4.023860] [mmc]: sdc2 set ios: clk 25000000Hz bm PP pm ON vdd 3.3V width 1 timing MMC-HS(SDR20) dt B

[    4.023929] [mmc]: mclk 0xf1c20090 0xc100000b

[    4.040272] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5

[    4.048780] ThumbEE CPU extension supported.

[    4.053550] Registering SWP/SWPB emulation handler

[    4.059269] [rfkill]: rfkill set power 1

[    4.063652] gpio ap6xxx_bt_regon set val 0, act val 0

 

 

正常启动的BT加载:

[    3.207764] Bluetooth: HCI UART driver ver 2.2

[    3.212725] Bluetooth: HCI H4 protocol initialized

[    3.218045] Bluetooth: HCI BCSP protocol initialized

[    3.223671] usbcore: registered new interface driver btusb

[    3.229766] Bluetooth: Generic Bluetooth SDIO driver ver 0.1

[    3.236243] Bluetooth: MSM Sleep Mode Driver Ver 1.2

 

 

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

 

Welcome to mkscript setup progress

All available chips:

   0. sun8iw5p1

Choice: 0

All available platforms:

   0. android

   1. dragonboard

   2. linux

Choice: 0

All available kernel:

   0. linux-3.4

Choice: 0

All available boards:

   0. evb

   1. maple

   2. redwood

   3. y2

   4. y3

Choice: 4

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

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

 

 

[*] Networking support  --->

<*>   Bluetooth subsystem support  --->

Bluetooth device drivers  --->

< > Broadcom Bluetooth Low Power Manager Support

<*> Realtek Bluesleep driver support

修改为:

<*> Broadcom Bluetooth Low Power Manager Support

< >   An inverter between bt hostwake pin and cpu (NEW)

< > Realtek Bluesleep driver support

(以后重新解压缩SDK的时候,直接导入这个.config文件即可!)

 

 

 

 

2、(这个不修改:)

Q:\a33\ap6212a0_a33_sc3817r\android\device\softwinner\astar-y3\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>

 

 

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

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

         should be empty. -->

    <!--  default: disable Bluetooth PAN feature -->

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

        <item>"bt-pan"</item>

    </string-array>

 

 

 

 

3、打开AP6212,关闭rtl8723bs

Q:\a33\ap6212a0_a33_sc3817r\android\device\softwinner\astar-y3\astar_y3.mk

# ap6181/6210/6330 sdio wifi fw and nvram

#$(call inherit-product-if-exists, hardware/broadcom/wlan/firmware/ap6181/device-bcm.mk)

#$(call inherit-product-if-exists, hardware/broadcom/wlan/firmware/ap6210/device-bcm.mk)

(增加这里!)

$(call inherit-product-if-exists, hardware/broadcom/wlan/firmware/ap6212/device-bcm.mk)

#$(call inherit-product-if-exists, hardware/broadcom/wlan/firmware/ap6330/device-bcm.mk)

 

#rtl8723bs bt fw and config

#$(call inherit-product, hardware/realtek/bluetooth/rtl8723bs/firmware/rtlbtfw_cfg.mk)

 

 

# camera config for camera detector

#PRODUCT_COPY_FILES += \

#device/softwinner/astar-y3/hawkview/sensor_list_cfg.ini:system/etc/hawkview/sensor_list_cfg.ini

 

#add gms features

#PRODUCT_COPY_FILES += \

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

#        frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \

#        frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml

 

# 3G Data Card Packages

#PRODUCT_PACKAGES += \

#u3gmonitor \

#chat \

#rild \

#pppd

 

# 3G Data Card Configuration Flie

#PRODUCT_COPY_FILES += \

#device/softwinner/polaris-common/rild/ip-down:system/etc/ppp/ip-down \

#device/softwinner/polaris-common/rild/ip-up:system/etc/ppp/ip-up \

#device/softwinner/polaris-common/rild/3g_dongle.cfg:system/etc/3g_dongle.cfg \

#device/softwinner/polaris-common/rild/usb_modeswitch:system/bin/usb_modeswitch \

#device/softwinner/polaris-common/rild/call-pppd:system/xbin/call-pppd \

#device/softwinner/polaris-common/rild/usb_modeswitch.sh:system/xbin/usb_modeswitch.sh \

#device/softwinner/polaris-common/rild/apns-conf_sdk.xml:system/etc/apns-conf.xml \

#device/softwinner/polaris-common/rild/libsoftwinner-ril.so:system/lib/libsoftwinner-ril.so

#PRODUCT_COPY_FILES += \

#device/softwinner/polaris-common/rild/init.3gdongle.rc:root/init.sunxi.3gdongle.rc

 

# 3G Data Card usb modeswitch File

#PRODUCT_COPY_FILES += \

#$(call find-copy-subdir-files,*,device/softwinner/polaris-common/rild/usb_modeswitch.d,system/etc/usb_modeswitch.d)

 

PRODUCT_PROPERTY_OVERRIDES += \

    ro.sw.embeded.telephony = false

 

PRODUCT_PROPERTY_OVERRIDES += \

persist.sys.timezone=Asia/Shanghai \

persist.sys.language=zh \

persist.sys.country=CN

 

PRODUCT_PACKAGES += Bluetooth

 

#PRODUCT_PROPERTY_OVERRIDES += \

#ro.product.8723b_bt.used=true

 

#GPS Feature

#PRODUCT_PACKAGES +=  gps.polaris

#BOARD_USES_GPS_TYPE := simulator

#PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.location.xml:system/etc/permissions/android.hardware.location.xml

 

# evb logger

PRODUCT_COPY_FILES += \

    device/softwinner/astar-y3/tools/logger.sh:system/bin/logger.sh

 

PRODUCT_PROPERTY_OVERRIDES += \

persist.sys.usb.config=mass_storage,adb \

ro.adb.secure=0

ro.udisk.lable=Polaris \

ro.font.scale=1.0 \

ro.hwa.force=false \

rw.logger=0 \

ro.sys.bootfast=true \

debug.hwc.showfps=0 \

debug.hwui.render_dirty_regions=false

#ro.sys.storage_type = emulated \

 

#for gms

#PRODUCT_PROPERTY_OVERRIDES += \

#        ro.sys.mutedrm=true \

#        ro.adb.secure=1

 

PRODUCT_PROPERTY_OVERRIDES += \

ro.sf.lcd_density=213 \

ro.product.firmware=v2.0

 

$(call inherit-product-if-exists, device/softwinner/astar-y3/modules/modules.mk)

 

DEVICE_PACKAGE_OVERLAYS := device/softwinner/astar-y3/overlay

PRODUCT_CHARACTERISTICS := tablet

 

# Overrides

PRODUCT_AAPT_CONFIG := xlarge hdpi xhdpi large

PRODUCT_AAPT_PREF_CONFIG := xhdpi

 

PRODUCT_BRAND  := Allwinner

PRODUCT_NAME   := astar_y3

PRODUCT_DEVICE := astar-y3

PRODUCT_MODEL  := QUAD-CORE A33 y3

PRODUCT_MANUFACTURER := softwinner

 

#include device/softwinner/polaris-common/prebuild/google/products/gms_base.mk

 

 

 

 

4、

Q:\a33\ap6212a0_a33_sc3817r\android\device\softwinner\astar-y3\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"

 

    # 2017/6/21 15:11 wenyuanbo configure ap6212 use ap6210

    SW_BOARD_USR_WIFI := AP6212

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

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

    WIFI_DRIVER_FW_PATH_AP     := "/system/vendor/modules/fw_bcm43438a0_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.3 eag wifi config

#BOARD_WIFI_VENDOR := eagle

ifeq ($(BOARD_WIFI_VENDOR), eagle)

    WPA_SUPPLICANT_VERSION := VER_0_8_X

    BOARD_WPA_SUPPLICANT_DRIVER := NL80211

    BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_eagle

    BOARD_HOSTAPD_DRIVER        := NL80211

    BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_eagle

 

    SW_BOARD_USR_WIFI := esp8089

    BOARD_WLAN_DEVICE := esp8089

 

endif

 

# 2. Bluetooth Configuration

# make sure BOARD_HAVE_BLUETOOTH is true for every bt vendor

BOARD_HAVE_BLUETOOTH := true

 

BOARD_HAVE_BLUETOOTH_BCM := true

#SW_BOARD_HAVE_BLUETOOTH_NAME := ap6210

SW_BOARD_HAVE_BLUETOOTH_NAME := ap6212

#SW_BOARD_HAVE_BLUETOOTH_NAME := ap6330

 

#BOARD_HAVE_BLUETOOTH_RTK := true

#BLUETOOTH_HCI_USE_RTK_H5 := true

#SW_BOARD_HAVE_BLUETOOTH_NAME := rtl8723bs

 

 

 

 

5、

Q:\a33\ap6212a0_a33_sc3817r\android\device\softwinner\astar-y3\init.sun8i.rc

on early-fs

mount_all /fstab.sun8i

setprop ro.crypto.fuse_sdcard true

insmod /system/vendor/modules/disp.ko

insmod /system/vendor/modules/lcd.ko

insmod /system/vendor/modules/mali.ko

insmod /system/vendor/modules/leds-sunxi.ko

insmod /system/vendor/modules/bcmdhd.ko

insmod /system/vendor/modules/bcm_btlpm.ko

 

 

#2G or 3G init.rc

#import init.sunxi.3gdongle.rc

 

 

## 1. realtek & eagle wifi service

## 1.1 realtek & eagle wifi sta service

#service wpa_supplicant /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/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

 

 

# 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

 

 

 

 

6、(不需要修改)

Q:\a33\ap6212a0_a33_sc3817r\android\device\softwinner\astar-y3\ueventd.sun8i.rc

 

 

7、(可选修改:)

Q:\a33\ap6212a0_a33_sc3817r\android\frameworks\base\packages\SettingsProvider\res\values\defaults.xml

    <integer name="def_screen_off_timeout">1800000</integer>

    <bool name="def_lockscreen_disabled">true</bool>

 

 

8、(可选修改:)

Q:\a33\ap6212a0_a33_sc3817r\android\frameworks\base\services\java\com\android\server\BatteryService.java

    // private static final boolean DEBUG = false;

    private static final boolean DEBUG = true;

 

 

    private void sendIntentLocked() {

        //  Pack up the values and broadcast them to everyone

        final Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);

        intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY

                | Intent.FLAG_RECEIVER_REPLACE_PENDING);

 

        int icon = getIconLocked(mBatteryProps.batteryLevel);

 

        intent.putExtra(BatteryManager.EXTRA_STATUS, mBatteryProps.batteryStatus);

        intent.putExtra(BatteryManager.EXTRA_HEALTH, mBatteryProps.batteryHealth);

        intent.putExtra(BatteryManager.EXTRA_PRESENT, mBatteryProps.batteryPresent);

        //intent.putExtra(BatteryManager.EXTRA_LEVEL, mBatteryProps.batteryLevel);

        intent.putExtra(BatteryManager.EXTRA_LEVEL, 100);

        intent.putExtra(BatteryManager.EXTRA_SCALE, BATTERY_SCALE);

        intent.putExtra(BatteryManager.EXTRA_ICON_SMALL, icon);

        intent.putExtra(BatteryManager.EXTRA_PLUGGED, mPlugType);

        //intent.putExtra(BatteryManager.EXTRA_VOLTAGE, mBatteryProps.batteryVoltage);

        intent.putExtra(BatteryManager.EXTRA_VOLTAGE, 4200);

        intent.putExtra(BatteryManager.EXTRA_TEMPERATURE, mBatteryProps.batteryTemperature);

        intent.putExtra(BatteryManager.EXTRA_TECHNOLOGY, mBatteryProps.batteryTechnology);

        intent.putExtra(BatteryManager.EXTRA_INVALID_CHARGER, mInvalidCharger);

 

        if (DEBUG) {

            Slog.d(TAG, "2016/12/05 10:41 wenyuanbo **** Sending ACTION_BATTERY_CHANGED.  level:" + mBatteryProps.batteryLevel +

                    ", scale:" + BATTERY_SCALE + ", status:" + mBatteryProps.batteryStatus +

                    ", health:" + mBatteryProps.batteryHealth +  ", present:" + mBatteryProps.batteryPresent +

                    ", voltage: " + mBatteryProps.batteryVoltage +

                    ", temperature: " + mBatteryProps.batteryTemperature +

                    ", technology: " + mBatteryProps.batteryTechnology +

                    ", AC powered:" + mBatteryProps.chargerAcOnline + ", USB powered:" + mBatteryProps.chargerUsbOnline +

                    ", Wireless powered:" + mBatteryProps.chargerWirelessOnline +

                    ", icon:" + icon  + ", invalid charger:" + mInvalidCharger);

        }

 

        mHandler.post(new Runnable() {

            @Override

            public void run() {

                ActivityManagerNative.broadcastStickyIntent(intent, null, UserHandle.USER_ALL);

            }

        });

    }

 

 

 

 

9、(直接拷贝同目录下的ap6210:)

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\libbt\conf\softwinner\ap6212\Android.mk

LOCAL_PATH := $(call my-dir)

 

include $(CLEAR_VARS)

 

LOCAL_MODULE := bt_vendor.conf

LOCAL_MODULE_CLASS := ETC

LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/bluetooth

 

LOCAL_MODULE_TAGS := eng

 

LOCAL_SRC_FILES := $(LOCAL_MODULE)

 

include $(BUILD_PREBUILT)

 

 

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\libbt\conf\softwinner\ap6212\bt_vendor.conf

# UART device port where Bluetooth controller is attached

UartPort = /dev/ttyS1

 

# Firmware patch file location

FwPatchFilePath = /system/vendor/modules/

 

# Firmware Name

FwPatchFileName = bcm43438a0.hcd

(注意拷贝之后需要修改AP6212的BT的固件名称!)

 

 

 

 

10、新增:vnd_astar-y3-ap6212.txt,直接拷贝自:vnd_astar-y2-ap6210.txt

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\libbt\include\vnd_astar-y3-ap6212.txt

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\libbt\include\vnd_astar-y3-ap6210.txt

BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyS1"

FW_PATCHFILE_LOCATION = "/system/vendor/modules/"

LPM_IDLE_TIMEOUT_MULTIPLE = 5

UART_TARGET_BAUD_RATE = 1500000

BT_WAKE_VIA_PROC = TRUE

#LPM_SLEEP_MODE = FALSE

BTVND_DBG = TRUE

BTHW_DBG = TRUE

VNDUSERIAL_DBG = TRUE

UPIO_DBG = TRUE

 

 

 

 

11、

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\libbt\src\userial_vendor.c

//#ifdef USE_AP6210_BT_MODULE

#if defined(USE_AP6210_BT_MODULE) || defined(USE_AP6212_BT_MODULE)

    /* PATCH for AP6210. Will detect CTS(module side) to select transport mode*/

    ALOGE("userial vendor open: USE AP6210 BT MODULE.");

    usleep(100000);

    close(vnd_userial.fd);

    if ((vnd_userial.fd = open(vnd_userial.port_name, O_RDWR)) == -1)

    {

    ALOGE("userial vendor open: unable to open %s", vnd_userial.port_name);

    return -1;

    }

#endif //USE_AP6210_BT_MODULE

 

 

 

 

12、

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\libbt\Android.mk

ifeq ($(SW_BOARD_HAVE_BLUETOOTH_NAME), ap6210)

LOCAL_CFLAGS += -DUSE_AP6210_BT_MODULE

endif

 

ifeq ($(SW_BOARD_HAVE_BLUETOOTH_NAME), ap6212)

LOCAL_CFLAGS += -DUSE_AP6212_BT_MODULE

endif

 

 

ifeq ($(SW_BOARD_HAVE_BLUETOOTH_NAME), ap6330)

    include $(LOCAL_PATH)/conf/softwinner/ap6330/Android.mk

endif

 

ifeq ($(SW_BOARD_HAVE_BLUETOOTH_NAME), ap6210)

    include $(LOCAL_PATH)/conf/softwinner/ap6210/Android.mk

endif

 

ifeq ($(SW_BOARD_HAVE_BLUETOOTH_NAME), ap6212)

    include $(LOCAL_PATH)/conf/softwinner/ap6212/Android.mk

endif

 

 

 

 

13、

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\libbt\vnd_buildcfg.mk

ifeq ($(SW_BOARD_HAVE_BLUETOOTH_NAME), ap6210)

SRC := $(call my-dir)/include/$(addprefix vnd_, $(addsuffix -ap6210.txt,$(basename $(TARGET_DEVICE))))

endif

 

ifeq ($(SW_BOARD_HAVE_BLUETOOTH_NAME), ap6212)

SRC := $(call my-dir)/include/$(addprefix vnd_, $(addsuffix -ap6212.txt,$(basename $(TARGET_DEVICE))))

endif

 

 

 

 

14、(这些AP6212的WIFI的bin文件和BT的hcd文件来自全志R16的SDK,当然也可以找正基原厂/代理商索取:)

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\wlan\firmware\ap6212\bcm43438a0.hcd

 

(根据ap6210修改:)

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\wlan\firmware\ap6212\device-bcm.mk

#

# Copyright (C) 2008 The Android Open Source Project

#

# Licensed under the Apache License, Version 2.0 (the "License");

# you may not use this file except in compliance with the License.

# You may obtain a copy of the License at

#

#      http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.

#

 

########################

-include hardware/broadcom/wlan/bcmdhd/config/config-bcm.mk

 

PRODUCT_COPY_FILES += \

    hardware/broadcom/wlan/firmware/ap6212/fw_bcm43438a0.bin:system/vendor/modules/fw_bcm43438a0.bin \

    hardware/broadcom/wlan/firmware/ap6212/fw_bcm43438a0_apsta.bin:system/vendor/modules/fw_bcm43438a0_apsta.bin \

    hardware/broadcom/wlan/firmware/ap6212/fw_bcm43438a0_p2p.bin:system/vendor/modules/fw_bcm43438a0_p2p.bin \

    hardware/broadcom/wlan/firmware/ap6212/nvram_ap6212.txt:system/vendor/modules/nvram_ap6212.txt \

    hardware/broadcom/wlan/firmware/ap6212/bcm43438a0.hcd:system/vendor/modules/bcm43438a0.hcd

    #hardware/broadcom/wlan/firmware/ap6212/config.txt:system/vendor/modules/config.txt

########################

(本文的内容请根据实际情况修改:)

 

 

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\wlan\firmware\ap6212\fw_bcm43438a0.bin

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\wlan\firmware\ap6212\fw_bcm43438a0_apsta.bin

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\wlan\firmware\ap6212\fw_bcm43438a0_p2p.bin

Q:\a33\ap6212a0_a33_sc3817r\android\hardware\broadcom\wlan\firmware\ap6212\nvram_ap6212.txt

 

 

 

 

15、(可选修改:)

Q:\a33\ap6212a0_a33_sc3817r\android\packages\apps\Camera2\src\com\android\camera\CameraActivity.java

    private BroadcastReceiver mBatteryInfoReceiver = new BroadcastReceiver() {

     @Override

     public void onReceive(Context context, Intent intent) {

     String action = intent.getAction();

     if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {

     int Level = intent.getIntExtra("level", 0);

     int Scale = intent.getIntExtra("scale", 100);

    

     Log.w(TAG, "2016/11/29 19:54 &&&& wenyuanbo battery Level" + Level);

    

     /*

     *Logic:

     *1.the battery level is lower then 5%.

     *2.if in camera, make sure that not in the snapshot progress.

     *3.if in videocamera, make sure that not in the videorecording progress.

     *4.everytime starting the camera activity, the battery level is broadcasted,

     *  if meeting the conditions above, give a dialog, press it and finish the activity.

     *5.if the conditions are not satisfied when started, play for a moment, in the camera acitvity

     *  or video camera activity, the conditiosn are satisfied, also give a dialog for finishing the activity.

     *

     *by fuqiang.

     */

     if(Level < 5)

     {

Runnable runnable_close_camera = new Runnable() {

@Override

public void run() {

//close the camera.

// CameraActivity.this.finish();

}

};

Log.w(TAG, "2016/11/29 18:20 **** wenyuanbo battery Level" + Level);

showLocationDialog();    

     }

     /*

     *Logic:

     *1.the battery level is lhigher then 5% and lower than 15%.

     *2.if in camera, make sure that not in the snapshot progress.

     *3.if in videocamera, make sure that not in the videorecording progress.

     *4.whether in camera or in videocamera, make sure that the flash mode is supported.

     *5.everytime starting the camera activity, the battery level is broadcasted,

     *  if meeting the conditions above, forbidden the flash(gray icon), give a dialog to notise user.

     *6.if the conditions are not satisfied when started, play for a moment, in the camera acitvity

     *  or video camera activity, the conditiosn are satisfied, forbidden the flash and give a notice dialog.

     *7.the dialog is only given once for each camera activity starting.

     *

     *by fuqiang.

     */

     else if(Level < 16)

     {

     //close the flash mode.

     /*

     if (mIsLowBatteryDialogShown == false)

     {

     mRotateDialog.showAlertDialog(

                     getString(R.string.warning),

                     getString(R.string.low_battery_15),

                     null, null,

                     getString(R.string.close), null);

     mIsLowBatteryDialogShown = true;

     }

     */

     }

     }

     }

    };

 

 

 

 

16、

Q:\a33\ap6212a0_a33_sc3817r\lichee\linux-3.4\arch\arm\mach-sunxi\rf\bt_pm.c

static int rfkill_set_power(void *data, bool blocked)

{

    unsigned int mod_sel = wifi_pm_get_mod_type();

 

    RF_MSG("rfkill set power %d\n", blocked);

 

    switch (mod_sel)

    {

        case 2: /* ap6210 */

            if (!blocked) {

                wifi_pm_gpio_ctrl("ap6xxx_bt_regon", 1);

            } else {

                wifi_pm_gpio_ctrl("ap6xxx_bt_regon", 0);

            }

            break;

        case 4: /* realtek rtl8723au */

            if (!blocked) {

                wifi_pm_gpio_ctrl("rtl8723au_bt", 1);

            } else {

                wifi_pm_gpio_ctrl("rtl8723au_bt", 0);

            }

            break;

        case 5: /* realtek rtl8723bs */

            if (!blocked) {

                wifi_pm_gpio_ctrl("rtl8723bs_bt_regon", 1);

            } else {

                wifi_pm_gpio_ctrl("rtl8723bs_bt_regon", 0);

            }

            break;

        case 7: /* ap6476 */

            if (!blocked) {

                wifi_pm_gpio_ctrl("ap6xxx_bt_regon", 1);

            } else {

                wifi_pm_gpio_ctrl("ap6xxx_bt_regon", 0);

            }

            break;

        case 9: /* ap6212 */

            if (!blocked) {

                wifi_pm_gpio_ctrl("ap6xxx_bt_regon", 1);

            } else {

                wifi_pm_gpio_ctrl("ap6xxx_bt_regon", 0);

            }

            break;

        default:

            RF_MSG("no bt module matched !!\n");

    }

 

    msleep(10);

    return 0;

}

 

 

出错信息:

shell@astar-y3:/system/vendor/modules $ [  306.892503] CPU2: shutdown

[  307.888949] sndpcm_unmute,line:1099

[  310.132975] [rfkill]: rfkill set power 1

[  310.137333] [rfkill]: no bt module matched !!

[  310.360913] [rfkill]: rfkill set power 0

[  310.365374] [rfkill]: no bt module matched !!

[  310.920063] [BT_LPM] bluesleep_tx_timer_expire: Tx timer expired

[  310.926735] [BT_LPM] bluesleep_tx_timer_expire: Tx has been idle

[  310.933623] [BT_LPM] bluesleep_sleep_work: going to sleep...

[  319.567108] [rfkill]: no bt module matched !!

[  343.122717] [rfkill]: rfkill set power 1

[  343.127266] [rfkill]: no bt module matched !!

shell@astar-y3:/system/vendor/modules $

 

 

 

 

17、

Q:\a33\ap6212a0_a33_sc3817r\lichee\linux-3.4\arch\arm\mach-sunxi\rf\wifi_pm.c

struct wifi_pm_ops wifi_select_pm_ops;

static char* wifi_mod[] = {" ",

"ap6181",  /* 1 - AP6181*/

"ap6210", /* 2 - AP6210*/

"rtl8188eu",  /* 3 - RTL8188EU*/

"rtl8723au",  /* 4 - RTL8723AU*/

"rtl8723bs",  /* 5 - RTL8723BS*/

"esp8089", /* 6 - ESP8089*/

"ap6476",  /* 7 - AP6476*/

"rtl8189es",  /* 8 - rtl8189es*/

"ap6212", /* 9 - AP6212*/

};

 

 

static int __devinit wifi_pm_probe(struct platform_device *pdev)

{

struct wifi_pm_ops *ops = &wifi_select_pm_ops;

 

switch (ops->module_sel.val) {

case 1: /* AP6181 */

ap6xxx_gpio_init();

break;

case 2: /* AP6210 */

ap6xxx_gpio_init();

break;

case 3: /* RTL8188EU */

rtl8188eu_gpio_init();

break;

case 4: /* RTL8723AU */

rtl8723au_gpio_init();

break;

case 5: /* RTL8723BS */

rtl8723bs_gpio_init();

break;

case 6: /* ESP8089 */

esp8089_gpio_init();

break;

case 7: /* AP6476 */

ap6xxx_gpio_init();

break;

case 8: /* rtl8189es */

rtl8189es_gpio_init();

break;

case 9: /* AP6212 */

ap6xxx_gpio_init();

break;

default:

wifi_pm_msg("wrong sdio module select %d !\n", ops->module_sel.val);

}

 

awwifi_procfs_attach();

wifi_pm_msg("wifi gpio init is OK !!\n");

return 0;

}

 

 

出错信息:

[    0.658155] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_group 0x0

[    0.658179] [wifi]: select wifi: rtl8189es !!

[    0.658516] [rtl8189es]: exec rtl8189es_wifi_gpio_init

[    0.658532] [rtl8189es]: module power name axp22_dldo1

[    0.658544] [rtl8189es]: module power ext1 name axp22_dldo2

[    0.658555] [rtl8189es]: module power ext2 name axp22_aldo1

[    0.658566] [rtl8189es]: get rtl8189es rtl8189es_shdn gpio failed

[    0.658576] [rtl8189es]: rtl8189es module power set by axp.

[    0.658775] [rtl8189es]: first time

[    0.659126] [rtl8189es]: regulator on.

[    0.761057] gpio rtl8189es_shdn set val 0, act val 0

[    0.761095] [wifi_pm]: wifi gpio init is OK !!

 

 

WIFI类型选好之后:

[    0.658361] [wifi]: select wifi: ap6212 !!

[    0.658709] [wifi_pm]: wrong sdio module select 9 !

[    0.658743] [wifi_pm]: wifi gpio init is OK !!

 

 

[   15.656191] gpio rtl8189es_shdn set val 1, act val 1

[   15.761750] [rtl8189es]: sdio wifi power state: on

[   15.767106] [mmc]: sdc1 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   15.767277] =========== WLAN placed in POWER ON ========

[   15.784182] [mmc]: sdc1 card_power_on start...

[   15.789109] [mmc]: sdc1 power_supply is null

[   15.793857] [mmc]: sdc1 card_power_on ok

[   15.810037] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   15.820279] [mmc]: mclk 0xf1c2008c 0x8002000e

[   15.902360] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 52,  RTO !!

[   15.911305] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 52,  RTO !!

[   15.919450] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   15.929676] [mmc]: mclk 0xf1c2008c 0x8002000e

[   15.991965] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   16.002195] [mmc]: mclk 0xf1c2008c 0x8002000e

[   16.063891] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 8,  RTO !!

[   16.071934] *******************Try sdio*******************

[   16.078823] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 5,  RTO !!

[   16.087668] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 5,  RTO !!

[   16.096538] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 5,  RTO !!

[   16.105383] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 5,  RTO !!

[   16.113418] *******************Try sd *******************

[   16.120218] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 55,  RTO !!

[   16.129151] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 55,  RTO !!

[   16.138093] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 55,  RTO !!

[   16.147028] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 55,  RTO !!

[   16.155169] *******************Try mmc*******************

[   16.161182] [mmc]: sdc1 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   16.171406] [mmc]: mclk 0xf1c2008c 0x8002000e

[   16.232099] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 1,  RTO !!

[   16.240146] [mmc]: mmc not poweroff notifiy

[   16.242077] [mmc]: sdc1 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   16.254692] [mmc]: sdc1 card_power_off start...

[   16.259714] [mmc]: sdc1 power_supply is null

[   16.264462] [mmc]: sdc1 card_power_off ok

[   16.271504] [mmc]: sdc1 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   16.282686] [mmc]: sdc1 card_power_on start...

[   16.287612] [mmc]: sdc1 power_supply is null

[   16.292380] [mmc]: sdc1 card_power_on ok

[   16.310033] [mmc]: sdc1 set ios: clk 300000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   16.320267] [mmc]: mclk 0xf1c2008c 0x80030009

[   16.402614] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 52,  RTO !!

[   16.411817] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 52,  RTO !!

[   16.419959] [mmc]: sdc1 set ios: clk 300000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   16.430184] [mmc]: mclk 0xf1c2008c 0x80030009

[   16.492539] [mmc]: sdc1 set ios: clk 300000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   16.502767] [mmc]: mclk 0xf1c2008c 0x80030009

[   16.564741] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 8,  RTO !!

 

 

 

 

18、

Q:\a33\ap6212a0_a33_sc3817r\lichee\linux-3.4\drivers\net\wireless\bcmdhd\include\bcmdevs.h

#define BCM43430_CHIP_ID43430/* 43430 chipcommon chipid 0xa9a6 */

 

 

Q:\a33\ap6212a0_a33_sc3817r\lichee\linux-3.4\drivers\net\wireless\bcmdhd\dhd_common.c

void

dhd_common_init(osl_t *osh)

{

int select_type = 0;

//aw checkout which wifi had select

select_type = wifi_pm_get_mod_type();

#ifdef CONFIG_BCMDHD_FW_PATH

//select ap6181 or ap6210 or ap6476

if (select_type == 1 || select_type == 2 || select_type == 7) {

bcm_strncpy_s(fw_path, sizeof(fw_path), "/system/vendor/modules/fw_bcm40181a2.bin", MOD_PARAM_PATHLEN-1);

}

#else /* CONFIG_BCMDHD_FW_PATH */

fw_path[0] = '\0';

#endif /* CONFIG_BCMDHD_FW_PATH */

#ifdef CONFIG_BCMDHD_NVRAM_PATH

switch (select_type)

{

//ap6181

case 1:

  bcm_strncpy_s(nv_path, sizeof(nv_path), "/system/vendor/modules/nvram_ap6181.txt", MOD_PARAM_PATHLEN-1);

  break;

  

//ap6210

case 2:

  bcm_strncpy_s(nv_path, sizeof(nv_path), "/system/vendor/modules/nvram_ap6210.txt", MOD_PARAM_PATHLEN-1);

  break;

//ap6476

case 7:

bcm_strncpy_s(nv_path, sizeof(nv_path), "/system/vendor/modules/nvram_ap6476.txt", MOD_PARAM_PATHLEN-1);

break;

//ap6212

case 9:

  bcm_strncpy_s(nv_path, sizeof(nv_path), "/system/vendor/modules/nvram_ap6212.txt", MOD_PARAM_PATHLEN-1);

  break;

default:

break;

}

#else /* CONFIG_BCMDHD_NVRAM_PATH */

nv_path[0] = '\0';

#endif /* CONFIG_BCMDHD_NVRAM_PATH */

#ifdef CONFIG_BCMDHD_CONFIG_PATH

bcm_strncpy_s(conf_path, sizeof(conf_path), "/system/vendor/modules/config.txt", MOD_PARAM_PATHLEN-1);

#else /* CONFIG_BCMDHD_CONFIG_PATH */

conf_path[0] = '\0';

#endif /* CONFIG_BCMDHD_CONFIG_PATH */

#ifdef SOFTAP

fw_path2[0] = '\0';

#endif

}

 

 

Q:\a33\ap6212a0_a33_sc3817r\lichee\linux-3.4\drivers\net\wireless\bcmdhd\dhd_linux.c

int

dhd_bus_start(dhd_pub_t *dhdp)

{

……

 

/* try to download image and nvram to the dongle */

if  ((dhd->pub.busstate == DHD_BUS_DOWN) &&

(fw_path[0] != '\0') && (nv_path[0] != '\0')) {

#ifdef SHOW_NVRAM_TYPE

{ /* Show nvram type in the kernel log */

int i;

for (i = 0; nv_path[i] != '\0'; ++i) {

if (nv_path[i] == '.') {

++i;

break;

}

}

DHD_ERROR(("%s: nvram_type = [%s]\n", __FUNCTION__, &nv_path[i]));

}

#endif /* SHOW_NVRAM_TYPE */

/* wake lock moved to dhdsdio_download_firmware */

if (!(dhd_bus_download_firmware(dhd->pub.bus, dhd->pub.osh,

fw_path, nv_path, conf_path))) {

DHD_ERROR(("%s: dhdsdio_probe_download failed. firmware = %s nvram = %s config = %s\n",

__FUNCTION__, fw_path, nv_path, conf_path));

#ifdef DHDTHREAD

if (dhd->threads_only)

dhd_os_sdunlock(dhdp);

#endif /* DHDTHREAD */

// 2017/6/23 18:40 wenyuanbo download ap6212 fail not return error!!!!

//return -1;

}

}

……

 

return 0;

}

 

 

Q:\a33\ap6212a0_a33_sc3817r\lichee\linux-3.4\drivers\net\wireless\bcmdhd\dhd_sdio.c

static bool

dhdsdio_chipmatch(uint16 chipid)

{

if (chipid == BCM4325_CHIP_ID)

return TRUE;

if (chipid == BCM4329_CHIP_ID)

return TRUE;

if (chipid == BCM4315_CHIP_ID)

return TRUE;

if (chipid == BCM4319_CHIP_ID)

return TRUE;

if (chipid == BCM4336_CHIP_ID)

return TRUE;

if (chipid == BCM4330_CHIP_ID)

return TRUE;

if (chipid == BCM43237_CHIP_ID)

return TRUE;

if (chipid == BCM43362_CHIP_ID)

return TRUE;

if (chipid == BCM4314_CHIP_ID)

return TRUE;

if (chipid == BCM43242_CHIP_ID)

return TRUE;

if (chipid == BCM43340_CHIP_ID)

return TRUE;

if (chipid == BCM43341_CHIP_ID)

return TRUE;

if (chipid == BCM43143_CHIP_ID)

return TRUE;

if (chipid == BCM43342_CHIP_ID)

return TRUE;

if (chipid == BCM4334_CHIP_ID)

return TRUE;

if (chipid == BCM43239_CHIP_ID)

return TRUE;

if (chipid == BCM4324_CHIP_ID)

return TRUE;

if (chipid == BCM4335_CHIP_ID)

return TRUE;

if (chipid == BCM4339_CHIP_ID)

return TRUE;

if (chipid == BCM4350_CHIP_ID)

return TRUE;

if (chipid == BCM43430_CHIP_ID)

return TRUE;

return FALSE;

}

 

 

出错信息:

WIFI:

在设置→WLAN(打开之后):

shell@astar-y3:/ $

shell@astar-y3:/ $ [  469.609956] init: computing context for service '/system/bin/wpa_supplicant'

[  469.618386] init: starting 'p2p_supplicant'

[  469.625739] init: Created socket '/dev/socket/wpa_wlan0' with mode '660', user '1010', group '1010'

[  469.673379] init: waitpid returned pid 2065, status = 0000ff00

[  469.679923] init: process 'p2p_supplicant', pid 2065 exited

 

shell@astar-y3:/ $

 

 

分析启动的log:

[   17.526849] gpio ap6xxx_wl_regon set val 1, act val 1

[   17.632508] [ap6xxx]: sdio wifi power state: on

[   17.637576] [mmc]: sdc1 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   17.637751] =========== WLAN placed in POWER ON ========

[   17.654651] [mmc]: sdc1 card_power_on start...

[   17.659576] [mmc]: sdc1 power_supply is null

[   17.664322] [mmc]: sdc1 card_power_on ok

[   17.680039] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   17.690275] [mmc]: mclk 0xf1c2008c 0x8002000e

[   17.772361] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 52,  RTO !!

[   17.781309] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 52,  RTO !!

[   17.789448] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   17.799714] [mmc]: mclk 0xf1c2008c 0x8002000e

[   17.862032] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   17.872262] [mmc]: mclk 0xf1c2008c 0x8002000e

[   17.933953] [mmc]: *** sunxi_mci_dump_errinfo(L773): smc 1 err, cmd 8,  RTO !!

[   17.941997] *******************Try sdio*******************

[   17.948400] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   17.958630] [mmc]: mclk 0xf1c2008c 0x8002000e

[   18.027775] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)

[   18.035416] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)

[   18.043087] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)

[   18.051920] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)

[   18.145287] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B

[   18.155436] [mmc]: mclk 0xf1c2008c 0x8002000e

[   18.215346] [mmc]: sdc1 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B

[   18.225736] [mmc]: mclk 0xf1c2008c 0x8100000b

[   18.285675] [mmc]: sdc1 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B

[   18.296021] [mmc]: mclk 0xf1c2008c 0x8140030b

[   18.357915] mmc1: new high speed SDIO card at address 0001

[   18.364532] bcmsdh_register: Linux Kernel SDIO/MMC Driver

[   18.364575] *******************sdio init ok*******************

[   18.377207] bcm_wlan_get_oob_irq enter.

[   18.381537] gpio [359] map to virq [7] ok

[   18.388851] F1 signature OK, socitype:0x1 chip:0xa9a6 rev:0x0 pkg:0x4

[   18.396019] dhdsdio_probe_attach: unsupported chip: 0xa9a6

[   18.402155] dhdsdio_probe: dhdsdio_probe_attach failed

[   18.407899] bcmsdh_probe: device attach failed

[   18.412981]

[   18.412984] Dongle Host Driver, version 1.88.45.3 (r420671)

[   18.412989] Compiled in drivers/net/wireless/bcmdhd on Jun 26 2017 at 12:06:39

[   18.428835] dhd_module_init: sdio_register_driver timeout or error

[   18.435928] gpio ap6xxx_wl_regon set val 0, act val 0

[   18.541549] [ap6xxx]: sdio wifi power state: off

[   18.546679] =========== WLAN placed in POWER OFF ========

[   18.546915] mmc1: card 0001 removed

[   18.546995] [mmc]: mmc not poweroff notifiy

[   18.547007] [mmc]: sdc1 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B

[   18.547160] [mmc]: sdc1 card_power_off start...

[   18.547166] [mmc]: sdc1 power_supply is null

[   18.547173] [mmc]: sdc1 card_power_off ok

[   18.631655] init: command 'insmod' r=-1

[   18.636066] init: command 'insmod' r=-1

[   18.658010] fs_mgr: swapon failed for /dev/block/zram0

[   18.663804] init: command 'swapon_all' r=-1

[   18.668504] init: processing action 0x58e70 (console_init)

[   18.675396] init: width = 1280

[   18.678788] init: height = 800

[   18.682224] init: s.st_size = 3145728

[   18.686308] init: logo match failed!fbsize = 4096000

[   18.718811] init: command 'console_init' r=0

[   18.723628] init: processing action 0x55bf0 (fs)

[   18.730640] init: command 'mkdir' r=-2

[   18.741901] init: command 'insmod' r=0

[   18.752227] init: command 'insmod' r=0

[   18.756491] init: command 'insmod' r=-1

[   18.771211] init: command 'insmod' r=0

[   18.779731] init: command 'insmod' r=0

[   18.791739] init: command 'insmod' r=0

[   18.803941] init: command 'insmod' r=0

[   18.816178] init: command 'insmod' r=0

 

 

 

 

19、(可选:)

Q:\a33\ap6212a0_a33_sc3817r\lichee\tools\pack\chips\sun8iw5p1\configs\default\env.cfg

bootdelay=3

loglevel=8

 

 

 

 

20、

R:\wyb\ap6212a0_a33_sc3817r\lichee\tools\pack\chips\sun8iw5p1\configs\y3\sys_config.fex

[power_sply]

dcdc1_vol       = 3000

dcdc2_vol       = 1100

dcdc3_vol       = 1200

dcdc4_vol       = 0

dcdc5_vol       = 1500

aldo1_vol       = 3300

aldo2_vol       = 2500

aldo3_vol       = 3000

dldo1_vol       = 3300

dldo2_vol       = 3300

dldo3_vol       = 2800

;gpio0_vol      = 2800

ldoio0_vol      = 2800

 

 

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

;uart configuration

;uart_used = uart x enable

;uart_type       = 2:2 wire,4:4 wire,8:8 wire, full function

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

[uart0]

uart_used       = 1

uart_port       = 0

uart_type       = 2

uart_tx         = port:PF02<3><1><default><default>

uart_rx         = port:PF04<3><1><default><default>

 

 

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

;capacitor tp configuration

;ctp_twi_id : twi controller ID

;ctp_twi_addr : I2C slave address, 7bit

;ctp_screen_max_x/_y : resolution of touch panel

;ctp_revert_x/_y_flag : whether need to revert x/y

;ctp_exchange_x_y_flag: whether need to exchange the value of x and y

;ctp_int_port : port for tp's interrupt signal

;ctp_wakeup : port for wakeup tp

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

[ctp_para]

ctp_used            = 1

ctp_name            = "gt82x"

ctp_twi_id          = 0

ctp_twi_addr        = 0x5d

ctp_screen_max_x    = 1280

ctp_screen_max_y    = 800

ctp_revert_x_flag   = 1

ctp_revert_y_flag   = 1

ctp_exchange_x_y_flag = 1

 

ctp_int_port        = port:PL04<4><default><default><default>

ctp_wakeup          = port:PL03<1><default><default><1>

ctp_power_ldo       =

ctp_power_ldo_vol   =

ctp_power_io        =

 

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

; CTP automatic detection configuration

;ctp_detect_used  --- Whether startup automatic inspection function. 1:used,0:unused

;Module name postposition 1 said detection, 0 means no detection.

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

[ctp_list_para]

ctp_det_used              = 1

ft5x_ts                   = 1

gt82x                     = 1

gslX680                   = 1

gslX680new                = 0

gt9xx_ts                  = 1

gt9xxf_ts                 = 0

tu_ts                     = 0

gt818_ts                  = 1

zet622x                   = 1

aw5306_ts                 = 1

icn83xx_ts                = 0

 

 

[lcd0_para]

lcd_used            = 1

 

lcd_driver_name     = "default_lcd"

lcd_if              = 3

lcd_x               = 1280

lcd_y               = 800

lcd_width           = 150

lcd_height          = 94

lcd_dclk_freq       = 71

lcd_pwm_used        = 1

lcd_pwm_ch          = 0

lcd_pwm_freq        = 50000

lcd_pwm_pol         = 1

lcd_hbp             = 20

lcd_ht              = 1418

lcd_hspw            = 10

lcd_vbp             = 10

lcd_vt              = 830

lcd_vspw            = 5

lcd_lvds_if         = 0

lcd_lvds_colordepth = 1

lcd_lvds_mode       = 0

lcd_frm             = 1

lcd_gamma_en        = 0

lcd_bright_curve_en = 0

lcd_cmap_en         = 0

 

deu_mode            = 0

lcdgamma4iep        = 22

smart_color        = 90

 

lcd_bl_en           = port:PD13<1><0><default><1>

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

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

lcd_power           = "axp22_dc1sw"

 

lcdd0               = port:PD18<3><0><default><default>

lcdd1               = port:PD19<3><0><default><default>

lcdd2               = port:PD20<3><0><default><default>

lcdd3               = port:PD21<3><0><default><default>

lcdd4               = port:PD22<3><0><default><default>

lcdd5               = port:PD23<3><0><default><default>

lcdd6               = port:PD24<3><0><default><default>

lcdd7               = port:PD25<3><0><default><default>

lcdd8               = port:PD26<3><0><default><default>

lcdd9               = port:PD27<3><0><default><default>

 

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

;pwm config

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

[pwm0_para]

pwm_used            = 0

pwm_positive        = port:PH00<2><0><default><default>

 

[pwm1_para]

pwm_used            = 1

pwm_positive        = port:PH01<2><0><default><default>

 

 

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

;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

;                9- ap6212(wifi+bt)

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

[wifi_para]

wifi_used          = 1

wifi_sdc_id        = 1

wifi_usbc_id       = 1

wifi_usbc_type     = 1

wifi_mod_sel       = 9

wifi_power         = "axp22_dldo1"

wifi_power_ext1    = "axp22_dldo2"

wifi_power_ext2    = "axp22_aldo1"

wifi_power_switch  =

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

 

; 1 - ap6181 sdio wifi gpio config

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

;ap6xxx_wl_host_wake  = port:PL07<4><default><default><0>

;ap6xxx_lpo_use_apclk = 1

 

; 2 - ap6210 sdio wifi gpio config

ap6xxx_wl_regon      = port:PL06<1><default><default><0>

;ap6xxx_wl_regon      = port:PD13<1><default><default><0>

ap6xxx_wl_host_wake  = port:PL07<4><default><default><0>

ap6xxx_bt_regon      = port:PL08<1><default><default><0>

ap6xxx_bt_wake       = port:PL10<1><default><default><0>

ap6xxx_bt_host_wake  = port:PL09<4><default><default><0>

ap6xxx_lpo_use_apclk = 1

 

; 3 - rtl8188eu usb wifi gpio conifg

 

; 4 - rtl8723au usb wifi + bt

 

; 5 - rtl8723bs sdio wifi + bt

;rtl8723bs_chip_en       = port:PL11<1><default><default><0>

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

;rtl8723bs_wl_host_wake  = port:PL07<4><default><default><0>

;rtl8723bs_bt_regon      = port:PL08<1><default><default><0>

;rtl8723bs_bt_wake       = port:PL10<1><default><default><0>

;rtl8723bs_bt_host_wake  = port:PL09<4><default><default><0>

;rtl8723bs_lpo_use_apclk = 0

 

; 6 - eagle sdio wifi

;esp_wl_chip_en        = port:PL03<1><default><default><0>

;esp_wl_rst            = port:PL02<1><default><default><0>

 

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

;blue tooth

;bt_used ---- blue tooth used (0- no used, 1- used)

;bt_uard_id ---- uart index

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

[bt_para]

bt_used             = 1

bt_uart_id          = 1

 

 

power_start                = 3

 

pmu_temp_enable            = 0

 

 

 

 

18、

刷机之后,WIF和BT都可以用。

BT传输4.5MB的JPG图片大概需要2分钟。

出现了WIFI的图标了。可以上yahoo了:www.yahoo.com

(全文完成)

 

 

阅读全文
0 0
原创粉丝点击