第七章 Wi-Fi连接过程

系列文章目录

第一章 国内下载AOSP最新源码的方法
第二章 下载AOSP WiFi相关的代码
第三章 将源码导入Android Studio(无需编译idegen)



前言

Wi-Fi连接分为下面几种过程,每种的流程都有些许差异:

  • 手动连接
  • 自动连接
  • 在BSS之间漫游
  • Passpoint热点连接

一、Wi-Fi连接是什么?

Wi-Fi连接是指STA(手机)连接到AP(无线路由器)的过程,这个过程分为链路关联和接入认证,接人认证就跟AP端设置的加密方式有关,不同的加密方式接人认证的过程不一样,这个接入认证过程都是wpa_supplicant里面通过对应加密方式的状态机跟AP交互。开放热点是指AP没有设置密码,这种又分为Portal认证和非Portal认证的开放热点。

二、Wi-Fi连接的过程

1. 手动连接

ClientModeImpl:
        // CHECKSTYLE:OFF IndentationCheck
        addState(mDefaultState);
            addState(mConnectModeState, mDefaultState);
                addState(mL2ConnectedState, mConnectModeState);
                    addState(mObtainingIpState, mL2ConnectedState);
                    addState(mConnectedState, mL2ConnectedState);
                    addState(mRoamingState, mL2ConnectedState);
                addState(mDisconnectingState, mConnectModeState);
                addState(mDisconnectedState, mConnectModeState);
        // CHECKSTYLE:ON IndentationCheck

        setInitialState(mDefaultState);

message:
ClientModeImpl:
ConnectModeState
 CMD_CONNECT_NETWORK
  CMD_START_CONNECT
 
 
function:
ClientModeImpl:
connectToUserSelectNetwork
 startConnectToNetwork
  connectToNetwork(config)
   mWifiNative.connectToNetwork(mInterfaceName, config)
    mSupplicantStaIfaceHal.connectToNetwork(ifaceName, configuration)
     mSupplicantStaIfaceHal.addNetworkAndSaveConfig(ifaceName, configuration) =>SupplicantStaNetworkHal network = addNetwork(ifaceName)
            network.setVendorStaNetwork(getVendorNetwork(ifaceName, network.getNetworkId()));
             network.saveWifiConfiguration(config)
      SupplicantStaNetworkHal.select()


supplicant-
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值