66
edits
(→Mac) |
(replace latest link with link to working 0.3.0 image) |
||
(45 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
Congratulations on choosing to become part of a People's Open Network! This is a walkthrough for flashing a node (a home router) with | Congratulations on choosing to become part of a People's Open Network! This is a walkthrough for flashing a node (a home router) with Sudo Mesh's sudowrt-firmware (a custom build of OpenWRT) and then configuring it with makenode (a custom javascript tool developed by Sudo Mesh). At the end of the walkthrough, you'll be able to plug in your router and join the mesh. The walkthrough assumes you're using a linux-ish OS (mac OSX should work also) and that you have [https://help.ubuntu.com/community/UsingTheTerminal basic knowledge of the terminal]. The general idea of building your own mesh node consists of three steps, [[#Download/Build|downloading or compiling]] custom firmware, [[#Flash/Upload|flashing that firmware]] to the node (i.e. copying firmware to [https://en.wikipedia.org/wiki/Flash_memory flash memory]), and [[#makenode/Configure|configuring the node]] to function as part of a mesh (with a software tool such as makenode). | ||
Before you flash your router, it is recommended that you read the [[Home and extender nodes#Home_nodes|home node info]] to | Before you flash your router, it is recommended that you read the [[Home and extender nodes#Home_nodes|home node info]] to ensure your router works as a mesh node. | ||
= Download/Build = | = Download/Build = | ||
Line 12: | Line 12: | ||
! Name !! OpenWRT Doc !! Firmware Image | ! Name !! OpenWRT Doc !! Firmware Image | ||
|- | |- | ||
| | | Western Digital MyNet N600 || [https://wiki.openwrt.org/toh/wd/n600 OpenWRT Docs] || '''[https://builds.sudomesh.org/sudowrt-firmware/0.3.0/ar71xx/openwrt-ar71xx-generic-mynet-n600-squashfs-factory-0.3.0.bin 0.3.0]''' [https://zenodo.org/record/1205601/files/openwrt-ar71xx-generic-mynet-n600-squashfs-factory.bin 0.2.3] [https://builds.sudomesh.org/sudowrt-firmware/0.2.2/ar71xx/openwrt-ar71xx-generic-mynet-n600-squashfs-factory.bin 0.2.2][https://builds.sudomesh.org/sudowrt-firmware/0.2.0/ar71xx/openwrt-ar71xx-generic-mynet-n600-squashfs-factory.bin 0.2.0] | ||
|- | |- | ||
| | | Western Digital MyNet N750 || [https://wiki.openwrt.org/toh/wd/n750 OpenWRT Docs] || | ||
'''[https://zenodo.org/record/1205601/files/openwrt-ar71xx-generic-mynet-n750-squashfs-factory.bin latest]''' | |||
[https://zenodo.org/record/1205601/files/openwrt-ar71xx-generic-mynet-n750-squashfs-factory.bin 0.2.3] | |||
[https://builds.sudomesh.org/sudowrt-firmware/0.2.2/ar71xx/openwrt-ar71xx-generic-mynet-n750-squashfs-factory.bin 0.2.2][https://builds.sudomesh.org/sudowrt-firmware/0.2.0/ar71xx/openwrt-ar71xx-generic-mynet-n750-squashfs-factory.bin 0.2.0] | |||
|- | |- | ||
| TP-Link | | TP-Link WDR3500 || [https://wiki.openwrt.org/toh/tp-link/tl-wdr3500 OpenWRT Docs] || | ||
'''[https://zenodo.org/record/1205601/files/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-factory.bin latest]''' | |||
[https://zenodo.org/record/1205601/files/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-factory.bin 0.2.3] | |||
[https://builds.sudomesh.org/sudowrt-firmware/0.2.2/ar71xx/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-factory.bin 0.2.2] [https://builds.sudomesh.org/sudowrt-firmware/0.2.0/ar71xx/openwrt-ar71xx-generic-tl-wdr3500-v1-squashfs-factory.bin 0.2.0] | |||
|- | |- | ||
| | | TP-Link WDR3600 || [https://wiki.openwrt.org/toh/tp-link/tl-wdr3600 OpenWRT Docs] || | ||
'''[https://zenodo.org/record/1205601/files/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin latest]''' | |||
[https://zenodo.org/record/1205601/files/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin 0.2.3] | |||
[https://builds.sudomesh.org/sudowrt-firmware/0.2.2/ar71xx/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin 0.2.2][https://builds.sudomesh.org/sudowrt-firmware/0.2.0/ar71xx/openwrt-ar71xx-generic-tl-wdr3600-v1-squashfs-factory.bin 0.2.0] | |||
|- | |- | ||
| | | TP-Link WDR4300 || [https://wiki.openwrt.org/toh/tp-link/tl-wdr4300 OpenWRT Docs] || | ||
'''[https://zenodo.org/record/1205601/files/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin latest]''' | |||
[https://zenodo.org/record/1205601/files/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin 0.2.3] | |||
[https://builds.sudomesh.org/sudowrt-firmware/0.2.2/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin 0.2.2][https://builds.sudomesh.org/sudowrt-firmware/0.2.0/ar71xx/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin 0.2.0] | |||
|- | |- | ||
|} | |} | ||
Builds for other routers can be found on our [ | Builds for other routers can be found on our [http://builds.sudomesh.org/sudowrt-firmware/ builds server] or on [https://doi.org/10.5281/zenodo.1205601 zenodo], though most builds for routers not listed above have not been tested. For release notes, please go to our [https://github.com/sudomesh/sudowrt-firmware/releases github release pages]. | ||
Alternatively, you can build your own copy of the firmware images by following the guide in the [https://github.com/sudomesh/sudowrt-firmware sudowrt-firmware source]. | Alternatively, you can build your own copy of the firmware images by following the guide in the [https://github.com/sudomesh/sudowrt-firmware sudowrt-firmware source]. | ||
If you do not want to use | If you do not want to use Sudo Mesh's OpenWRT image, you can also install [https://downloads.openwrt.org/ a standard OpenWRT] release and configure it from scratch. | ||
= Flash/Upload = | = Flash/Upload = | ||
Line 37: | Line 50: | ||
== Reset your new N750/N600 router == | == Reset your new N750/N600 router == | ||
[[File:Router_reset_mynet.png|200px|thumb|right|Reset hole location!]] | |||
Instructions to reset / default a WD MyNet N600 or N750 router: | |||
* Plug one end of the Ethernet cable into your laptop. | * Plug one end of the Ethernet cable into your laptop. | ||
* Plug the other end of the Ethernet cable into one of the normal ports (LAN) on the router (not the Internet/WAN port). | * Plug the other end of the Ethernet cable into one of the normal ports (LAN) on the router (not the Internet/WAN port). | ||
* With the router plugged in and power turned off, push a pin into the reset hole and hold it. | * With the router plugged in and power turned off, push a pin / paperclip / tiny screwdriver into the reset hole and hold it for at least 15 seconds. | ||
* With the pin held down, turn on the router power button. | * With the pin held down, turn on the router power button. | ||
* Watch the front blue light - they will flash on and off a few times. | * Watch the front blue light - they will flash on and off a few times. | ||
Line 72: | Line 87: | ||
Note: Sometimes the firmware upload will not complete. After you click on 'Upload' You should get a page with a countdown of 120+ seconds. If this does not occur, reboot the router with the pin reset button depressed (as noted above), and try again. | Note: Sometimes the firmware upload will not complete. After you click on 'Upload' You should get a page with a countdown of 120+ seconds. If this does not occur, reboot the router with the pin reset button depressed (as noted above), and try again. | ||
= Configure = | |||
A freshly flashed node automatically sets its IP address to 172.30.0.xx. You will need to configure your laptop to use the following network settings to communicate with the node: | |||
* IP address: 172.30.0.10 | |||
* IP address: 172. | |||
* Subnet mask: 255.255.255.0 | * Subnet mask: 255.255.255.0 | ||
* Gateway: 0.0.0.0 | * Gateway: 0.0.0.0 | ||
Line 85: | Line 96: | ||
Or use the commands | Or use the commands | ||
sudo ip link set <eth_interface> down | sudo ip link set <eth_interface> down | ||
sudo ip addr add 172. | sudo ip addr add 172.30.0.10/24 dev <eth_interface> | ||
sudo ip link set <eth_interface> up | sudo ip link set <eth_interface> up | ||
Line 92: | Line 103: | ||
See Network Configuration Guides: [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20Linux Linux] [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20MacOS%20X Mac] | See Network Configuration Guides: [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20Linux Linux] [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20MacOS%20X Mac] | ||
== Autoconf (v.0.3.0) == | |||
'''''Note: If you installed autoconfiguring [https://github.com/sudomesh/sudowrt-firmware/releases/tag/0.3.0 release 0.3.0] for myNet N600 routers, you will not need to use makenode ([[#Makenode_.28v.0.2.3_and_earlier.29|instructions further down]]) after flashing the sudowrt-firmware to your router to configure it to work on People's Open Network.''''' | |||
[[File:Nodeports titles.png|400px|thumb|right|Plug into port 3 to access the private network from your laptop. Port 2 connects to the public 'peoplesopen.net' network]] Connect your newly-flashed MyNet N600 to your existing Internet router via ethernet from your existing router's LAN port to your new node's Internet port. Wait a few minutes for your new node to connect to the Internet and obtain its private IP address. Once this happens, the node will broadcast a new WiFi network starting with 'peoplesopen.net' (and ending with a unique IP address). This is the public network, has no password, and is suitable for day-to-day internet access. | |||
There is also a wireless network called 'pplsopen-admin'. This is the private network, and you can use it to access a web dashboard to configure some settings. The default WiFi password is 'meshtheworld'. Try connecting to it (you can also connect to the private network using an ethernet cable connected to port 3 on an N600). | |||
While connected to the ''private'' network, try connecting to the home node's web dashboard by opening a web browser and navigating to http://172.30.0.1 | |||
If the flash was successful you should be brought to the following screen: | |||
[[File:Peoplesopen-dash.jpg|frame|center|upright=2]] | |||
The default password is 'meshtheplanet'. | |||
Here you can set the amount of downstream and upstream bandwidth you're willing to share (default is set to 4096kb, or roughly 4 megabits/second): | |||
[[File:homeScreen.jpg|frame|center|upright=2]] | |||
[[File:WifiSettings.jpg|frame|left|upright=2|Set your private SSID and password via the 'WIFi Settings' tab. NOTE: When you first set your private SSID name and hit 'Save', you will have to reconnect to the newly-named SSID using the original default password ('meshtheworld') and then reconnect again with the new password after setting it in the dashboard]] [[File:newrouter.png|frame|right|upright=2|See all devices connected to your node via the 'Connections' tab]] | |||
<br clear=all> | |||
'''''Note: If you would like to be able to change these settings in the future, or ssh into your router, you will need to change the admin and root passwords within 12 hours.''''' | |||
To do so, open a terminal while connected to the 'pplsopen-admin' SSID: | |||
ssh root@172.30.0.1 | |||
Enter the following password: meshtheplanet | |||
Set the root password. | |||
passwd | |||
Now set the admin password for logging into the web dashboard: | |||
passwd admin | |||
== Makenode (v.0.2.3 and earlier) == | |||
'''''Note: If you installed autoconfiguring [https://github.com/sudomesh/sudowrt-firmware/releases/tag/0.3.0 release 0.3.0] for myNet N600 routers, you do not need to use makenode. See the autoconf instructions above.''''' | |||
Makenode's documentation has been consolidated to [[Mesh/Makenode|its page.]] | |||
= Testing = | = Testing = | ||
After you're finished with the | After you're finished with the flashing and configuration, your home node should be available for connections via your private WiFi SSID. Additionally the public SSID 'peoplesopen.net' will be available. It should also be populated on the [https://peoplesopen.herokuapp.com monitor]! | ||
A third interface named 'pplsopen.net-node2node' will be detectable as well. This is the interface used for the nodes to mesh with each other. | A third interface named 'pplsopen.net-node2node' will be detectable as well. This is the interface used for the nodes to mesh with each other. | ||
Line 211: | Line 153: | ||
= Troubleshooting = | = Troubleshooting = | ||
If you get the error "no such file or directory", open a new terminal and run this command to ensure that <tt>node</tt> points to your NodeJS executable: | If you get the error "no such file or directory", open a new terminal and run this command to ensure that <tt>node</tt> points to your NodeJS executable: | ||
Line 224: | Line 161: | ||
npm install | npm install | ||
./makenode.js | ./makenode.js | ||
= Flashing TP-Link Routers = | |||
If you happen to come across a TP-Link router, such as a WDR4300, you may discover that the above instructions absolutely do not work. This is especially true if the router has previously been flashed with the sudowrt firmware (or any kind of OpenWRT or DD-WRT?). If you find yourself attempting to reflash a TP-Link router, you will first need to reset the router to its factory default firmware. Luckily, redconfetti has provided instructions on how to do this, http://www.rubycoloredglasses.com/2016/04/tp-link-wdr4300-recovery/ (TODO, test/update these instructions and copy them to this wiki) | |||
Next, upload the sudort-firmware manually through the router's gui? Presumably, I haven't gotten that far yet... | |||
After that, makenode should just work right? | |||
There also exists something called tp-flasher, https://github.com/sudomesh/tp-flasher. However, it is highly recommended that you avoid using this because there is a very good chance you will brick your router if you use it incorrectly. Of course, we don't want to discourage anyone from improving tp-flasher. | |||
= Flashing Extender Nodes = | = Flashing Extender Nodes = | ||
Line 230: | Line 177: | ||
See [[Mesh/Flashing extender nodes]] | See [[Mesh/Flashing extender nodes]] | ||
[[Category:Mesh]] |