高通wifi android 层移植(bcm4329)

高通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/里的文件copySYSTEM文件系统的/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会通过这二个接口和守护进程通信。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值