日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

tiny210針對(duì)USI_WM-BN-BM-04的wifi的配置過程

 WUCANADA 2013-08-03

tiny210針對(duì)USI_WM-BN-BM-04的wifi的配置過程

分類: android WLAN 225人閱讀 評(píng)論(0) 收藏 舉報(bào)

2、tiny210針對(duì)USI_WM-BN-BM-04wifi的配置過程

(參看TINY210_wifi調(diào)試過程.doc by joqian 2013-3-13

2.1 硬件配置

USI_WM-BN-BM-04涉及到的主要針腳為:

SDIO_D0, SDIO_D1, SDIO_D2, SDIO_D3,SDIO_VDD,SDIO_CMD,SDIO_CLK均為標(biāo)準(zhǔn)的SDIO接口對(duì)接;

SDIO_HOST_WAKE為向主機(jī)發(fā)起喚醒中斷針腳;

WL_REG_ON為主機(jī)對(duì)wifi模塊電源和reset控制針腳。

另外還有SPISDIO模式選擇針腳,接地為SDIO模式。

 

2.2內(nèi)核配置

2.2.1源碼替換:

\linux-3.0.8\drivers\net\wireless\bcmdhd替換為usi提供的bcmdhd文件

       需要注意的是,該文件夾下的驅(qū)動(dòng)之注冊(cè)了驅(qū)動(dòng),而沒有注冊(cè)設(shè)備,所以加一個(gè)源文件device_04_wlan.c用于注冊(cè)設(shè)備的。

 

2.2.2源碼修改:

需要針對(duì)SDIO_HOST_WAKEWL_REG_ON兩個(gè)針腳進(jìn)行配置:

1) SDIO_HOST_WAKE:用于主機(jī)中斷,在cpu端為輸入,起中斷作用。

device_04_wlan.c源碼中有針已經(jīng)做了配置

static struct resource brcm_wlan_resources[] = {

        [0] = {

                .name   = "bcmdhd_wlan_irq",

                .start  =  40,

                .end    = 40,

                .flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE,

        },

};

需要根據(jù)實(shí)際針腳重新配置。(40eint[8]

 

2WL_REG_ON為電源控制和reset腳:

需要在cpu端,配置為輸出,以控制usi模塊的wifi功能的reset。

這個(gè)可以在bcmdhd文件加下(即drivers\net\wireless\bcmdhd):

Dhd_custom_gpio.c源碼中的dhd_customer_gpio_wlan_ctrl(int onoff)函數(shù)對(duì)WL_REG_ON針腳的電平高低控制。

 

#define RST_GPIO_PIN S5PV210_GPH0(5)

static int brcm_wlan_power_off_test()

{

    printk(KERN_INFO"%s Enter: power off\n", __func__);

    /* setup the outputs and init values */

       s3c_gpio_cfgpin(RST_GPIO_PIN, 0x1);

       gpio_direction_output(RST_GPIO_PIN, 0);

       gpio_set_value(RST_GPIO_PIN, 0);

       msleep(10);

      

       return 0;

}

 

static int brcm_wlan_power_on_test()

{

   printk(KERN_INFO"%s Enter: power on\n", __func__);

    /* setup the outputs and init values */

       s3c_gpio_cfgpin(RST_GPIO_PIN, 0x1);

       gpio_direction_output(RST_GPIO_PIN, 1);

       gpio_set_value(RST_GPIO_PIN, 1);

       msleep(10);

      

       return 0;

}

 

/* Customer function to control hw specific wlan gpios */

void

dhd_customer_gpio_wlan_ctrl(int onoff)

{

       switch (onoff) {

              case WLAN_RESET_OFF:

                     WL_TRACE(("%s: call customer specific GPIO to insert WLAN RESET\n",

                            __FUNCTION__));

#ifdef CUSTOMER_HW

                     bcm_wlan_power_off(2);

#endif /* CUSTOMER_HW */

#ifdef CUSTOMER_HW2

                     wifi_set_power(0, 0);

#endif

                     brcm_wlan_power_off_test();

                     WL_ERROR(("=========== WLAN placed in RESET ========\n"));

              break;

 

              case WLAN_RESET_ON:

                     WL_TRACE(("%s: callc customer specific GPIO to remove WLAN RESET\n",

                            __FUNCTION__));

#ifdef CUSTOMER_HW

                     bcm_wlan_power_on(2);

#endif /* CUSTOMER_HW */

#ifdef CUSTOMER_HW2

                     wifi_set_power(1, 0);

#endif

                     brcm_wlan_power_on_test();

                     WL_ERROR(("=========== WLAN going back to live  ========\n"));

              break;

 

              case WLAN_POWER_OFF:

                     WL_TRACE(("%s: call customer specific GPIO to turn off WL_REG_ON\n",

                            __FUNCTION__));

#ifdef CUSTOMER_HW

                     bcm_wlan_power_off(1);

#endif /* CUSTOMER_HW */

              brcm_wlan_power_off_test();

              break;

 

              case WLAN_POWER_ON:

                     WL_TRACE(("%s: call customer specific GPIO to turn on WL_REG_ON\n",

                            __FUNCTION__));

#ifdef CUSTOMER_HW

                     bcm_wlan_power_on(1);

                     /* Lets customer power to get stable */

                     OSL_DELAY(200);

#endif /* CUSTOMER_HW */

              brcm_wlan_power_on_test();

              OSL_DELAY(200);

              break;

       }

}

2.2.3內(nèi)核配置

make menuconfig

1Networking support --->

       Wireless --->

2Device Drivers --->

       Network device support --->

              Wireless LAN --->

3Device Drivers --->

       MMC/SD/SDIO card support --->

 

 

 

2.3系統(tǒng)配置

2.3.1固件的打包:

1)需要將usi給的兩個(gè)固件fw_bcmdhd.binbcmdhd.cal打包進(jìn)系統(tǒng)中:

內(nèi)核配置給定的路徑為:

/system/etc/firmware/fw_bcmdhd.bin

/system/etc/wifi/bcmdhd.cal

 但實(shí)際調(diào)試之后,路徑為如下:其中bcmdhd.cal需要改名為nvram.txt

system/vendor/firmware/bcm43xx/fw_bcmdhd.bin

system/vendor/firmware/bcm43xx/nvram.txt

 

2)因?yàn)橛焉萍垖?duì)tiny210加了一些wifi庫文件,所以需要把它們?nèi)サ?span style="font-family:Times New Roman">,路徑為:

./system/lib/modules/3.0.8-FriendlyARM

3.0.8-FriendlyARM重命名,或者刪除。

 

2.3.2NL80211的配置:

tiny210wpa_supplicant用的是wext,而usiwifi采用的是NL80211。所以需要修改系統(tǒng)的配置:

1init.mini210.rc中的

service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0

    class main

    socket wpa_wlan0 dgram 0660 wifi wifi

    disabled

    oneshot

改為:

service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211-iwlan0

    class main

    socket wpa_wlan0 dgram 0660 wifi wifi

    disabled

oneshot

 

2)在android-4.0.3_r1\device\friendly-arm\mini210下的

BoardConfigCommon.mk中的

# Connectivity - Wi-Fi

WPA_SUPPLICANT_VERSION := VER_0_8_X

BOARD_WPA_SUPPLICANT_DRIVER := WEXT

BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_fawext

BOARD_WIFIHW_PRIVATE_LIB := lib_wifihw_fa

改成:

# Connectivity - Wi-Fi

WPA_SUPPLICANT_VERSION := VER_0_8_X

BOARD_WLAN_DEVICE := bcmdhd

#BOARD_HOSTAPD_DRIVER := NL80211

BOARD_WPA_SUPPLICANT_DRIVER := NL80211

BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd

#BOARD_WIFIHW_PRIVATE_LIB := lib_wifihw_fa

 

3)將\android-4.0.3_r1\vendor\friendly-arm\mini210\下的wifi文件夾刪掉。

并刪除相關(guān)庫文件(具體沒測試,因?yàn)槲沂侵苯?span style="font-family:Times New Roman">make clean的,下班了,讓他在晚上編譯),重新編譯生成。

 

經(jīng)過以上的配置整個(gè)系統(tǒng)應(yīng)該就支持USI_WM-BN-BM-04wifi了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多