乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      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)庫文件(具體沒測(cè)試,因?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)論公約

        類似文章 更多