blob: 6f683a8ff1bbd634c30e649f733e9566bc9c1df8 [file] [log] [blame]
<!--
Documentation/_templates/layout.html
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership. The
ASF licenses this file to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the
License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Configuring a Wireless Network &mdash; NuttX latest documentation</title>
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../_static/copybutton.css" type="text/css" />
<link rel="stylesheet" href="../../_static/tabs.css" type="text/css" />
<link rel="stylesheet" href="../../_static/custom.css" type="text/css" />
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../../_static/jquery.js"></script>
<script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/sphinx_highlight.js"></script>
<script src="../../_static/clipboard.min.js"></script>
<script src="../../_static/copybutton.js"></script>
<script src="../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="API Reference" href="../../reference/index.html" />
<link rel="prev" title="Commands" href="commands.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../index.html" class="icon icon-home"> NuttX
</a>
<!-- this version selector is quite ugly, should be probably replaced by something
more modern -->
<div class="version-selector">
<select onchange="javascript:location.href = this.value;">
<option value="../../../latest" selected="selected">latest</option>
<option value="../../../10.0.0" >10.0.0</option>
<option value="../../../10.0.1" >10.0.1</option>
<option value="../../../10.1.0" >10.1.0</option>
<option value="../../../10.2.0" >10.2.0</option>
<option value="../../../10.3.0" >10.3.0</option>
<option value="../../../11.0.0" >11.0.0</option>
<option value="../../../12.0.0" >12.0.0</option>
<option value="../../../12.1.0" >12.1.0</option>
<option value="../../../12.2.0" >12.2.0</option>
<option value="../../../12.2.1" >12.2.1</option>
<option value="../../../12.3.0" >12.3.0</option>
<option value="../../../12.4.0" >12.4.0</option>
<option value="../../../12.5.0" >12.5.0</option>
<option value="../../../12.5.1" >12.5.1</option>
</select>
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../index.html">Home</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../introduction/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../quickstart/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contributing/index.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../platforms/index.html">Supported Platforms</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../components/index.html">OS Components</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Applications</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../nsh/index.html">NuttShell (NSH)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nxdiag/index.html">NuttX Diagnostic Tool (Nxdiag)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nxdiag/index.html#usage">Usage</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">WAPI (Wireless API)</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="commands.html">Commands</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">Configuring a Wireless Network</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#setting-the-passphrase">Setting the Passphrase</a></li>
<li class="toctree-l4"><a class="reference internal" href="#setting-the-network-name-essid">Setting the Network Name (ESSID)</a></li>
<li class="toctree-l4"><a class="reference internal" href="#examples">Examples</a><ul>
<li class="toctree-l5"><a class="reference internal" href="#connecting-to-an-open-network">Connecting to an Open Network</a></li>
<li class="toctree-l5"><a class="reference internal" href="#connecting-to-a-wpa2-psk-network">Connecting to a WPA2-PSK Network</a></li>
<li class="toctree-l5"><a class="reference internal" href="#connecting-to-a-wpa3-sae-network">Connecting to a WPA3-SAE Network</a></li>
<li class="toctree-l5"><a class="reference internal" href="#connecting-to-a-hidden-wpa2-psk-network">Connecting to a Hidden (WPA2-PSK) Network</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../faq/index.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../guides/index.html">Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../index.html">NuttX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html">Applications</a></li>
<li class="breadcrumb-item"><a href="index.html">WAPI (Wireless API)</a></li>
<li class="breadcrumb-item active">Configuring a Wireless Network</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/applications/wapi/wireless.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="configuring-a-wireless-network">
<h1>Configuring a Wireless Network<a class="headerlink" href="#configuring-a-wireless-network" title="Permalink to this heading"></a></h1>
<p><code class="docutils literal notranslate"><span class="pre">wapi</span></code> is used to connect to an Access Point by setting its parameters.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Usually, one single wireless interface refers to an operational
mode: Station Mode (STA) or SoftAP. For instance, <code class="docutils literal notranslate"><span class="pre">wlan0</span></code> may refer to
the STA mode and <code class="docutils literal notranslate"><span class="pre">wlan1</span></code>. Setting the passphrase and the ESSID of a
STA-enabled interface would make it connect to a wireless network while
setting the same parameters for a SoftAP-enabled interface would provide
a network wireless with these connection parameters. Please check
<a class="reference internal" href="../../platforms/xtensa/esp32/index.html#esp32-wi-fi-sta"><span class="std std-ref">ESP32 Wi-Fi Station Mode (wlan0)</span></a> and
<a class="reference internal" href="../../platforms/xtensa/esp32/index.html#esp32-wi-fi-softap"><span class="std std-ref">ESP32 Wi-Fi SoftAP Mode (wlan1)</span></a> sections.</p>
</div>
<section id="setting-the-passphrase">
<h2>Setting the Passphrase<a class="headerlink" href="#setting-the-passphrase" title="Permalink to this heading"></a></h2>
<p><code class="docutils literal notranslate"><span class="pre">wapi</span> <span class="pre">psk</span></code> command is used for setting the AP authentication security. Its
arguments are:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>wapi psk &lt;ifname&gt; &lt;passphrase&gt; &lt;index/flag&gt; [wpa]
</pre></div>
</div>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;ifname&gt;</span></code> is the name of the interface set as Station Mode (STA);</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;passphrase&gt;</span></code> is the password. Its length depends on the authentication
algorithm. Please note that <code class="docutils literal notranslate"><span class="pre">wapi</span> <span class="pre">psk</span></code> command is also used to set auth
as open, but this parameter comes next, so it may be necessary to set a
“dummy” passphrase just to set auth to none;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;index/flag&gt;</span></code> can be set numerically or textually, as follows:</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>[0] WPA_ALG_NONE - to connect to an open AP;</p></li>
<li><p>[1] WPA_ALG_WEP - to connect to a WEP-secured AP (not recommended);</p></li>
<li><p>[2] WPA_ALG_TKIP - to use TKIP algorithm (not recommended);</p></li>
<li><p>[3] WPA_ALG_CCMP - to use CCMP algorithm (recommended);</p></li>
</ul>
</div></blockquote>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">[wpa]</span></code> sets the WPA version (if applicable):</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>[0] WPA_VER_NONE;</p></li>
<li><p>[1] WPA_VER_1;</p></li>
<li><p>[2] WPA_VER_2 (default, if not selected otherwise);</p></li>
<li><p>[3] WPA_VER_3;</p></li>
</ul>
</div></blockquote>
</section>
<section id="setting-the-network-name-essid">
<h2>Setting the Network Name (ESSID)<a class="headerlink" href="#setting-the-network-name-essid" title="Permalink to this heading"></a></h2>
<p>The name of the Wireless Network can be set using <code class="docutils literal notranslate"><span class="pre">wapi</span> <span class="pre">essid</span></code> command:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>wapi essid &lt;ifname&gt; &lt;essid&gt; &lt;index/flag&gt;
</pre></div>
</div>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;ifname&gt;</span></code> is the name of the interface set as Station Mode (STA);</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;essid&gt;</span></code> is the name of the Wireless Network;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;index/flag&gt;</span></code> selects whether to connect to the AP or not:</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>[0] WAPI_ESSID_OFF - Don’t connect to the AP;</p></li>
<li><p>[1] WAPI_ESSID_ON - Connect to the AP indicated by the provided ESSID;</p></li>
<li><p>[2] WAPI_ESSID_DELAY_ON - Delay AP connection;</p></li>
</ul>
</div></blockquote>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h2>
<section id="connecting-to-an-open-network">
<h3>Connecting to an Open Network<a class="headerlink" href="#connecting-to-an-open-network" title="Permalink to this heading"></a></h3>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>wapi psk wlan0 mypasswd WPA_ALG_NONE
wapi essid wlan0 myssid WAPI_ESSID_ON
</pre></div>
</div>
<p>or, equivalently</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>wapi psk wlan0 mypasswd 0
wapi essid wlan0 myssid 1
</pre></div>
</div>
</section>
<section id="connecting-to-a-wpa2-psk-network">
<h3>Connecting to a WPA2-PSK Network<a class="headerlink" href="#connecting-to-a-wpa2-psk-network" title="Permalink to this heading"></a></h3>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>wapi psk wlan0 mypasswd WPA_ALG_CCMP
wapi essid wlan0 myssid WAPI_ESSID_ON
</pre></div>
</div>
<p>or, equivalently:</p>
<blockquote>
<div><div class="highlight-none notranslate"><div class="highlight"><pre><span></span>wapi psk wlan0 mypasswd 3
wapi essid wlan0 myssid 1
</pre></div>
</div>
</div></blockquote>
</section>
<section id="connecting-to-a-wpa3-sae-network">
<h3>Connecting to a WPA3-SAE Network<a class="headerlink" href="#connecting-to-a-wpa3-sae-network" title="Permalink to this heading"></a></h3>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>wapi psk wlan0 mypasswd WPA_ALG_CCMP WPA_VER_3
wapi essid wlan0 myssid WAPI_ESSID_ON
</pre></div>
</div>
<p>or, equivalently:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>wapi psk wlan0 mypasswd 3 3
wapi essid wlan0 myssid 1
</pre></div>
</div>
</section>
<section id="connecting-to-a-hidden-wpa2-psk-network">
<h3>Connecting to a Hidden (WPA2-PSK) Network<a class="headerlink" href="#connecting-to-a-hidden-wpa2-psk-network" title="Permalink to this heading"></a></h3>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>wapi psk wlan0 mypasswd WPA_ALG_CCMP
wapi essid wlan0 myssid WAPI_ESSID_DELAY_ON
wapi ap wlan0 aa:bb:cc:dd:dd:ff
</pre></div>
</div>
<p>or, equivalently:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>wapi psk wlan0 mypasswd 3
wapi essid wlan0 myssid 2
wapi ap wlan0 aa:bb:cc:dd:dd:ff
</pre></div>
</div>
</section>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="commands.html" class="btn btn-neutral float-left" title="Commands" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../../reference/index.html" class="btn btn-neutral float-right" title="API Reference" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2020, The Apache Software Foundation.</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>