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

调通sina33m下的ap6181版本

 

 

大文实验室/大文哥

壹捌陆捌零陆捌捌陆捌贰

wb4916 AT qq.com

完成时间:2017/7/7 18:11

版本:V1.0

 

SDK:Android6.0.1

开发板:SC3817R

 

 

1、关闭“设置”中的“蓝牙”选项:

R:\wyb\ap6181_sina33m_sc3817r\android\device\softwinner\astar-d7\overlay\frameworks\base\core\res\res\values\config.xml

(干掉这里

    <!-- 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>

 

 

 

 

2、打开WIFI,关闭BT:

R:\wyb\ap6181_sina33m_sc3817r\android\device\softwinner\astar-d7\astar_d7.mk

PRODUCT_PACKAGES += Launcher3

PRODUCT_PACKAGES += \

    ESFileExplorer \

    VideoPlayer

    #Bluetooth 

 

 

PRODUCT_COPY_FILES += \

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

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

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

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

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

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

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

 

 

#PRODUCT_COPY_FILES += \

#    device/softwinner/astar-d7/bluetooth/bt_vendor.conf:system/etc/bluetooth/bt_vendor.conf

# bootanimation

PRODUCT_COPY_FILES += \

    device/softwinner/astar-d7/media/bootanimation.zip:system/media/bootanimation.zip

 

# camera config for camera detector

#PRODUCT_COPY_FILES += \

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

 

 

# Realtek wifi efuse map

#PRODUCT_COPY_FILES += \

    #device/softwinner/astar-d7/wifi_efuse_8723bs-vq0.map:system/etc/wifi/wifi_efuse_8723bs-vq0.map

 

 

PRODUCT_PROPERTY_OVERRIDES += \

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

    ro.adb.secure=0 \

    ro.sys.mutedrm=true \

    rw.logger=0

 

 

#$(call inherit-product-if-exists, vendor/google/products/gms_base.mk)

 

#for 8723bs-vq0,should setmacaddr

#PRODUCT_PACKAGES += setmacaddr

 

#for 8723bs-vq0,should setbtmacaddr

#PRODUCT_PACKAGES += setbtmacaddr

 

 

 

 

3、修改WIFI为AP6181:

R:\wyb\ap6181_sina33m_sc3817r\android\device\softwinner\astar-d7\BoardConfig.mk

# 1.2 broadcom wifi support

# BOARD_USR_WIFI:ap6181/ap6210/ap6212/ap6330/ap6335

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"

 

    BOARD_USR_WIFI := ap6181

    include hardware/broadcom/wlan/bcmdhd/firmware/$(BOARD_USR_WIFI)/device-bcm.mk

 

endif

 

# 2. Bluetooth Configuration

# make sure BOARD_HAVE_BLUETOOTH is true for every bt vendor

# BOARD_HAVE_BLUETOOTH_NAME:rtl8723bs/rtl8723bs_vq0/rtl8723cs/ap6210/ap6212/ap6330/ap6335/

#BOARD_HAVE_BLUETOOTH := true

#

#BOARD_HAVE_BLUETOOTH_BCM := true

#BOARD_HAVE_BLUETOOTH_NAME := ap6212

 

#BOARD_HAVE_BLUETOOTH_RTK_COEX := true

#BOARD_HAVE_BLUETOOTH_RTK := true

#BLUETOOTH_HCI_USE_RTK_H5 := true

 

#BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/softwinner/astar-d7/bluetooth

 

 

 

 

4、关闭BT:

R:\wyb\ap6181_sina33m_sc3817r\android\device\softwinner\astar-d7\init.sun8i.rc

    # tp & sensors

    init_dev_detect

 

 

# network

    insmod /system/vendor/modules/bcmdhd.ko

    #insmod /system/vendor/modules/bcm_btlpm.ko

    insmod /system/vendor/modules/usbnet.ko

    insmod /system/vendor/modules/asix.ko

    insmod /system/vendor/modules/qf9700.ko

    #insmod /system/vendor/modules/mcs7830.ko

    #insmod /system/vendor/modules/smsc95xx.ko

    insmod /system/vendor/modules/rtl8152.ko

    #insmod /system/vendor/modules/cdc_ether.ko

 

# GPS

#    chmod 777 /system/bin/glgps

#    chown root system /system/bin/glgps

#    chmod 777 /system/lib/hw/gps.default.so

#    chown root system /system/lib/hw/gps.default.so

#    mkdir /data/gps

#    chmod 770 /data/gps

#    chown system net_bt_stack /data/gps

 

# to observe dnsmasq.leases file for dhcp information of soft ap.

    chown dhcp system /data/misc/dhcp

 

 

on post-fs-data

    mkdir /data/media 0770 media_rw media_rw

 

    # bluetooth MAC address programming

    #chown bluetooth net_bt_stack ro.bt.bdaddr_path

    #chown bluetooth net_bt_stack /system/etc/bluetooth

    #chown bluetooth net_bt_stack /data/misc/bluetooth

    #setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr"

 

    # Set indication (checked by vold) that we have finished this action

    setprop vold.post_fs_data_done 1

    # to force to start sdcard

    # class_start late_start

 

    # This module write data to /data should insmod in post-fs-data

    # due to encryption

 

 

 

on boot

    chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

    chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

 

    chown system system /sys/kernel/autohotplug/enable

    chmod 0660 /sys/kernel/autohotplug/enable

 

    chown system system /sys/devices/system/cpu/cpu0/cpufreq/boot_lock

    chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/boot_lock

 

    chown system system /sys/devices/platform/sunxi-budget-cooling/roomage

    chmod 0660 /sys/devices/platform/sunxi-budget-cooling/roomage

 

    chown system system /sys/class/devfreq/sunxi-ddrfreq/dsm/scene

    chmod 0660 /sys/class/devfreq/sunxi-ddrfreq/dsm/scene

 

 

on charger

    insmod disp.ko

    insmod lcd.ko

    class_start charger

    write /sys/module/printk/parameters/console_suspend N

    write /proc/sys/kernel/printk 0

 

on fs

    # UDISK would be mounted as data partition when multiple user enabled.

    #format_userdata /dev/block/by-name/UDISK ASTAR

    

    #bluesleep

    #insmod /system/vendor/modules/rtl_bluesleep.ko

 

 

    ## bluetooth

    ## UART device

    #chmod 0660 /dev/ttyS1

    #chown bluetooth net_bt_stack /dev/ttyS1

    #

    ## power up/down interface

    #chmod 0660 /sys/class/rfkill/rfkill0/state

    #chmod 0660 /sys/class/rfkill/rfkill0/type

    #chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state

    #chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type

    #

    #

    ## bluetooth LPM

    #chmod 0220 /proc/bluetooth/sleep/lpm

    #chmod 0220 /proc/bluetooth/sleep/btwrite

    #chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm

    #chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite

    #write /proc/bluetooth/sleep/lpm 1

 

 

 

 

5、可选:

R:\wyb\ap6181_sina33m_sc3817r\android\device\softwinner\astar-d7\ueventd.sun8i.rc

#/dev/video1                 0777    media       media

/dev/snd/pcmC0D0c           0777    media       media

/dev/snd/pcmC0D0p           0777    media       media

#/dev/ttyS1                  0660    bluetooth   bluetooth

 

 

 

 

6、可选:

R:\wyb\ap6181_sina33m_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>

 

 

 

 

7、请严重注意,全志在这里埋坑了!(坑爹无敌!)

Android里面调入配置文件:nvram.txt,里面里面调入:nvram_ap6181.txt

 

R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\config.txt

R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\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

 

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"

 

PRODUCT_COPY_FILES += \

    hardware/broadcom/wlan/bcmdhd/firmware/ap6181/fw_bcm40181a2_p2p.bin:system/vendor/modules/fw_bcm40181a2_p2p.bin \

    hardware/broadcom/wlan/bcmdhd/firmware/ap6181/fw_bcm40181a2_apsta.bin:system/vendor/modules/fw_bcm40181a2_apsta.bin \

    hardware/broadcom/wlan/bcmdhd/firmware/ap6181/fw_bcm40181a2.bin:system/vendor/modules/fw_bcm40181a2.bin \

    hardware/broadcom/wlan/bcmdhd/firmware/ap6181/nvram_ap6181.txt:system/vendor/modules/nvram_ap6181.txt \

    hardware/broadcom/wlan/bcmdhd/firmware/ap6181/config.txt:system/vendor/modules/config.txt

 

 

R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\fw_bcm40181a2.bin

R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\fw_bcm40181a2_apsta.bin

R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\fw_bcm40181a2_p2p.bin

R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\nvram_ap6181.txt

 

 

 

 

8、可选:

R:\wyb\ap6181_sina33m_sc3817r\android\packages\apps\Camera2\src\com\android\camera\CameraActivity.java

 

 

 

 

9、可选:

R:\wyb\ap6181_sina33m_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;

}

 

 

 

 

10、可选:

R:\wyb\ap6181_sina33m_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*/

"ap6330",     /* 10- AP6330*/

"gb9663",     /* 11- GB9663*/

};

 

 

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;

}

 

 

 

 

11、可选:

R:\wyb\ap6181_sina33m_sc3817r\lichee\linux-3.4\drivers\net\wireless\bcmdhd\include\bcmdevs.h

#define BCM4350_CHIP_ID 0x4350          

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

 

#define BCM4342_CHIP_ID 4342

 

 

R:\wyb\ap6181_sina33m_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();

select_type = 1;

#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.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

}

 

 

R:\wyb\ap6181_sina33m_sc3817r\lichee\linux-3.4\drivers\net\wireless\bcmdhd\dhd_linux.c

int

dhd_bus_start(dhd_pub_t *dhdp)

{

int ret = -1;

dhd_info_t *dhd = (dhd_info_t*)dhdp->info;

unsigned long flags;

 

ASSERT(dhd);

 

DHD_TRACE(("Enter %s:\n", __FUNCTION__));

 

#ifdef DHDTHREAD

if (dhd->threads_only)

dhd_os_sdlock(dhdp);

#endif /* DHDTHREAD */

 

 

/* 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;

}

}

if (dhd->pub.busstate != DHD_BUS_LOAD) {

#ifdef DHDTHREAD

if (dhd->threads_only)

dhd_os_sdunlock(dhdp);

#endif /* DHDTHREAD */

return -ENETDOWN;

}

 

/* Start the watchdog timer */

dhd->pub.tickcnt = 0;

dhd_os_wd_timer(&dhd->pub, dhd_watchdog_ms);

 

/* Bring up the bus */

if ((ret = dhd_bus_init(&dhd->pub, FALSE)) != 0) {

 

DHD_ERROR(("%s, dhd_bus_init failed %d\n", __FUNCTION__, ret));

#ifdef DHDTHREAD

if (dhd->threads_only)

dhd_os_sdunlock(dhdp);

#endif /* DHDTHREAD */

return ret;

}

bcmsdh_set_drvdata(dhdp); // terence 20130427: fix for null pointer issue

#if defined(OOB_INTR_ONLY)

/* Host registration for OOB interrupt */

if (bcmsdh_register_oob_intr(dhdp)) {

/* deactivate timer and wait for the handler to finish */

 

flags = dhd_os_spin_lock(&dhd->pub);

dhd->wd_timer_valid = FALSE;

dhd_os_spin_unlock(&dhd->pub, flags);

del_timer_sync(&dhd->timer);

 

DHD_ERROR(("%s Host failed to register for OOB\n", __FUNCTION__));

#ifdef DHDTHREAD

if (dhd->threads_only)

dhd_os_sdunlock(dhdp);

#endif /* DHDTHREAD */

DHD_OS_WD_WAKE_UNLOCK(&dhd->pub);

return -ENODEV;

}

 

/* Enable oob at firmware */

dhd_enable_oob_intr(dhd->pub.bus, TRUE);

#endif

 

/* If bus is not ready, can't come up */

if (dhd->pub.busstate != DHD_BUS_DATA) {

flags = dhd_os_spin_lock(&dhd->pub);

dhd->wd_timer_valid = FALSE;

dhd_os_spin_unlock(&dhd->pub, flags);

del_timer_sync(&dhd->timer);

DHD_ERROR(("%s failed bus is not ready\n", __FUNCTION__));

#ifdef DHDTHREAD

if (dhd->threads_only)

dhd_os_sdunlock(dhdp);

#endif /* DHDTHREAD */

DHD_OS_WD_WAKE_UNLOCK(&dhd->pub);

return -ENODEV;

}

 

#ifdef DHDTHREAD

if (dhd->threads_only)

dhd_os_sdunlock(dhdp);

#endif /* DHDTHREAD */

 

dhd_process_cid_mac(dhdp, TRUE);

 

/* Bus is ready, do any protocol initialization */

if ((ret = dhd_prot_init(&dhd->pub)) < 0)

return ret;

 

dhd_process_cid_mac(dhdp, FALSE);

 

#ifdef ARP_OFFLOAD_SUPPORT

if (dhd->pend_ipaddr) {

#ifdef AOE_IP_ALIAS_SUPPORT

aoe_update_host_ipv4_table(&dhd->pub, dhd->pend_ipaddr, TRUE, 0);

#endif /* AOE_IP_ALIAS_SUPPORT */

dhd->pend_ipaddr = 0;

}

#endif /* ARP_OFFLOAD_SUPPORT */

 

return 0;

}

 

 

R:\wyb\ap6181_sina33m_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;

}

 

 

 

 

 

R:\wyb\ap6181_sina33m_sc3817r\lichee\tools\pack\chips\sun8iw5p1\configs\d7\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

 

 

[jtag_para]

jtag_enable     = 0

 

 

;*****************************************************************************

;sdram configuration

;

;*****************************************************************************

[dram_para]

dram_clk        = 552

 

 

[wakeup_src_para]

cpu_en = 0

cpu_freq = 48

; (cpu:apb:ahb)

pll_ratio = 0x111

dram_selfresh_en= 1

dram_freq = 36

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

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

;bb_wake_ap = port:PL02<4><default><default><0>

 

 

[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

 

 

[motor_para]

motor_used          = 0

 

 

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

;lcd0 configuration

 

;lcd_if:               0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi

;lcd_x:                lcd horizontal resolution

;lcd_y:                lcd vertical resolution

;lcd_width:            width of lcd in mm

;lcd_height:           height of lcd in mm

;lcd_dclk_freq:        in MHZ unit

;lcd_pwm_freq:         in HZ unit

;lcd_pwm_pol:          lcd backlight PWM polarity

;lcd_pwm_max_limit     lcd backlight PWM max limit(<=255)

;lcd_hbp:              hsync back porch

;lcd_ht:               hsync total cycle

;lcd_vbp:              vsync back porch

;lcd_vt:               vysnc total cycle

;lcd_hspw:             hsync plus width

;lcd_vspw:             vysnc plus width

;lcd_lvds_if:          0:single link;  1:dual link

;lcd_lvds_colordepth:  0:8bit; 1:6bit

;lcd_lvds_mode:        0:NS mode; 1:JEIDA mode

;lcd_frm:              0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither

;lcd_io_phase:         0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;

;                      8~11bit:dclk phase; 12~15bit:de phase)

;lcd_gamma_en          lcd gamma correction enable

;lcd_bright_curve_en   lcd bright curve correction enable

;lcd_cmap_en           lcd color map function enable

;deu_mode              0:smoll lcd screen; 1:large lcd screen(larger than 10inch)

;lcdgamma4iep:         Smart Backlight parameter, lcd gamma vale * 10;

;                      decrease it while lcd is not bright enough; increase while lcd is too bright

;smart_color           90:normal lcd screen 65:retina lcd screen(9.7inch)

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

[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>

 

 

[usbc0]

usb_used            = 1

usb_port_type       = 2

usb_detect_type     = 1

usb_id_gpio         = port:PD10<0><1><default><default>

usb_det_vbus_gpio   = "axp_ctrl"

usb_drv_vbus_gpio   = port:power4<1><0><default><0>

usb_restrict_gpio   =

usb_host_init_state = 0

usb_restric_flag    = 0

usb_restric_voltage = 3550000

usb_restric_capacity= 5

usb_regulator_io    = "nocare"

usb_regulator_vol   = 0

usb_regulator_id_vbus = "axp22_dcdc1"

usb_regulator_id_vbus_vol = 3000000

 

[usbc1]

usb_used            = 1

usb_drv_vbus_gpio   = port:PD12<1><0><default><0>

usb_restrict_gpio   =

usb_host_init_state = 1

usb_restric_flag    = 0

usb_regulator_io    = "nocare"

usb_regulator_vol   = 0

usb_not_suspend     = 0

 

 

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

;wifi/bt/fm/gps/nfc modules configuration

;module_num:   

;             0- none

;             1- ap6181(wifi)

;             2- ap6210(wifi+bt)

;             3- rtl8188eu(wifi)

;             4- rtl8723au(wifi+bt)

;             5- rtl8723bs(wifi+bt)

;             6- esp8089(wifi)

;             7- ap6476(wifi+bt+fm+gps)

;             8- rtl8189es(wifi)

;             9- ap6212(wifi+bt+fm)

;            10- ap6330(wifi+bt+fm)

;            11- gb9663(wifi+bt+fm)

;module_power1: ""- bat, "axp_dldo1"- axp dldo1

;module_power1_vol: power1 voltage, mv; not used for module_power1 is ""

;module_power2: ""- bat, "axp_dldo2"- axp dldo2

;module_power2_vol: power2 voltage, mv; not used for module_power2 is ""

;module_power3: ""- bat, "axp_dldo2"- axp dldo2

;module_power3_vol: power3 voltage, mv; not used for module_power3 is ""

;power_switch:  module power switch io when bat supply

;chip_en:       enable chip io

;lpo_use_apclk: ""- not use, "losc_out"- a23/33, "ac10032k1"、"ac10032k2"、"ac10032k3"- a80/a83

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

[rf_para]

module_num          = 1

module_power1       = "axp22_aldo1"

module_power1_vol   = 3000000

module_power2       = ""

module_power2_vol   = 3000000

module_power3       = ""

module_power3_vol   = 3000000

power_switch        =

chip_en             =

lpo_use_apclk       = "losc_out"

 

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

;wifi configuration

;wifi_used:      0-not use, 1- use

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

;wl_reg_on:      wifi function enable io

;wl_host_wake:   wifi device wake-up host

;wl_host_wake_invert: whether wl_host_wake use inverter between ap and module

;                     0: not used, 1: used   

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

[wifi_para]

wifi_used          = 1

wifi_sdc_id        = 1

wifi_usbc_id       = 1

wifi_usbc_type     = 1

wifi_mod_sel       = 1

wifi_power         = ""

wifi_power_ext1    = ""

wifi_power_ext2    = ""

 

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

 

; 7 - ap6476 sdio wifi gpio config

;ap6xxx_wl_regon      = port:PL06<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

 

; 8 - rtl8189es sdio wifi gpio conifg

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

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

 

usb_vbus_power_ctrl    = port:PL11<1><default><default><1>

usb_eth_power_ctrl     = port:PL04<1><default><default><1>

 

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

;bluetooth configuration

;bt_used:       0- no used, 1- used

;bt_uard_id: 0- uart0, 1- uart1, 2- uart2

;bt_rst_n:      bt function enable io

;bt_wake:       host wake-up bluetooth device

;bt_wak_host:   bt device wake-up host

;bt_wake_invert: whether bt_wake use inverter between ap and module

;                     0: not used, 1: used

;bt_host_wake_invert: whether bt_host_wake use inverter between ap and module

;                     0: not used, 1: used

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

[bt_para]

bt_used               = 0

bt_uart_id            = 1

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

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

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

bt_wake_invert        = 0

bt_host_wake_invert   = 0

ls_int                = port:PB07<1><default><default><0>

pcm_ch                = port:PB05<1><default><default><0>

 

 

[gy_list_para]

gy_det_used          = 0

 

 

[ls_list_para]

ls_det_used          = 0

 

 

power_start                = 3

 

pmu_temp_enable            = 0

 

 

全志R16的tinav2.1下调通AP6181的步骤.txt 思路:由于tinav2.1的SDK在全志R16的开发板SC3817上是可以使用AP6212A0的WIFI功能的。 由此证明:SC3817的开发板的WIFI的硬件部分正常。我拿到的tinav2.1的SDK正常。 由于在驱动lichee中,WIFI通过读取ID号自动加载固件的。 因此只需要把AP6181A2的固件放到AP6212的目录下,并适当修改配置文件/做出相应的修改。 就可以让tinav2.1在上电启动的时候,通过自动识别AP6181A2来加载其固件了。 1、使用AP6212原厂/代理商提供的固件在android4.4.2 parrotv1.1下调通AP6181: (如果没有这个文件,可以生成WLAN0节点,但是不能连网) R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\config.txt (这个文件没用) R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\device-bcm.mk R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\fw_bcm40181a2.bin R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\fw_bcm40181a2_apsta.bin R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\fw_bcm40181a2_p2p.bin R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\nvram_ap6181.txt 2、 R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\linux-firmware\broadcom.mk Package/ap6212-firmware = $(call Package/firmware-default,Broadcom AP6212 firmware) define Package/ap6212-firmware/install $(INSTALL_DIR) $(1)/lib/firmware $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/*.bin \ $(1)/lib/firmware/ $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/*.hcd \ $(1)/lib/firmware/ $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/nvram_ap6212.txt \ $(1)/lib/firmware/nvram.txt endef $(eval $(call BuildPackage,ap6212-firmware)) 修改为: Package/ap6212-firmware = $(call Package/firmware-default,Broadcom AP6212 firmware) define Package/ap6212-firmware/install $(INSTALL_DIR) $(1)/lib/firmware $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/*.bin \ $(1)/lib/firmware/ $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/*.hcd \ $(1)/lib/firmware/ $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/nvram_ap6181.txt \ $(1)/lib/firmware/nvram.txt $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/config.txt \ $(1)/lib/firmware/config.txt endef $(eval $(call BuildPackage,ap6212-firmware)) 3、 R:\wyb\ap6181+ap6212a0_r16_tinav2.1\target\allwinner\astar-parrot\configs\sys_config.fex [wakeup_src_para] cpu_en = 0 cpu_freq = 48 ; (cpu:apb:ahb) pll_ratio = 0x111 dram_selfresh_en= 1 dram_freq = 36 wakeup_src_wl = port:PL07<4><default><default><0> wakeup_src_bt = port:PL09<4><default><default><0> bb_wake_ap = port:PL02<4><default><default><0> 修改为: [wakeup_src_para] cpu_en = 0 cpu_freq = 48 ; (cpu:apb:ahb) pll_ratio = 0x111 dram_selfresh_en= 1 dram_freq = 36 ;wakeup_src_wl = port:PL07<4><default><default><0> wakeup_src_wl = port:PG09<4><default><default><0> ;wakeup_src_bt = port:PL09<4><default><default><0> bb_wake_ap = port:PL02<4><default><default><0> [rf_para] module_num = 10 module_power1 = "axp22_dldo1" module_power1_vol = 3300000 module_power2 = "axp22_dldo2" module_power2_vol = 3300000 module_power3 = "axp22_aldo1" module_power3_vol = 3300000 power_switch = chip_en = lpo_use_apclk = "losc_out" 修改为: [rf_para] module_num = 1 module_power1 = "axp22_dldo1" module_power1_vol = 3300000 module_power2 = "axp22_dldo2" module_power2_vol = 3300000 module_power3 = "axp22_aldo1" module_power3_vol = 3300000 power_switch = chip_en = lpo_use_apclk = "losc_out" [wifi_para] wifi_used = 1 wifi_sdc_id = 1 wifi_usbc_id = 1 wifi_usbc_type = 1 wl_reg_on = port:PL06<1><default><default><0> wl_host_wake = port:PL07<4><default><default><0> 修改为: [wifi_para] wifi_used = 1 wifi_sdc_id = 1 wifi_usbc_id = 1 wifi_usbc_type = 1 ;wl_reg_on = port:PL06<1><default><default><0> ;wl_host_wake = port:PL07<4><default><default><0> wl_reg_on = port:PG06<1><default><default><0> wl_host_wake = port:PG09<4><default><default><0> wl_host_wake_invert = 0 AP6181没有蓝牙功能,直接关闭。 [bt_para] bt_used = 0 ;bt_uart_id = 1 ;bt_rst_n = port:PL08<1><default><default><0> ;bt_wake = port:PL10<1><default><default><0> ;bt_host_wake = port:PL09<4><default><default><0> ;bt_host_wake_invert = 0 4、编译系统: rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ source build/envsetup.sh including target/allwinner/tulip-d1/vendorsetup.sh including target/allwinner/azalea-evb/vendorsetup.sh including target/allwinner/octopus-sch/vendorsetup.sh including target/allwinner/astar-evb/vendorsetup.sh including target/allwinner/azalea-perf3/vendorsetup.sh including target/allwinner/azalea-perf2/vendorsetup.sh including target/allwinner/azalea-perf1/vendorsetup.sh including target/allwinner/astar-spk/vendorsetup.sh including target/allwinner/generic/vendorsetup.sh including target/allwinner/astar-parrot/vendorsetup.sh including target/allwinner/octopus-dev/vendorsetup.sh rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ lunch You're building on Linux Lunch menu... pick a combo: 1. tulip_d1-tina 2. tulip_d1-dragonboard 3. azalea_evb-tina 4. azalea_evb-dragonboard 5. octopus_sch-tina 6. octopus_sch-dragonboard 7. astar_evb-tina 8. azalea_perf3-tina 9. azalea_perf3-dragonboard 10. azalea_perf2-tina 11. azalea_perf2-dragonboard 12. azalea_perf1-tina 13. azalea_perf1-dragonboard 14. astar_spk-tina 15. astar_spk-dragonboard 16. astar_parrot-tina 17. astar_parrot-dragonboard 18. octopus_dev-tina 19. octopus_dev-dragonboard Which would you like?16 ============================================ PLATFORM_VERSION_CODENAME=Neptune PLATFORM_VERSION=2.0.0 TARGET_PRODUCT=astar_parrot TARGET_BUILD_VARIANT=tina TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm TARGET_ARCH_VARIANT=armv7-a-neon TARGET_CPU_VARIANT=cortex-a7 TARGET_2ND_ARCH= TARGET_2ND_ARCH_VARIANT= TARGET_2ND_CPU_VARIANT= HOST_ARCH=x86_64 HOST_OS=linux HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty HOST_BUILD_TYPE=release BUILD_ID=57513AA3 OUT_DIR= ============================================ rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ make -j8 rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ pack -d 5、打开WIFI连接的应用程序: Tina wifimanager API_V2.0.pdf WIFI管理的API接口文档 rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ make menuconfig Allwinner ---> -*- wifimanager............................................ Tina wifi manager ---> --- wifimanager............................................ Tina wifi manager (选中) <*> wifimanager-demo...................................... Tina wifi app demo R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\allwinner\wifimanager\demo\wifi_on_off_test.c R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\allwinner\wifimanager\demo\wifi_connect_ap.cpp 编译之后,R16的TINAV2.1的系统的/bin中会有: root@TinaLinux:/bin# ll w* lrwxrwxrwx 1 root root 13 Oct 19 14:22 wget -> uclient-fetch -rwxr-xr-x 1 root root 4102 Oct 19 14:12 wifi_connect_ap_test -rwxr-xr-x 1 root root 4102 Oct 19 14:12 wifi_on_off_test root@TinaLinux:/bin# /* *argc[1] ap ssid *argc[2] ap passwd */ int main(int argv, char *argc[]){ wifi_connect_ap.cpp的main函数嵌可以看见第一个参数为SSID,第二参数为密码,中间用空格隔开即可。 WIFI连接之前: root@TinaLinux:/# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:20 errors:0 dropped:0 overruns:0 frame:0 TX packets:20 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1572 (1.5 KiB) TX bytes:1572 (1.5 KiB) wlan0 Link encap:Ethernet HWaddr 94:A1:A2:C4:E3:12 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) root@TinaLinux:/# WIFI连接: root@TinaLinux:/bin# root@TinaLinux:/bin# ./wifi_connect_ap_test citybrand-2 citybrand200903 ********************************* ***Start wifi connect ap test!*** ********************************* event_label 0x0 WiFi on success! do cmd LIST_NETWORKS call event 0xf004 do cmd SCAN event_label 0x0 It has no wifi auto connect when wifi on! aw wifi connect state 0xf0 enter get_key_mgmt, ssid citybrand-2 scan stauts 1 do cmd SCAN_RESULTS ssid citybrand-2, flag [WPA2-PSK-CCMP][ESS] do cmd LIST_NETWORKS do cmd ADD_NETWORK do cmd SET_NETWORK 0 ssid "citybrand-2" do cmd SET_NETWORK 0 key_mgmt WPA-PSK do cmd SET_NETWORK 0 psk "citybrand200903" do cmd LIST_NETWORKS do cmd GET_NETWORK 0 priority do cmd SET_NETWORK 0 priority 1 do cmd SELECT_NETWORK 0 do cmd RECONNECT do cmd LIST_NETWORKS connecting id 0, connected id 0 Unknown HZ value! (-1) Assume 1241 ttyS0 15049-12:58:15 udhcpc_wlan0 Command failed: Not found Unknown HZ value! (-1) Assume 1241 ttyS0 15049-12:58:15 udhcpc_wlan0 do cmd SAVE_CONFIG do cmd LIST_NETWORKS do cmd ENABLE_NETWORK 0 do cmd SAVE_CONFIG wifi state busing,waiting vflag= 4 call event 0xf00b event_label 0x1 WiFi connected ap! ****************************** Wifi connect ap test: Success! ****************************** root@TinaLinux:/bin# root@TinaLinux:/bin# root@TinaLinux:/bin# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:40 errors:0 dropped:0 overruns:0 frame:0 TX packets:40 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3116 (3.0 KiB) TX bytes:3116 (3.0 KiB) wlan0 Link encap:Ethernet HWaddr 94:A1:A2:C4:E3:12 inet addr:192.168.0.167 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:34 errors:0 dropped:0 overruns:0 frame:0 TX packets:25 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3084 (3.0 KiB) TX bytes:2516 (2.4 KiB) root@TinaLinux:/bin# root@TinaLinux:/bin# 6、R16的TINAV2.0平台的SSH连接 rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ make menuconfig Base system ---> (选中这里) <*> dropbear........................................ Small SSH2 client/server Configuration ---> [*] Curve25519 support (NEW) (这里不用选中) [ ] Elliptic curve cryptography (ECC) (NEW) 7、再次编译系统打包刷机之后以SCP方式远程登陆R16的tinav2.1: rootroot@cm-System-Product-Name:/home/wwt/parrot_r16_tinav2.0$ make -j12 rootroot@cm-System-Product-Name:/home/wwt/parrot_r16_tinav2.0$ pack -d 在串口终端中输入(必须设置root用户的密码): root@TinaLinux:/bin# root@TinaLinux:/bin# passwd Changing password for root New password: Bad password: too short Retype password: Password for root changed by root root@TinaLinux:/bin# root@TinaLinux:/bin# SSH连接工具使用:WinSCP_5.9.0.6786_Setup.exe 文件协议选择:SCP 主机名:192.168.0.167(根据你的R16的实际IP修改) 端口号:22 用户名:root 密码:root 点击 登陆 即可。 如果重新刷机,IP地址不变,但是RSA密码改变,选择 更新 即可。 8、在ubuntu14.04中文版下通过SSH访问R16的tinav2.1: (注意刚登陆的地方是空的根目录) rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ ssh root@192.168.0.108 root@192.168.0.108's password: BusyBox v1.24.1 () built-in shell (ash) _____ _ __ _ |_ _||_| ___ _ _ | | |_| ___ _ _ _ _ | | _ | || | | |__ | || || | ||_'_| | | | || | || _ | |_____||_||_|_||___||_,_| |_| |_||_|_||_|_| Tina is Based on OpenWrt! ---------------------------------------------- Tina Linux (Neptune, 57513AA3) ---------------------------------------------- root@TinaLinux:~# ll drwxr-xr-x 2 root root 3 Dec 22 20:11 . drwxr-xr-x 1 root root 1024 Dec 23 2016 .. root@TinaLinux:~# pwd /root root@TinaLinux:~# cd / root@TinaLinux:/# ll drwxr-xr-x 1 root root 1024 Dec 23 2016 . drwxr-xr-x 1 root root 1024 Dec 23 2016 .. drwxr-xr-x 2 root root 984 Dec 22 20:11 bin drwxrwxrwx 2 root root 16384 Jan 1 1970 boot drwxrwxrwx 2 root root 8192 Jan 1 1970 boot-res -rw-r--r-- 1 root root 441 Dec 23 2016 bt_config.xml drwxr-xr-x 9 root root 2900 Dec 23 2016 dev drwxr-xr-x 1 root root 1024 Dec 23 11:33 etc drwxr-xr-x 10 root root 661 Dec 22 19:38 lib drwx------ 2 root root 12288 Dec 23 2016 lost+found drwxr-xr-x 1 root root 1024 Dec 23 2016 mnt drwxr-xr-x 7 root root 1024 Dec 23 2016 overlay dr-xr-xr-x 88 root root 0 Jan 1 1970 proc drwxr-xr-x 16 root root 211 Dec 22 20:11 rom drwxr-xr-x 2 root root 3 Dec 22 20:11 root drwxr-xr-x 2 root root 689 Dec 22 20:11 sbin dr-xr-xr-x 12 root root 0 Dec 23 2016 sys drwxrwxrwt 9 root root 300 Dec 23 2016 tmp drwxr-xr-x 7 root root 101 Dec 22 19:50 usr lrwxrwxrwx 1 root root 4 Dec 22 20:11 var -> /tmp drwxr-xr-x 2 root root 3 Dec 22 20:11 www root@TinaLinux:/#
调通sina33m下的ap6181版本 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 wb4916 AT qq.com 完成时间:2017/7/7 18:11 版本V1.0 SDK:Android6.0.1 开发板:SC3817R 1、关闭“设置”中的“蓝牙”选项: R:\wyb\ap6181_sina33m_sc3817r\android\device\softwinner\astar-d7\overlay\frameworks\base\core\res\res\values\config.xml (干掉这里:) <!-- 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> 2、打开WIFI,关闭BT: R:\wyb\ap6181_sina33m_sc3817r\android\device\softwinner\astar-d7\astar_d7.mk PRODUCT_PACKAGES += Launcher3 PRODUCT_PACKAGES += \ ESFileExplorer \ VideoPlayer #Bluetooth PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.camera.xml:system/etc/permissions/android.hardware.camera.xml \ frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \ frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml #frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \ #frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml #PRODUCT_COPY_FILES += \ # device/softwinner/astar-d7/bluetooth/bt_vendor.conf:system/etc/bluetooth/bt_vendor.conf # bootanimation PRODUCT_COPY_FILES += \ device/softwinner/astar-d7/media/bootanimation.zip:system/media/bootanimation.zip # camera config for camera detector #PRODUCT_COPY_FILES += \ # device/softwinner/astar-d7/hawkview/sensor_list_cfg.ini:system/etc/hawkview/sensor_list_cfg.ini # Realtek wifi efuse map #PRODUCT_COPY_FILES += \ #device/softwinner/astar-d7/wifi_efuse_8723bs-vq0.map:system/etc/wifi/wifi_efuse_8723bs-vq0.map PRODUCT_PROPERTY_OVERRIDES += \ persist.sys.usb.config=mass_storage,adb \ ro.adb.secure=0 \ ro.sys.mutedrm=true \ rw.logger=0 #$(call inherit-product-if-exists, vendor/google/products/gms_base.mk) #for 8723bs-vq0,should setmacaddr #PRODUCT_PACKAGES += setmacaddr #for 8723bs-vq0,should setbtmacaddr #PRODUCT_PACKAGES += setbtmacaddr 3、修改WIFI为AP6181: R:\wyb\ap6181_sina33m_sc3817r\android\device\softwinner\astar-d7\BoardConfig.mk # 1.2 broadcom wifi support # BOARD_USR_WIFI:ap6181/ap6210/ap6212/ap6330/ap6335 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" BOARD_USR_WIFI := ap6181 include hardware/broadcom/wlan/bcmdhd/firmware/$(BOARD_USR_WIFI)/device-bcm.mk endif # 2. Bluetooth Configuration # make sure BOARD_HAVE_BLUETOOTH is true for every bt vendor # BOARD_HAVE_BLUETOOTH_NAME:rtl8723bs/rtl8723bs_vq0/rtl8723cs/ap6210/ap6212/ap6330/ap6335/ #BOARD_HAVE_BLUETOOTH := true # #BOARD_HAVE_BLUETOOTH_BCM := true #BOARD_HAVE_BLUETOOTH_NAME := ap6212 #BOARD_HAVE_BLUETOOTH_RTK_COEX := true #BOARD_HAVE_BLUETOOTH_RTK := true #BLUETOOTH_HCI_USE_RTK_H5 := true #BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/softwinner/astar-d7/bluetooth 4、关闭BT: R:\wyb\ap6181_sina33m_sc3817r\android\device\softwinner\astar-d7\init.sun8i.rc # tp & sensors init_dev_detect # network insmod /system/vendor/modules/bcmdhd.ko #insmod /system/vendor/modules/bcm_btlpm.ko insmod /system/vendor/modules/usbnet.ko insmod /system/vendor/modules/asix.ko insmod /system/vendor/modules/qf9700.ko #insmod /system/vendor/modules/mcs7830.ko #insmod /system/vendor/modules/smsc95xx.ko insmod /system/vendor/modules/rtl8152.ko #insmod /system/vendor/modules/cdc_ether.ko # GPS # chmod 777 /system/bin/glgps # chown root system /system/bin/glgps # chmod 777 /system/lib/hw/gps.default.so # chown root system /system/lib/hw/gps.default.so # mkdir /data/gps # chmod 770 /data/gps # chown system net_bt_stack /data/gps # to observe dnsmasq.leases file for dhcp information of soft ap. chown dhcp system /data/misc/dhcp on post-fs-data mkdir /data/media 0770 media_rw media_rw # bluetooth MAC address programming #chown bluetooth net_bt_stack ro.bt.bdaddr_path #chown bluetooth net_bt_stack /system/etc/bluetooth #chown bluetooth net_bt_stack /data/misc/bluetooth #setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr" # Set indication (checked by vold) that we have finished this action setprop vold.post_fs_data_done 1 # to force to start sdcard # class_start late_start # This module write data to /data should insmod in post-fs-data # due to encryption on boot chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor chown system system /sys/kernel/autohotplug/enable chmod 0660 /sys/kernel/autohotplug/enable chown system system /sys/devices/system/cpu/cpu0/cpufreq/boot_lock chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/boot_lock chown system system /sys/devices/platform/sunxi-budget-cooling/roomage chmod 0660 /sys/devices/platform/sunxi-budget-cooling/roomage chown system system /sys/class/devfreq/sunxi-ddrfreq/dsm/scene chmod 0660 /sys/class/devfreq/sunxi-ddrfreq/dsm/scene on charger insmod disp.ko insmod lcd.ko class_start charger write /sys/module/printk/parameters/console_suspend N write /proc/sys/kernel/printk 0 on fs # UDISK would be mounted as data partition when multiple user enabled. #format_userdata /dev/block/by-name/UDISK ASTAR #bluesleep #insmod /system/vendor/modules/rtl_bluesleep.ko ## bluetooth ## UART device #chmod 0660 /dev/ttyS1 #chown bluetooth net_bt_stack /dev/ttyS1 # ## power up/down interface #chmod 0660 /sys/class/rfkill/rfkill0/state #chmod 0660 /sys/class/rfkill/rfkill0/type #chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state #chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type # # ## bluetooth LPM #chmod 0220 /proc/bluetooth/sleep/lpm #chmod 0220 /proc/bluetooth/sleep/btwrite #chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm #chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite #write /proc/bluetooth/sleep/lpm 1 5、可选: R:\wyb\ap6181_sina33m_sc3817r\android\device\softwinner\astar-d7\ueventd.sun8i.rc #/dev/video1 0777 media media /dev/snd/pcmC0D0c 0777 media media /dev/snd/pcmC0D0p 0777 media media #/dev/ttyS1 0660 bluetooth bluetooth 6、可选: R:\wyb\ap6181_sina33m_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> 7、请严重注意,全志在这里埋坑了!(坑爹无敌!) Android里面调入配置文件:nvram.txt,里面里面调入:nvram_ap6181.txt。 R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\config.txt R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\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 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" PRODUCT_COPY_FILES += \ hardware/broadcom/wlan/bcmdhd/firmware/ap6181/fw_bcm40181a2_p2p.bin:system/vendor/modules/fw_bcm40181a2_p2p.bin \ hardware/broadcom/wlan/bcmdhd/firmware/ap6181/fw_bcm40181a2_apsta.bin:system/vendor/modules/fw_bcm40181a2_apsta.bin \ hardware/broadcom/wlan/bcmdhd/firmware/ap6181/fw_bcm40181a2.bin:system/vendor/modules/fw_bcm40181a2.bin \ hardware/broadcom/wlan/bcmdhd/firmware/ap6181/nvram_ap6181.txt:system/vendor/modules/nvram_ap6181.txt \ hardware/broadcom/wlan/bcmdhd/firmware/ap6181/config.txt:system/vendor/modules/config.txt R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\fw_bcm40181a2.bin R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\fw_bcm40181a2_apsta.bin R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\fw_bcm40181a2_p2p.bin R:\wyb\ap6181_sina33m_sc3817r\android\hardware\broadcom\wlan\bcmdhd\firmware\ap6181\nvram_ap6181.txt 8、可选: R:\wyb\ap6181_sina33m_sc3817r\android\packages\apps\Camera2\src\com\android\camera\CameraActivity.java 9、可选: R:\wyb\ap6181_sina33m_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; } 10、可选: R:\wyb\ap6181_sina33m_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*/ "ap6330", /* 10- AP6330*/ "gb9663", /* 11- GB9663*/ }; 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; } 11、可选: R:\wyb\ap6181_sina33m_sc3817r\lichee\linux-3.4\drivers\net\wireless\bcmdhd\include\bcmdevs.h #define BCM4350_CHIP_ID 0x4350 #define BCM43430_CHIP_ID 43430 /* 43430 chipcommon chipid 0xa9a6 */ #define BCM4342_CHIP_ID 4342 R:\wyb\ap6181_sina33m_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(); select_type = 1; #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.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 } R:\wyb\ap6181_sina33m_sc3817r\lichee\linux-3.4\drivers\net\wireless\bcmdhd\dhd_linux.c int dhd_bus_start(dhd_pub_t *dhdp) { int ret = -1; dhd_info_t *dhd = (dhd_info_t*)dhdp->info; unsigned long flags; ASSERT(dhd); DHD_TRACE(("Enter %s:\n", __FUNCTION__)); #ifdef DHDTHREAD if (dhd->threads_only) dhd_os_sdlock(dhdp); #endif /* DHDTHREAD */ /* 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; } } if (dhd->pub.busstate != DHD_BUS_LOAD) { #ifdef DHDTHREAD if (dhd->threads_only) dhd_os_sdunlock(dhdp); #endif /* DHDTHREAD */ return -ENETDOWN; } /* Start the watchdog timer */ dhd->pub.tickcnt = 0; dhd_os_wd_timer(&dhd->pub, dhd_watchdog_ms); /* Bring up the bus */ if ((ret = dhd_bus_init(&dhd->pub, FALSE)) != 0) { DHD_ERROR(("%s, dhd_bus_init failed %d\n", __FUNCTION__, ret)); #ifdef DHDTHREAD if (dhd->threads_only) dhd_os_sdunlock(dhdp); #endif /* DHDTHREAD */ return ret; } bcmsdh_set_drvdata(dhdp); // terence 20130427: fix for null pointer issue #if defined(OOB_INTR_ONLY) /* Host registration for OOB interrupt */ if (bcmsdh_register_oob_intr(dhdp)) { /* deactivate timer and wait for the handler to finish */ flags = dhd_os_spin_lock(&dhd->pub); dhd->wd_timer_valid = FALSE; dhd_os_spin_unlock(&dhd->pub, flags); del_timer_sync(&dhd->timer); DHD_ERROR(("%s Host failed to register for OOB\n", __FUNCTION__)); #ifdef DHDTHREAD if (dhd->threads_only) dhd_os_sdunlock(dhdp); #endif /* DHDTHREAD */ DHD_OS_WD_WAKE_UNLOCK(&dhd->pub); return -ENODEV; } /* Enable oob at firmware */ dhd_enable_oob_intr(dhd->pub.bus, TRUE); #endif /* If bus is not ready, can't come up */ if (dhd->pub.busstate != DHD_BUS_DATA) { flags = dhd_os_spin_lock(&dhd->pub); dhd->wd_timer_valid = FALSE; dhd_os_spin_unlock(&dhd->pub, flags); del_timer_sync(&dhd->timer); DHD_ERROR(("%s failed bus is not ready\n", __FUNCTION__)); #ifdef DHDTHREAD if (dhd->threads_only) dhd_os_sdunlock(dhdp); #endif /* DHDTHREAD */ DHD_OS_WD_WAKE_UNLOCK(&dhd->pub); return -ENODEV; } #ifdef DHDTHREAD if (dhd->threads_only) dhd_os_sdunlock(dhdp); #endif /* DHDTHREAD */ dhd_process_cid_mac(dhdp, TRUE); /* Bus is ready, do any protocol initialization */ if ((ret = dhd_prot_init(&dhd->pub)) < 0) return ret; dhd_process_cid_mac(dhdp, FALSE); #ifdef ARP_OFFLOAD_SUPPORT if (dhd->pend_ipaddr) { #ifdef AOE_IP_ALIAS_SUPPORT aoe_update_host_ipv4_table(&dhd->pub, dhd->pend_ipaddr, TRUE, 0); #endif /* AOE_IP_ALIAS_SUPPORT */ dhd->pend_ipaddr = 0; } #endif /* ARP_OFFLOAD_SUPPORT */ return 0; } R:\wyb\ap6181_sina33m_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; } R:\wyb\ap6181_sina33m_sc3817r\lichee\tools\pack\chips\sun8iw5p1\configs\d7\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 [jtag_para] jtag_enable = 0 ;***************************************************************************** ;sdram configuration ; ;***************************************************************************** [dram_para] dram_clk = 552 [wakeup_src_para] cpu_en = 0 cpu_freq = 48 ; (cpu:apb:ahb) pll_ratio = 0x111 dram_selfresh_en= 1 dram_freq = 36 wakeup_src_wl = port:PL07<4><default><default><0> ;wakeup_src_bt = port:PL09<4><default><default><0> ;bb_wake_ap = port:PL02<4><default><default><0> [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 [motor_para] motor_used = 0 ;---------------------------------------------------------------------------------- ;lcd0 configuration ;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi ;lcd_x: lcd horizontal resolution ;lcd_y: lcd vertical resolution ;lcd_width: width of lcd in mm ;lcd_height: height of lcd in mm ;lcd_dclk_freq: in MHZ unit ;lcd_pwm_freq: in HZ unit ;lcd_pwm_pol: lcd backlight PWM polarity ;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) ;lcd_hbp: hsync back porch ;lcd_ht: hsync total cycle ;lcd_vbp: vsync back porch ;lcd_vt: vysnc total cycle ;lcd_hspw: hsync plus width ;lcd_vspw: vysnc plus width ;lcd_lvds_if: 0:single link; 1:dual link ;lcd_lvds_colordepth: 0:8bit; 1:6bit ;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode ;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither ;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase; ; 8~11bit:dclk phase; 12~15bit:de phase) ;lcd_gamma_en lcd gamma correction enable ;lcd_bright_curve_en lcd bright curve correction enable ;lcd_cmap_en lcd color map function enable ;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch) ;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10; ; decrease it while lcd is not bright enough; increase while lcd is too bright ;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch) ;---------------------------------------------------------------------------------- [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> [usbc0] usb_used = 1 usb_port_type = 2 usb_detect_type = 1 usb_id_gpio = port:PD10<0><1><default><default> usb_det_vbus_gpio = "axp_ctrl" usb_drv_vbus_gpio = port:power4<1><0><default><0> usb_restrict_gpio = usb_host_init_state = 0 usb_restric_flag = 0 usb_restric_voltage = 3550000 usb_restric_capacity= 5 usb_regulator_io = "nocare" usb_regulator_vol = 0 usb_regulator_id_vbus = "axp22_dcdc1" usb_regulator_id_vbus_vol = 3000000 [usbc1] usb_used = 1 usb_drv_vbus_gpio = port:PD12<1><0><default><0> usb_restrict_gpio = usb_host_init_state = 1 usb_restric_flag = 0 usb_regulator_io = "nocare" usb_regulator_vol = 0 usb_not_suspend = 0 ;-------------------------------------------------------------------------------- ;wifi/bt/fm/gps/nfc modules configuration ;module_num: ; 0- none ; 1- ap6181(wifi) ; 2- ap6210(wifi+bt) ; 3- rtl8188eu(wifi) ; 4- rtl8723au(wifi+bt) ; 5- rtl8723bs(wifi+bt) ; 6- esp8089(wifi) ; 7- ap6476(wifi+bt+fm+gps) ; 8- rtl8189es(wifi) ; 9- ap6212(wifi+bt+fm) ; 10- ap6330(wifi+bt+fm) ; 11- gb9663(wifi+bt+fm) ;module_power1: ""- bat, "axp_dldo1"- axp dldo1 ;module_power1_vol: power1 voltage, mv; not used for module_power1 is "" ;module_power2: ""- bat, "axp_dldo2"- axp dldo2 ;module_power2_vol: power2 voltage, mv; not used for module_power2 is "" ;module_power3: ""- bat, "axp_dldo2"- axp dldo2 ;module_power3_vol: power3 voltage, mv; not used for module_power3 is "" ;power_switch: module power switch io when bat supply ;chip_en: enable chip io ;lpo_use_apclk: ""- not use, "losc_out"- a23/33, "ac10032k1"、"ac10032k2"、"ac10032k3"- a80/a83 ;-------------------------------------------------------------------------------- [rf_para] module_num = 1 module_power1 = "axp22_aldo1" module_power1_vol = 3000000 module_power2 = "" module_power2_vol = 3000000 module_power3 = "" module_power3_vol = 3000000 power_switch = chip_en = lpo_use_apclk = "losc_out" ;-------------------------------------------------------------------------------- ;wifi configuration ;wifi_used: 0-not use, 1- use ;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) ;wl_reg_on: wifi function enable io ;wl_host_wake: wifi device wake-up host ;wl_host_wake_invert: whether wl_host_wake use inverter between ap and module ; 0: not used, 1: used ;-------------------------------------------------------------------------------- [wifi_para] wifi_used = 1 wifi_sdc_id = 1 wifi_usbc_id = 1 wifi_usbc_type = 1 wifi_mod_sel = 1 wifi_power = "" wifi_power_ext1 = "" wifi_power_ext2 = "" ; 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_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> ; 7 - ap6476 sdio wifi gpio config ;ap6xxx_wl_regon = port:PL06<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 ; 8 - rtl8189es sdio wifi gpio conifg ;rtl8189es_shdn = port:PL06<1><default><default><0> ;rtl8189es_host_wake = port:PL07<4><default><default><0> usb_vbus_power_ctrl = port:PL11<1><default><default><1> usb_eth_power_ctrl = port:PL04<1><default><default><1> ;-------------------------------------------------------------------------------- ;bluetooth configuration ;bt_used: 0- no used, 1- used ;bt_uard_id: 0- uart0, 1- uart1, 2- uart2 ;bt_rst_n: bt function enable io ;bt_wake: host wake-up bluetooth device ;bt_wak_host: bt device wake-up host ;bt_wake_invert: whether bt_wake use inverter between ap and module ; 0: not used, 1: used ;bt_host_wake_invert: whether bt_host_wake use inverter between ap and module ; 0: not used, 1: used ;-------------------------------------------------------------------------------- [bt_para] bt_used = 0 bt_uart_id = 1 bt_rst_n = port:PL08<1><default><default><0> bt_wake = port:PL10<1><default><default><0> bt_host_wake = port:PL09<4><default><default><0> bt_wake_invert = 0 bt_host_wake_invert = 0 ls_int = port:PB07<1><default><default><0> pcm_ch = port:PB05<1><default><default><0> [gy_list_para] gy_det_used = 0 [ls_list_para] ls_det_used = 0 power_start = 3 pmu_temp_enable = 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值