User Tools

Site Tools


content:activity:openitp2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
content:activity:openitp2 [07/01/2015 15:06]
Jeremy Lakeman [Work items performed]
content:activity:openitp2 [18/01/2015 22:06] (current)
Andrew Bettison link to Paul's blog post on shipping mesh extenders
Line 20: Line 20:
   * [[naf6]]   * [[naf6]]
  
-During December 2014 and January 2015, three pairs of Mesh Extender units were tested and shipped in working condition to the "Bleeding Edge" supporters of the [[https://www.indiegogo.com/projects/speak-freely|Speak Freely crowdfunding campaign]].+During December 2014 and January 2015, four pairs of tested and functional Mesh Extender units were prepared to ship to the "Bleeding Edge" supporters of the [[https://www.indiegogo.com/projects/speak-freely|Speak Freely crowdfunding campaign]].
  
 ==== Work items performed ==== ==== Work items performed ====
Line 34: Line 34:
 The following supplemental work items demonstrate fulfilment: The following supplemental work items demonstrate fulfilment:
  
-  * **[[#W6]]**. Flash, test and ship three working pairs of Mesh Extenders +  * **[[#W6]]**. [[http://servalpaul.blogspot.com.au/2015/01/bleeding-edge-mesh-extender-kits.html|Ship four working pairs of Mesh Extenders]] 
-  * **[[#W7]]**. Support Mesh Extender early adopters+  * **[[#W7]]**. Support our Mesh Extender early adopters
  
 <BOOKMARK:W1>=== W1. Build and release Serval DNA for OpenWRT === <BOOKMARK:W1>=== W1. Build and release Serval DNA for OpenWRT ===
Line 122: Line 122:
     * inserts the [[https://github.com/servalproject/mesh-extender-builder/tree/master/image-files|image files]] into the generic firmware image, which includes all the configuration and settings needed to boot a Mesh Extender, plus the radio module serial flash loader executable binary and radio firmware blob.     * inserts the [[https://github.com/servalproject/mesh-extender-builder/tree/master/image-files|image files]] into the generic firmware image, which includes all the configuration and settings needed to boot a Mesh Extender, plus the radio module serial flash loader executable binary and radio firmware blob.
  
-  * The generic OpenWRT image builder does not build [[:content:servaldna:]].  Instead, the pre-built **servald** executable binary is contained in the repository.  The [[https://github.com/servalproject/mesh-extender-builder/blob/master/make_image|make_image]] script could be improved to compile [[:content:servaldna:]] from source during STEP 1, but limited time and budget did not permit further refinement.+The generic OpenWRT image builder does not build [[:content:servaldna:]].  Instead, the pre-built **servald** executable binary is contained in the repository.  The [[https://github.com/servalproject/mesh-extender-builder/blob/master/make_image|make_image]] script could be improved to compile [[:content:servaldna:]] from source during STEP 1, but limited time and budget did not permit further refinement.
  
   * **STEP 2.** The user runs the [[https://github.com/servalproject/mesh-extender-builder/blob/master/gather-image-files|gather-image-files]] script, which:   * **STEP 2.** The user runs the [[https://github.com/servalproject/mesh-extender-builder/blob/master/gather-image-files|gather-image-files]] script, which:
Line 131: Line 131:
     * assembles an upgrade file, **serval.up**, that will be copied verbatime to the USB flash drive     * assembles an upgrade file, **serval.up**, that will be copied verbatime to the USB flash drive
  
-  * **STEP 3.** The user inserts a USB flash drive into the workstation and runs the [[https://github.com/servalproject/mesh-extender-builder/blob/master/partition-memory-stick.sh|partition-memory-stick.sh]] script, which partitions the USB flash drive (erasing existing partitions).  The user must then remove and re-insert the USB flash drive to ensure that the workstation detects the new partitions If re-using a USB flash drive from a previous runthen this step can be omittedsince it will already be partitioned correctly.+  * **STEP 3.** The user connects the target Mesh Extender unit to the workstation by Ethernet cable and flashes the new firmware image to it using one of two options: 
 +    - If the unit is //virgin// (factory settings; ie, never had the Mesh Extender firmware installed before) then the user runs the [[https://github.com/servalproject/mesh-extender-builder/blob/master/flash-virgin-mr3020|flash-virgin-mr3020]] script, which uploads the firmware image via HTTP to the IP address 192.168.0.254 (the MR3020 default factory IP address)then issues another HTTP command to initiate the flash upgrade. 
 +    - If the unit has already been flashed at least once with the Mesh Extender firmware, then the user runs the [[https://github.com/servalproject/mesh-extender-builder/blob/master/reflash-mesh-extender|reflash-mesh-extender]] script with the IP address of the unit as its first argumentwhich uploads the firmware image via SSH to the given IP addressthen executes the //sysupgrade// command on the unit using SSH.
  
-  * **STEP 4.** The user runs the [[https://github.com/servalproject/mesh-extender-builder/blob/master/populate-memory-stick|populate-memory-stick]] scriptwhich formats the new partitions of the USB flash drive and copies the staged directory and upgrade file to their respective partitions.+After STEP the Mesh Extender unit will rebootand will be running the new firmware kernel.  The following steps install all the staged files to the Mesh Extender.
  
-The user may then remove the USB flash drive from the workstation, insert it in Mesh Extenderand power it up.  The Mesh Extender will automatically upgrade itself with the new firmware image and start working.+  * **STEP 4.** The user inserts a USB flash drive into the workstation and runs the [[https://github.com/servalproject/mesh-extender-builder/blob/master/partition-memory-stick.sh|partition-memory-stick.sh]] script, which partitions the USB flash drive (erasing existing partitions).  The user must then remove and re-insert the USB flash drive to ensure that the workstation detects the new partitions.  If re-using a USB flash drive from previous runthen this step can be omitted, since it will already be partitioned correctly.
  
-The user may repeat STEP 3 and STEP 4 as often as desired to create new USB flash drives from the same image for other Mesh Extender units.+  * **STEP 5.** The user runs the [[https://github.com/servalproject/mesh-extender-builder/blob/master/populate-memory-stick|populate-memory-stick]] script, which formats the new partitions of the USB flash drive and copies the staged directory and Serval DNA configuration file to their respective partitions.  It also creates the NOROOT file in the root of one of the partitions. 
 + 
 +The user may then remove the USB flash drive from the workstation, insert it in the Mesh Extender unit, and power it up.  The Mesh Extender will automatically upgrade itself from the contents of the USB flash drive then reboot.  The Mesh Extender unit is now fully functional. 
 + 
 +The presence of the NOROOT file in its corresponding USB flash partition prevents the Mesh Extender from accepting logins via SSH, for security reasons.  Anybody with physical access to the unit can re-enable SSH logins by extracting the USB flash drive, inserting it in a workstation, removing the NOROOT file, re-inserting it in the Mesh Extender unit, and powering up the unit.  The unit will re-create the NOROOT file and accept SSH logins until its next reboot, so enabling SSH logins by this method is not permanent. 
 + 
 +The user may repeat STEP 3STEP 4 and STEP 5 as often as desired to flash new Mesh Extender units from the same firmware image and create new USB flash drives for them.
  
 <BOOKMARK:W6>=== W6. Test and ship Mesh Extenders === <BOOKMARK:W6>=== W6. Test and ship Mesh Extenders ===
  
-The [[https://www.indiegogo.com/projects/speak-freely|Speak Freely crowdfunding campaign]], which ran from July to September 2013, raised 13,465 USD for Mesh Extender development, which included donations from four "True Believer" supporters who are now credited in the [[:content:servalmesh:]] app, and from three "Bleeding Edge" supporters, to each of whom we have now shipped a pair of working Mesh Extender MR3020 prototype units and, as a bonus for late delivery, a pair of [[:content:devices:huawei_ideos_x1_u8180:]] phones with [[:content:servalmesh:releases:version_0_92]] pre-installed.+The [[https://www.indiegogo.com/projects/speak-freely|Speak Freely crowdfunding campaign]], which ran from July to September 2013, raised 13,465 USD for Mesh Extender development, which included donations from four "True Believer" supporters who are now credited in the [[:content:servalmesh:]] app, and from four "Bleeding Edge" supporters, to each of whom we will give a pair of working Mesh Extender MR3020 prototype units.  As a bonus for late delivery, we will also give them each a pair of [[:content:devices:huawei_ideos_x1_u8180:]] phones with [[:content:servalmesh:releases:version_0_92]] pre-installed and tested in conjunction with the pair of Mesh Extender units.
  
-Preparation of these Mesh Extender prototypes was complicated by technical difficulties such as defective RFD-900 radio modules, serial cable solder joint failures caused by repeated extraction and insertion into the 3D-printed case, and defective Sandisk USB flash drive units.  The shipments were finally sent in January 2015.+During December 2014 and January 2015, we assembled and tested four pairs of Mesh Extender prototype units.  This was complicated by technical difficulties such as defective RFD-900 radio modules, serial cable solder joint failures caused by repeated extraction and insertion into the 3D-printed case, and defective Sandisk USB flash drive units.  Once these issues were overcome, the units performed correctly.  The units and phones were [[http://servalpaul.blogspot.com.au/2015/01/bleeding-edge-mesh-extender-kits.html|shipped in January 2015]].
  
 <BOOKMARK:W7>=== W7. Support Mesh Extender early adopters === <BOOKMARK:W7>=== W7. Support Mesh Extender early adopters ===
content/activity/openitp2.1420671970.txt.gz · Last modified: 07/01/2015 15:06 by Jeremy Lakeman