http://blog.csdn.net/wh_19910525/article/details/7384480

2012

一、wifi 组建原理:

WIFI就是一种无线联网的技术,以前通过网线连接电脑,而现在则是通过无线电波来连网;常见的就是一个无线路由器,那么在这个无线路由器的电波覆盖的有效范围都可以采用WIFI连接方式进行联网,如果无线路由器连接了一条ADSL线路或者别的上网线路,则又被称为“热点”。

一般架设无线网络的基本配备就是 无线网卡 及 一个AP(无线接入点)。有了AP,就像一般有线网络的Hub一般,无线工作站可以快速且轻易地与网络相连。特别是对于宽带的使用,WiFi更显优势,有线宽带网络(ADSL、小区LAN等)到户后,连接到一个AP,然后在电脑中安装一块无线网卡即可上网。普通的家庭有一个AP已经足够,甚至用户的邻里得到授权后,则无需增加端口,也能以共享的方式上网。

二、===================Android WIFI 框架 =======================

---------------------------------------------------------------------------------------------------

三、 Android平台Wifi 编译前基本代码 路径 及 文件名(根文件系统的源码下)

1、Wifi setting 部分(Java应用层)

位于packages/apps/Settings/src/com/android/settings/wifi/

WifiSettings.Java&WifiEnabler.java

2、JavaFramework部分

位于frameworks/base/services/java/com/android/server/

WifiService.java&WifiWatchdogService.java

位于frameworks/base/wifi/java/android/net/wifi/

WifiManager.java&WifiMonitoer.java&WifiStateTracker.java

&WifiNative.java

3.       Wifi的JNI部分

位于frameworks/base/core/jni/android_net_wifi_Wifi.cpp

4.       Wifi的HAL层代码(wpa_supplicant适配器层)

位于hardware/libhardware_legary/wifi/wifi.c

5.       Wpa_supplicant程序的 源码部分(tools)

位于external/wpa_supplicant_6/

external/wpa_supplicant/生成库libwpa_client.so 和守护进程wpa_supplicant

6.kernel (wifi 驱动*.ko)位于 net/wireless     drivers/wlan_sd8688       arch/arm/mach-pxa/wlan_pm.c

四、每一层 编译后 的所在位置

Java应用层

-- Settings, Wifi Switcher等应用

--> /system/app/

Java Framework层

-->

/system/framework/services.jar

JNI层

--> /system/framework/framework.jar

wpa_supplicant 适配器层

--> /system/lib/libhardware_legacy.so

wpa_supplicant 程序

--> /system/bin/wpa_supplicant

/system/lib/libwpa_client.so

Kernel层

-- kernel network drivers

===================== android WIFI 框架 end ====================================

Wifi 网卡状态

1.    WIFI_STATE_DISABLED: WIFI网卡不可用

2.    WIFI_STATE_DISABLING: WIFI正在关闭

3.    WIFI_STATE_ENABLED:WIFI网卡可用

4.    WIFI_STATE_ENABLING:WIFI网卡正在打开

5.    WIFI_STATE_UNKNOWN:未知网卡状态

Rootfs中关于wpa_supplicant的配置

1)/device/amlogic/f08refe1/BoardConfig.mk  //wpa_supplicant版本,driver

WPA_SUPPLICANT_VERSION := VER_0_6_X

BOARD_WPA_SUPPLICANT_DRIVER := WEXT

2)root/init.rc  //wpa_supplicant service

setprop wifi.interface wlan0

service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 -d -c /data/misc/wifi/wpa_supplicant.conf

socket wpa_wlan0 dgram 0666 wifi wifi

3)/system/etc/wifi/wpa_supplicant.conf//config for wpa_supplicant service

update_config=1

ctrl_interface=wlan0

eapol_version=1

ap_scan=1

fast_reauth=1

---------------------

wifi android kernel,android wifi 驱动框架简介相关推荐

  1. 六款值得推荐的android(安卓)开源框架简介

    1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(scheduling ...

  2. Linux Kernel编程 --- Mailbox驱动框架

    1 概述 (1)mailbox是一种框架,通过消息队列和中断驱动信号处理多处理器间的通讯: (2)mailbox的实现分为contoller和client.简单的说就是client 可以通过contr ...

  3. mailbox 编程_Linux Kernel编程 --- Mailbox驱动框架【转】

    1 概述 (1)mailbox是一种框架,通过消息队列和中断驱动信号处理多处理器间的通讯: (2)mailbox的实现分为contoller和client.简单的说就是client 可以通过contr ...

  4. Camera 从应用层看V4L2驱动框架

    1.V4L2驱动框架简介 V4L2可用于采集图片.视频和音频数据的通用 API 接口,配合适当的视频采集设备和相应的驱 动程序,可以实现图片.视频.音频等的采集. 2.V4L2视频采集原理 当启动视频 ...

  5. Android环境下通过C框架层控制WIFI【转】

    本文转载自:https://blog.csdn.net/edw200/article/details/52192631 本人是从事Linux嵌入式开发的,安卓wifi控制在安卓JAVA层已经做得非常成 ...

  6. Android 系统(4)---Android HAL层与Linux Kernel层驱动开发简介

    Android HAL层与Linux Kernel层驱动开发简介 近日稍微对Android中的驱动开发做了一些简要的了解,稍稍理清了一下Android驱动开发的套路,总结一下笔记. HAL:Hardw ...

  7. Android HAL层与Linux Kernel层驱动开发简介

    Android HAL层与Linux Kernel层驱动开发简介 阅读数:5070 近日稍微对Android中的驱动开发做了一些简要的了解,稍稍理清了一下Android驱动开发的套路,总结一下笔记. ...

  8. android usb wifi驱动下载,android 平台USB wifi驱动移植及使用

    一.   Android平台Wifi的基本代码路径 1.       Wpa_supplicant源码部分 external/wpa_supplicant_6/ 生成库libwpa_client.so ...

  9. Android -- Wifi热点的打开与关闭流程简介

    Android -- Wifi热点的打开与关闭流程简介 在Android手机中,热点也是一个较为常用的功能.对于framework开发者来说,要开发.维护SoftAp,了解framework中热点开关 ...

  10. Android驱动框架整理之KERNEL框架

    文章目录 一.文件系统 1.1 dts配置 1.2 defconfig文件 二.驱动分类 三.Makefile和Konfig还有defconfig文件关系 四.d 继上一篇uboot整理后,继续整理下 ...

最新文章

  1. [leetcode] 367. Valid Perfect Square
  2. CF396C On Changing Tree
  3. android api 相机,具有相机2 API的Android Lollipop上的ZSL功能
  4. Java 基础(条件结构)
  5. How to write a custom control with NSControl ...
  6. P5708 【深基2.习2】三角形面积【入门题】
  7. 阿里云centos7监控postgres9.6.6
  8. Linux下监测GPU温度指令
  9. linux 查看进程与端口以及内存资源
  10. JVM(三)——类结构与类加载器
  11. 遗传算法(Genetic Algorithm, GA)及MATLAB实现
  12. 廖雪峰Git学习 | 笔记五:撤销修改
  13. php5.2 zend解密,狐灵科技分享几款zend解密工具,可以解密zend5.2
  14. PS一键飞溅碎片特效的插件
  15. stc12c5a60s2单片机c语言,STC12C5A60S2单片机的DS18B20的C程序
  16. 华为计算机视觉博士,华为视觉计划发布,要做“智能世界的眼睛”
  17. iphone11没有锁屏声音_iphone11屏幕解锁按键音怎么关闭-互盾苹果恢复精灵
  18. 微信公众平台后台编辑器上线图片缩放和封面图裁剪功能
  19. Unity ECS 简介
  20. 每月改掉一个坏习惯,遇见更好的自己

热门文章

  1. 手写签名制作电子签名详细步骤
  2. thinkpad T480安装WIN7系统NVM固态硬盘+INTEL HD620显卡
  3. springboot推送微信公众号消息,java推送微信公众号消息
  4. matlab 小波变换程序,matlab 小波变换
  5. DELL电脑耳机插入没反应的解决办法
  6. Mac设置鼠标滚轮方向
  7. 二叉搜索树前序序列转中序和后序
  8. 我为什么学习设计模式
  9. 从实验开始零基础学网络路由交换 十一,配置直连路由
  10. Qt 如何获取本机ip地址