<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                Android系統中,WPAS啟動是通過"setprop ctrl.start wpa_supplicant"來觸發init進程去fork一個子進程來完成的。WPAS在init配置文件中被定義為一個service。圖4-5所示為Note 2 init.smdk4x12.rc文件中關于wpa_supplicant的定義。 :-: ![](https://box.kancloud.cn/9735df9bbd499dc3cba837d69d694d6e_1160x305.jpg) 圖4-5 init配置文件中的wpa_supplicant 圖4-5中的黑框展示了wpa_supplicant的啟動參數[^①]。其眾多參數中,最重要的是通過"-c"參數指定的WPAS啟動配置文件(圖4-5中,該配置文件全路徑名為/data/misc/wifi/wpa_supplicant.conf)。 **提示** wpa_supplicant源代碼中包含一個啟動配置文件的模板,該文件對各項配置參數都有說明。其文件路徑為external/wpa_supplicant_8/wpa_supplicant/wpa_supplicant.conf。 Note 2中該配置文件的內容如圖4-6所示。 :-: ![](https://box.kancloud.cn/f32a63d0966b5c303c9fab4c3d3252e0_632x677.jpg) 圖4-6 wpa_supplicant.conf文件內容 * ctrl_interface指明控制接口unix域socket的文件名。 * update_config表示如果WPAS運行過程中修改了配置信息,則需要把它們保存到此wpa_supplicant.conf文件中。 * 從device_name到config_method都和WPS設置有關。后續章節介紹其作用。 * p2p等選項和Wi-Fi P2P有關。后續章介紹它們的作用。 * WPAS運行過程中得到的無線網絡信息都會通過一個"network"配置項保存到此配置文件中。如果該信息完整,一旦WPAS找到該無線網絡就會嘗試用保存的信息去加入它(這也是為什么用戶在settings中打開無線網絡后,手機能自動加入周圍某個曾經登錄過的無線網絡的原因)。 * network項包括的內容非常多。圖中第二個network項展示了該無線網絡的ssid、密鑰管理方法(key management)、身份認證方法及密碼等信息。network中的priority表示無線網絡的優先級。其作用是,如果同時存在多個可用的無線網絡,WPAS優先選擇priority高的那一個。 下面正式進入WPAS的代碼,先來看其入口函數main。 [^①]:關于init.rc文件的解析及setprop的實現,讀者可閱讀《深入理解Android:卷Ⅰ》第3章。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看