Difference between revisions of "Mesh/Makenode"

1,527 bytes added ,  01:13, 8 March 2018
no edit summary
Line 20: Line 20:


== theory for deprecation ==
== theory for deprecation ==
While makenode does work, it presents a large barrier to inclusion (e.g. doesn't work on Windows, have to be relatively comfortable with terminal) as well as limiting our ability to quickly configure "blank" routers that can be handed out to anyone.  
While makenode does work, it presents a large barrier to inclusion (e.g. doesn't work on Windows, have to be relatively comfortable with terminal) as well as limiting our ability to quickly configure "blank" routers that can be handed out to anyone. Instead, it would be preferable to have a version of the firmware that requires "zero configurations", aka zeroconf. To do this, we first need to address the three main reasons for implementation.


1. retrieving a mesh IP:
* this can be done shortly after boot by making a POST request to secrets.peoplesopen.net using curl, the IP can then be then be parse from the json response and inserted into the correct config files using OpenWRT's build UCI configuration tool.


== What is does makenode change? ==
2. setting a root password:
* the quick (but insecure) solution is to set a default root password. The better solution is to limit the access of the root user to only the hardwired interface and/or disable the password after a certain period of time and/or on second boot
* any other non-security-related, per-node configurations could and should be set through the admin dashboard
 
3. hardware detection:
* an example of this can already be seen for extender nodes in the [https://github.com/paidforby/sudowrt-firmware/blob/master/files_extender-node/etc/uci-defaults/99_wireless 99_wireless script]
* at boot OpenWrt needs to detect number of antennas and ports,
* currently we find ourselves flashing almost exclusively one model of router
 
However, before tackling these concerns, all the configurations made by makenode must be moved back to the firmware and adapted to be somewhat configurable. To do this, we will create a uci-defaults script that does exactly what make makenode previously did...copy a lot of IP addresses into different config files.
 
== What does makenode change? ==


=== configs/templates/files/opt/mesh/ ===
=== configs/templates/files/opt/mesh/ ===
95

edits