高通wifi android 層移植(bcm4329)

來源:互聯網
上載者:User

高通wifi android
層移植(bcm4329)

定義好核心模組的位置(包括核心模組、韌體、NVRAM、以及其它的核心模組,比如說SDIO的驅動或是USB驅動(如果是USB網卡的話))

hardware/libhardware_legacy/wifi/wifi.c要用到。

Wifi.c裡面的一些宏可以在BoardConfig.mk裡面去配置。

BOARD_WPA_SUPPLICANT_DRIVER := WEXT

WIFI_DRIVER_MODULE_PATH := /system/etc/dhd.ko

WIFI_DRIVER_MODULE_NAME := dhd

WPA_SUPPLICANT_VERSION := VER_0_6_X

進入到:system/core/rootdir/etc/init.qcom.rc

主要是加入如下二個服務:

service wpa_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant

-Dwext

-iwlan0

-c/data/misc/wifi/wpa_supplicant.conf

-dd

user wifi system

group system

# socket wpa_wlan0 dgram 660 wifi wifi

disabled

oneshot

-i<ifname> :
網路介面名稱
-c<conf>:
設定檔名稱
-C<ctrl_intf>:
控制介面名稱
-D<driver>:
驅動類型
-p<driver_param>:
驅動參數
-b<br_ifname>:
橋介面名稱

http://blog.csdn.net/wyl123/article/details/4692617

上面網站有介紹

具體介紹wpa_supplicant
和wpa_cli的用法:

http://blog.163.com/wxiongn@126/blog/static/11788203820102262748358/

add_network

1

> set_network 2 ssid "gionee(znsj)"

FAIL

> set_network 1

<2>CTRL-EVENT-SCAN-RESULTS

ssid "gionee(znsj)"

OK

> et_network 1 psk "1234567890"

Unknown command 'et_network'

> set_network 1 psk "1234567890

<2>CTRL-EVENT-SCAN-RESULTS

"

OK

> enable_network 1

OK

service dhcpcd_wlan0 /system/bin/dhcpcd -BKL -d wlan0 -o domain_name_servers

disabled

oneshot

system/core/rootdir/裡面的Android.mk有複製的功能可以:

# files that live under /system/etc/...

copy_from := \

etc/dbus.conf \

etc/hosts \

etc/init.qcom.post_boot.sh \

etc/init.qcom.bt.sh \

etc/init.qcom.coex.sh \

etc/init.qcom.fm.sh \

etc/init.qcom.sdio.sh \

etc/dhd.ko \

etc/fw_bcm4329.bin \

etc/nvram.txt \

etc/init.qcom.wifi.sh

意思是把system/core/rootdir/etc/裡的檔案copy到SYSTEM檔案系統的/system/etc/目錄下去。

進入:frameworks/base/wifi/java/android/net/wifi/WifiStateTracker.java目錄裡:

mInterfaceName = SystemProperties.get("wifi.interface", "wlan0");

sDnsPropNames = new String[] {

"dhcp." + mInterfaceName + ".dns1",

"dhcp." + mInterfaceName + ".dns2"

};

執行過程:

當wpa_supplicant起來以後:

守護進程會產生一個/data/misc/wifi/wpa_supplicant/wlan0介面

根據wpa_cupplicant.conf得來:

ctrl_interface=DIR=/data/misc/wifi/wpa_supplicant GROUP=wifi

同時在/data/misc/wifi/下建立一個socketies目錄,下面會有二個sockets

一個是控制介面,一個是監控介面(這個介面用於監測從wpa_supplicant發出的event事件。)。

Wifi.c會通過這二個介面和守護進程通訊。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.