M-Cube with Microtik Devices

Note: this documentation is currently a work in progress. We will update them with additional details as we refine the process for setting up M-Cube with Microtik devices.

If you cannot obtain the Airfide Sparrow+ 802.11ad router (this applies especially to international users, where export restrictions may be a concern), it is possible to substitute a Microtik 802.11ad router. We have preliminary results for the Microtik wAP 60Gx3, although similar devices, such as the wAP 60G, should also work.

To get started, install IMDEA’s OpenWRT fork to your Microtik device. To do so, download vmlinux and sysupgrade.bin from here. Follow IMDEA’s instructions to boot OpenWRT on the device over TFTP. If possible, test that basic STA/AP operation works before proceeding further. To verify that the firmware will work with our Python server, download our test executable to /tmp on your Microtik router, then extract it and type sh run.sh to run it. Check for errors before proceeding. Note that the get_pattern or pattern1 sections may fail due to a firmware version mismatch. M-Cube can operate without these commands working, but it is best to fix this problem. See the section below.

Upgrading Firmware

M-Cube can operate without get_pattern, although this may make debugging more difficult. If you have access to an existing Airfide router, you can copy a firmware from that router to fix the problem. Copy /lib/firmware/wil6210_sparrow_plus.fw from the Airfide radio to the Microtik router. When you run the server, you should see that the “Device firmware version:” is changed from 6.1.0.40 to 6.2.0.40. We are unable to share this firmware file directly due to export restrictions. Do not share this file without proper permission.

Finally, follow the instructions to make the flash permanent.

Now that we have verified that the default router configuration works, we will configure the hardware and software for M-Cube.

To set up software, copy our server executable to /tmp on the router, and use sh run.sh to run the server. You can then use the standard control commands discussed on the main M-Cube page.