<p>CLI Testing Instructions</p>

<p>What you will need:</p>

<ul class="task-list">
<li>Two picostations</li>
<li>The image with the CLI (It requires special build instructions right now, so please ask me for a copy)</li>
</ul><p>Now let's test!</p>

<p>Flash both nodes with the CLI image</p>

<p>Router 1:<br>
Set up the first node using the regular graphical Set Up Wizard, as you normally would, using the following values:</p>

<p>Node Name:<br>
DrBunsenHoneydew</p>

<p>Mesh SSID:<br>
MuppetMesh</p>

<p>Channel:<br>
11</p>

<p>Mesh Encryption:<br>
MuppetMesh</p>

<p>Access Point SSID:<br>
DrBunsenHoneydew</p>

<p>Access Point Encryption:<br>
MuppetAP</p>

<p>Router 2:</p>

<p>Follow these instructions:</p>

<p>Flash Router</p>

<p>Switch to DHCP</p>

<p>... to get a lease (ip address) from the node once it boots up</p>

<p>On command line</p>

<p>Determine your node's IP address</p>

<p>~ ifconfig</p>

<p>Copy the IP address used by the eth0 interface and change the last octet to .1</p>

<p>~ telnet 10.48.162.1 </p>

<p>Run the setup wizard:</p>

<p>~ setupwizard</p>

<p>Use the following values for the second node. We will be trying bad values to make sure that it refuses bad inputs.</p>

<p>New password:<br>
muppetshow</p>

<p>Set Hostname?<br>
First Try:<br>
Meep</p>

<p>Second Try:<br>
y</p>

<p>Host Name:</p>

<p>First Try:<br>
%!^@!^</p>

<p>Second Try:<br>
Beaker</p>

<p>Mesh SSID:</p>

<p>First Try:<br>
(Nothing. Just hit enter)</p>

<p>Second Try:<br>
MuppetMesh</p>

<p>Channel:</p>

<p>First Try:<br>
9001</p>

<p>Second Try:<br>
11</p>

<p>Mesh Encryption:<br>
y</p>

<p>First Try:<br>
Meep</p>

<p>Second Try:<br>
MuppetMesh</p>

<p>Set up an access point?<br>
y</p>

<p>Access Point SSID:<br>
Beaker</p>

<p>Access Point Encryption:<br>
BeakerAP</p>

<p>Keep this configuration?<br>
n  (sorry, but we have to go through it again)</p>

<p>Hostname:<br>
NoBeaker</p>

<p>Mesh SSID:<br>
NoMuppetMesh</p>

<p>Channel:<br>
5</p>

<p>Mesh Encryption:<br>
NoMuppetMesh</p>

<p>Access Point SSID:<br>
NoBeaker</p>

<p>Access Point Encryption:<br>
NoBeakerAP</p>

<p>Keep this configuration?<br>
y</p>

<p>Your node will now restart networking and should after a minute or so begin broadcasting an access point.</p>

<p>Connect to the "NoBeaker" access point, then go back to the command line:</p>

<p>~ ssh root@thisnode </p>

<p>OR</p>

<p>~ ssh root@[IP address we used to telnet in]</p>

<p>Once you're reconnected, rerun the set up wizard:</p>

<p>~ setupwizard</p>

<p>Set new configuration?<br>
y</p>

<p>Run back through the set up wizard with the following configuration:</p>

<p>Node Name:<br>
Beaker</p>

<p>Mesh SSID:<br>
MuppetMesh</p>

<p>Channel:<br>
11</p>

<p>Mesh Encryption:<br>
MuppetMesh</p>

<p>Access Point SSID:<br>
Beaker</p>

<p>Access Point Encryption:<br>
MuppetAP</p>

<p>Your node will now restart networking and should after a minute or so begin broadcasting an access point. But NOW we should be able to mesh with Dr.BunsenHoneydew</p>

<p>Connect to the "Beaker" access point, then go back to the command line:</p>

<p>~ ssh root@thisnode </p>

<p>OR</p>

<p>~ ssh root@[IP address we used to telnet in]</p>

<p>Once you're logged in, type:</p>

<p>~ route</p>

<p>You should see in the table a route to DrBunsenHoneydew</p>

<hr>

<h4>You can merge this Pull Request by running</h4>
<pre>  git pull https://github.com/opentechinstitute/commotion-router cli</pre>
<p>Or view, comment on, or merge it at:</p>
<p>  <a href='https://github.com/opentechinstitute/commotion-router/pull/127'>https://github.com/opentechinstitute/commotion-router/pull/127</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>added setup wizard</li>
  <li>added save changes</li>
  <li>added option to set mesh password.</li>
  <li>added password check</li>
  <li>drafted AP setup and added uci commits to mesh setup</li>
  <li>added uci network calls</li>
  <li>changed MESH_CONFIG to WIRELESS_CONFIG</li>
  <li>fixed typos and deleted redundant network config entry</li>
  <li>cleanup</li>
  <li>fixed uci warnings</li>
  <li>added option to change hostname</li>
  <li>removed unnecessary bssid generation</li>
  <li>fixed typo</li>
  <li>fixed more typos</li>
  <li>removed network option in /etc/config/wireless</li>
  <li>fixed hostname check</li>
  <li>fixed hostname statement. Now repeats after incorrect input</li>
  <li>added firewall and network configurations</li>
  <li>fixed typo</li>
  <li>added commotiond restart</li>
  <li>fixed broken profile calls. Profiles now saved under mesh network name</li>
  <li>added encryption 'none' field when no encryption used</li>
  <li>changed MESH_CHANNEL to CHANNEL since channels must match</li>
  <li>changed encryption entry for no encryption</li>
  <li>refactored and added access point configuration</li>
  <li>added setup_wizard file to indicate that setupwizard has already been run</li>
  <li>configuration changes now reflected in setup_wizard config</li>
  <li>fixed typo</li>
  <li>fixed setup_wizard uci calls</li>
  <li>fixed typo</li>
  <li>changed password from 'true' to 'changed' to conform with gui setupwizard</li>
  <li>renamed setupwizard to setupwizard.sh</li>
  <li>fixed output for settings review</li>
  <li>added reset option prompt</li>
  <li>refactored script into get and set functions</li>
  <li>refactored setupwizard to allow multiple runs of get_config</li>
  <li>added clear variables</li>
  <li>wrapped variables to prevent code execution</li>
  <li>fixed typo</li>
  <li>added check for whether setup wizard has already been run</li>
  <li>setup wizard now re-runnable</li>
  <li>improved formatting</li>
  <li>password mismatch now prompts retry</li>
  <li>more formatting</li>
  <li>even more formatting</li>
  <li>MOAR FORMATTING</li>
  <li>added input validation for mesh setup</li>
  <li>fixed hostname loop</li>
  <li>refactored validator function</li>
  <li>added default channel limits and fixed AP_PASSWORD validation</li>
  <li>fixed interface name in /etc/config/network to match gui setup wizard</li>
  <li>renamed setupwizard.sh to setupwizard</li>
  <li>Merge branch 'master' into cli</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>A</strong>
    <a href="https://github.com/opentechinstitute/commotion-router/pull/127/files#diff-0">default-files/etc/cli</a>
    (11)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/opentechinstitute/commotion-router/pull/127/files#diff-1">default-files/usr/bin/setupwizard</a>
    (350)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/opentechinstitute/commotion-router/pull/127/files#diff-2">default-files/usr/bin/setupwizard.sh</a>
    (350)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/opentechinstitute/commotion-router/pull/127.patch'>https://github.com/opentechinstitute/commotion-router/pull/127.patch</a></li>
  <li><a href='https://github.com/opentechinstitute/commotion-router/pull/127.diff'>https://github.com/opentechinstitute/commotion-router/pull/127.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/opentechinstitute/commotion-router/pull/127">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/3074564__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcxODcyNjY2OSwiZGF0YSI6eyJpZCI6MzQ5NzA5NDJ9fQ==--1c457fd56f5b8feb6302ffeada15770ac31b1f8b.gif" width="1" /></p>