Chinaunix首页 | 论坛 | 博客
  • 博客访问: 423061
  • 博文数量: 115
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 393
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-26 12:10
个人简介

踏实做事,认真做人

文章分类

全部博文(115)

文章存档

2017年(1)

2016年(2)

2015年(14)

2014年(63)

2013年(35)

分类: Android平台

2013-06-16 19:20:43

Now i want to share something about android wifi framework and top-down routine,and what we should we concentrate.

wifi application(Settings/Wifi widget) 
                ------> WifiManager (AIDL/Binder)
                          ---->WifiService
                                  ---->WifiStateMachine
                                          --->WifiStateMachine hold a stack design to manage wifi status,we need to read code carefully
                                                -->WifiNative 
                                                        -->Wifi HAL
                                                              --->Wpa_supplicant(ctrl_interface,socket,we need to learn Linux IPC socket design)
                                                                      --->Linux kernel cfg80211 or wext or other driver method(wext/ioctl, now mostly use cfg80211/nl80211 to support STA/SoftAP/P2P/WD
                            ---->Linux kernel wifi driver
                                       ---->Linux wifi bus driver (USB Or SDIO or other bus)
                                          ----->Firmware (If wifi driver is full mac,mlme is in firmware,if softmac,usually in linux mac80211 framework)
                                                ---->Firmware interface with Linux Host CPU,communicate with Host CPU by SDIO or USB,firmware has its share memory management and protocol stack
                                              --->Wifi Chip CPU (Such as cortex-M3)/RF and other unit


1)If you are customer which use wifi chip,need to read wpa_supplicant and android wifi statemachine and android network relative code (connectivity service and others),most people met issue about wifi chip always WIFI hal or some issue with driver

2)If you are wifi chip vendor,you need to good understand linux kernel wifi stack and wpa_supplicant,because need to bring up quickly and stable,good understand wifi firmware stack and linux kernel wifi stack,because software need to understand from system side,to make all wifi chip work stable



阅读(1062) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~