===== mAP lite =====
==== Configuration webgui active, ethernet passthrough, wireless disabled ====
//this configuration will be/was used for Commerce St. public art project: **Electric Chameleons**//
- if required reset mAPLite: unplug, replug and immediately press reset and hold until AP and WiFi lights alternate blinking
- connect via wireless access point
- WiFi password is written on the back of the unit
- point browser to wireless default IP address (192.168.88.1) and login. Default name is ''admin'' and default password is blank. //On newer firmware password is written on the back of the unit.//
- in GUI: ''webfig'' -> ''IP'' -> ''firewall'' then disable ''#5: defconf: drop all not coming from LAN.'' This will allow you to connect to the GUI through the Ethernet
- optionally disconnect from mAP lite wireless access point
- using a DHCP server connect to mAP lite over Ethernet
- point browser to webgui using DHCP server assigned IP address
- in GUI: ''webfig'' -> ''interfaces'' -> ''disable wlan1''
- in GUI: ''quickset'' -> ''CAP'' -> ''apply configuration'' <-- **This is critical**
- mAP lite will be assigned a new IP address. Connect to webgui through Ethernet with new address
-
==== Assigning a network key to powerline interface ====
// Stolen verbatim from [[https://help.mikrotik.com/docs/display/ROS/PWR+Line|Mikrotik's documentation]]//
* The currently configured network-key can be seen using the monitor command as plc-actual-network-key: ''
[admin@MikroTik] > /interface pwr-line monitor pwr-line1''
* Set network key: ''/interface pwr-line configure pwr-line1 network-key=cb01fcc6167bf3d1edb1433c2ebde4b3''
* //for some reason, setting the network password instead of the network key didn't work//
=== Creating the Network Key ===
* ''echo "mynetwork" | hpavkeys -M''
* ''hpavkeys'' can maybe be installed with ''apt install plc-utils-extra'' but if not it's relatively easy to compile from source:
git clone https://github.com/qca/open-plc-utils.git
cd open-plc-utils/
make
sudo make install
====== Maplite Intranet Reference ======
===== Overview =====
Maplite B is the gateway: it joins the upstream wifi as a client, NATs, and runs DHCP. Everything else uses B as gateway and DNS.
^ Device ^ Address ^ Role ^
| Main machine | 10.42.0.99 (static) | Gateway 10.42.0.71, DNS 10.42.0.71 |
| Maplite A | 10.42.0.139 (static) | Gateway and DNS 10.42.0.71 |
| Maplite B | 10.42.0.71 | Wifi client, NAT, DHCP server, DNS |
| Maplite C | 10.42.0.72 (static) | Gateway and DNS 10.42.0.71 |
| DHCP pool | 10.42.0.150 - 10.42.0.199 | Served by B |
| Free for static units | 10.42.0.73 - 10.42.0.98 | Use these for new maplites |
Path to the internet: main machine -> A -> powerline -> B -> upstream wifi -> internet.
===== 1. Adding a wifi network to B =====
Use an interactive session so the password stays out of shell history:
ssh admin@10.42.0.71
Then run these two lines per network. The profile name is only a label: it must be unique and the same in both lines. Increment it (''wifi2'', ''wifi3'', ...) or use a descriptive name (''office'', ''home'').
/interface wireless security-profiles add name=wifi2 mode=dynamic-keys authentication-types=wpa2-psk wpa2-pre-shared-key="PASSWORD"
/interface wireless connect-list add interface=wlan1 ssid="SSID" security-profile=wifi2 connect=yes
Notes:
* The mAP lite is **2.4 GHz only**. Choose the SSID that broadcasts on 2.4.
* For an open network use ''mode=none'' and leave out the key.
* Reusing an existing profile name fails with "already have such profile".
* Put the preferred network first in the connect-list.
=== View what is saved ===
/interface wireless connect-list print
/interface wireless security-profiles print proplist=name,mode,authentication-types
/interface wireless registration-table print
* The connect-list shows each saved SSID, its profile and the order.
* ''proplist='' hides passwords. A plain ''security-profiles print'' prints every stored key in clear text.
* The registration table shows which network B is currently joined to.
* The ''default'' profile is the factory one and is not used by the uplink.
=== Remove a network ===
/interface wireless connect-list remove [find ssid="SSID"]
/interface wireless security-profiles remove [find name=wifi2]
===== 2. Adding another maplite (configured like C) =====
==== Choose an address ====
Pick one outside the DHCP pool (.150-.199) and not already in use (.71, .72, .99, .139). Use .73, .74, ... in order.
==== Plug in and reach the unit ====
* Plug it into the chain (powerline or ethernet).
* If its DHCP client is on (A's factory config was), it gets a lease from B. Find it on B with ''/ip dhcp-server lease print''.
* Otherwise it is at its default address, usually 192.168.88.1. Give your machine a temporary address on that subnet to reach it.
* A factory-fresh unit has not been checked on this network, so confirm which of these applies.
==== Static configuration ====
Replace ''10.42.0.73'' with the new unit's address. Run it as **one line**: removing the current address can freeze or drop the SSH session, and on a single line RouterOS finishes all the commands before the connection notices.
/ip dhcp-client remove [find]; /ip address remove [find where interface=bridge or interface=wlan1]; /ip address add address=10.42.0.73/24 interface=bridge comment=lan; /ip route add dst-address=0.0.0.0/0 gateway=10.42.0.71 comment=default-gw; /ip dns set servers=10.42.0.71
The same commands work as separate lines, but only if you **paste them all at once**, not type them one by one:
/ip dhcp-client remove [find]
/ip address remove [find where interface=bridge or interface=wlan1]
/ip address add address=10.42.0.73/24 interface=bridge comment=lan
/ip route add dst-address=0.0.0.0/0 gateway=10.42.0.71 comment=default-gw
/ip dns set servers=10.42.0.71
If you are already connected on the address the unit should keep (for example a DHCP lease you want to make permanent), the session will not drop. Typing the lines one at a time is then fine, but do the ''address add'' before the ''remove'', or skip the remove.
If you reach the unit on a different address (for example 192.168.88.1), the session drops when the address changes. Reconnect on the new address.
==== Optional extras ====
/system identity set name=maplite-D
/user set admin password="NEWPASSWORD"
/interface wireless cap set enabled=no
* Name the unit so it is easy to tell apart (all units default to "MikroTik").
* Change the default login password.
* Turn off the factory CAP mode.
==== Check it ====
/ping 10.42.0.71 count=3
/ping google.com count=3
===== 3. Gotchas =====
* **Address on a bridge slave:** on C the address is attached to ''wlan1'', which is a bridge port. It works while ''wlan1'' stays in the bridge. If you ever remove it from the bridge, move the address onto ''bridge'' first, in one line.
* **Two DHCP servers:** never run B's DHCP server and a "Shared to other computers" connection on the same wire at once. Disable B's first with ''/ip dhcp-server disable lan-dhcp''.
* **Shared SSH sessions** (''ControlMaster'') are bound to the source IP and die when the machine's address changes. Remove stale sockets (''rm -f /tmp/mt-.sock'') before reopening, or you get "ControlSocket already exists".
* **If a unit is unreachable:** the only recovery is the reset button on the unit.