调通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

(全文完成)

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

  1. 调通sina33m下的ap6181版本(分色排版)V1.0

    调通sina33m下的ap6181版本 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 wb4916 AT qq.com 完成时间:2017/7/7 18:11 版本:V1.0 SDK:Android6. ...

  2. 调通sina33m下的GC0308(分色排版)V1.0

    调通sina33m下的GC0308 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 wb4916 AT qq.com 完成时间:2017/7/13 14:52 版本:V1.0 SDK:Android6.0 ...

  3. 物联网WiFi/BT/ZigBee芯片

    导语 下一个蕴含50亿美元商机的巨大市场在哪里?--在物联网. 众所周知,物联网的基础是物物间的互联互通,因此,简单.稳定.可靠的联网能力是物联网发展的最重要的元素之一.在有线和无线两种方式中,由于连 ...

  4. 全志A33平台调通AP6181(分色排版)

    全志A33平台调通AP6181 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 wb4916 AT qq.com 完成时间:2017/6/22 20:15 版本:V1.0 1.(可选,在设置中不显示:蓝牙 ...

  5. RK平台WiFi/BT兼容方案

    根据模块根据调用check_wifi_chip_type_string函数获取的type来决定WiFi/BT模块的模组厂.其中常见WiFi/BT模组的接口有USB.SDIO以及PCIE.对应的路径如下 ...

  6. 华为linux版本wifi驱动,Ubuntu安装无线网卡驱动 Wifi/BT BCM4330 (AP6383)

    像BCM4330 (AP6383)这样的Wifi/蓝牙一体化芯片常见于一些平板电脑.笔记本和mini pc中.特别是z3735.z8300.core m这些芯片的平板电脑很常见.AP6210也比较常见 ...

  7. bt linux wifi,Ubuntu安装无线网卡驱动Wifi/BT BCM4330(AP6383)

    像BCM4330 (AP6383)这样的Wifi/蓝牙一体化芯片常见于一些平板电脑.笔记本和mini pc中.特别是z3735.z8300.core m这些芯片的平板电脑很常见.AP6210也比较常见 ...

  8. FM1702sl终于调通小结

    先发个牢骚 前段时间着手调试fm1702sl的刷卡器,真是费了好一番功夫,首先对于这款芯片其实不应该算很难的,但是拿到fm1702sl的芯片手册,打开一看却是一头雾水,整整列出了几十个寄存器,但是没有 ...

  9. 全志芯片 Wi-Fi/BT MAC地址定制

    问题背景 很多Wi-Fi/BT模组默认出厂是不带MAC地址的,整机厂需要根据需求,烧写特定的MAC地址. MAC地址通路 Linux-4.9后,全志平台模组MAC地址定制流程如下 系统启动后,引导程序 ...

最新文章

  1. 朴素贝叶斯分类器详解及中文文本舆情分析(附代码实践)
  2. c语言中的常用函数的使用,C语言的常用库函数使用方法分析及用途
  3. 常用代码之三:jQuery为按钮绑定事件的代码
  4. java crontab_(定时任务)crontab和cron 的用法
  5. 上海python培训班-上海哪家python培训班比较靠谱?
  6. 使用OpenGL Shader实现放大镜效果
  7. 笔记-项目管理基础知识-项目管理办公室(PMO)
  8. python2.7输入函数_Python2.7的用户输入函数有问题,无法让这些输入与程序一起工作...
  9. python主线程执行_在Django vi中的主线程中执行Python函数
  10. 40年技术发展变革,物联网行业的趋势、现状与挑战
  11. 信息学奥赛一本通 1138:将字符串中的小写字母转换成大写字母 | OpenJudge NOI 1.7 13
  12. 2019支持c99吗_德国LYNX携手北京十方融科科技有限公司成功中标2019年中国联通北京市分公司4K超高清视频信号传输设备购置项目...
  13. 送女朋友的java小程序_用C编写一个送给女朋友的情人节小程序 可爱!
  14. ArcGIS 9在WIN XP 和 WIN 2003 系统下安装部分动态库不能注册
  15. 分享一个超棒的免费jQuery幻灯插件:Nivo Slider
  16. 【图像提取】基于matlab PCA-CSIFT feature图像特征提取【含Matlab源码 1174期】
  17. QTableView样式设置
  18. 双系统中Ubuntu启动失败
  19. 工业相机镜头 参数概念
  20. SAP mbew 标准价和移动平均价

热门文章

  1. Cesium可视域分析 不用修改源码
  2. 用户直呼 “用不起”,共享充电宝大涨价
  3. 11月23日云栖精选夜读:阿里AI Labs王刚解读9小时卖出百万台的“天猫精灵” | 高山大学(GASA)
  4. 在Linux下玩魔兽争霸——wine配置
  5. i18n调用自己参数_I18N的前后端实现
  6. 巨子生物在港交所启动招股:股东提前“套现”,未获基石投资订单
  7. 外资巨头大举攻城 中国ERP市场危机四伏
  8. 线性回归中均方差的意义
  9. java线上问题定位
  10. 安卓注定不是苹果的对手