**This is an old revision of the document!** ----

A PCRE internal error occured. This might be caused by a faulty plugin

=== Quality Assurance & Related Matters === ===== Provisioning Procedure ===== This procedure assumes that you have a computer running Ubuntu 16.04: - Clone the Serval Project fork of OpenWRT (https://github.com/servalproject/openwrt/tree/MeshExtender2.0), and checkout the MeshExtender2.0 branch, and then execute 'make world'. - Clone the Serval OpenWRT packages repository (https://github.com/servalproject/openwrt-packages), and execute make from in the auto-flash sub-directory to create the automatic flashing utility. - Setup a TFTP server to serve files from '/srv/tftp' by following the procedure at https://askubuntu.com/questions/201505/how-do-i-install-and-run-a-tftp-server - From in the openwrt directory, run the './update' script to compile the latest Serval-DNA, LBARD and related binaries, and have them automatically copied into /srv/tftp - Configure an ethernet port on your computer to have the manually allocated IP address, and a netmask of - Connect a Mesh Extender Programming Cable to your computer. This will cause a USB serial port to appear, possibly /dev/ttyUSB1 if you have no others connected. - From the openwrt-packages/auto-flash directory, run './auto-flash /dev/ttyUSB1', replacing /dev/ttyUSB1 with the name of the serial port from the previous step. You can now connect a Mesh Extender via ethernet to your computer, and then connect the programming cable to the Mesh Extender. This should cause the Mesh Extender to be automatically flashed , including upgrading uboot if required. The process takes about 3 minutes. You can program as many Mesh Extenders as you wish in this way, by simply moving first the ethernet and second the Mesh Extender programming cable to the next Mesh Extender to be flashed. If you modify alert.a3u and have VLC installed, it will play the audio or video file you specify in the .m3u file when the process is complete, so that you don't have to watch the screen intently the whole time. TODO: The above process does not include preparing the uboot firmware for the devices. ===== Mesh Extender Programming Cable ===== To provision or debug Mesh Extenders, it is helpful to have a Mesh Extender programming cable. This consists simply of a setup that provides the 5V DC power required for the core functions of the Mesh Extender, as well as routing the serial console to an FTDI or similar serial adapter. The cable requires only four connections: * FTDI red (Vcc) - DB25 female pin 22 (5V in) * FTDI black (GND) - DB25 female pin 1 (GND) * FTDI orange (TXD) - DB25 female pin 19 (Mesh Extender serial console RX) * FTDI yellow (RXD) - DB25 female pin 5 (Mesh Extender serial console TX) Here is an example cable built using a DB25 break-out board: {{:content:meshextender:meshextenderprogrammingcable2.jpg?300|}} {{:content:meshextender:meshextenderprogrammingcable1.jpg?300|}} This is the cable that we use in the lab to flash Mesh Extenders. ===== Mesh Extender PCB Test & Programming Rig ===== A test rig that will allow flash programming and testing of all functions of the PCB is under development with Ryan, an honours student as of 2018. It is intended to test the following functions: * Super-cap safe shutdown * Ethernet port 1 * Ethernet port 2 * Wi-Fi (access point) * Wi-Fi (ad-hoc) * Servald and LBARD operate * Internal UHF packet radio operation (sniff serial port?) * Internal UHF packet radio reads, honours and reports Power/Radio cable I2C EEPROM status * External radio operation * Relay-switched output * Opto-isolated inputs * microSD card bulk storage * Control of ssh login via microSD card special file * Control of ssh login via Power/Radio cable I2C EEPROM * Web-server operates * Web-server reports radio regulatory settings * Over-the-air update operates * Over-the-air update BID can be configured via microSD card special file * Over-the-air update BID can be configured in Power/Radio cable I2C EEPROM, and is honoured * ... ===== Informal IP/Environmental Testing of Enclosures ===== Details to be confirmed. Suggested tests: * Hot weather test (operation in full sun and high humidity to 45C). * Temperature and humidity cycling test. * Water spray test with Power/Radio cable connected. * Repeated sudden power-loss * ... ? Success criteria: * Uninterrupted operation through tests (confirm via pingability via Wi-Fi?). * System reboots cleanly. * No condensation or dust ingress at conclusion of testing. * ... ? ==== Certifications ==== The ME2.0 has not yet been subjected to any certifications. We intend to pursue Australian/New Zealand, EU and US certifications of the electronics, and IP65 or IP66 certification of the hardware.