Download the source and toolchain
Using a Debian-family Linux PC (I'm using Ubuntu 14.04 LTS):
git clone https://github.com/weaved/plug_openwrt
Subsequently, to get the most recent firmware updates:
Build the image
"make menuconfig" opens a text based menu system which lets you select from the available modules and packages. The first time around, simply exit from this menu then do a "make" to build the baseline. This builds the image based on the .config file. I suggest that you make a backup of the stock .config file, but don't call it .config.old, because that's the name that the menuconfig uses. I called mine .config.txt. This will let you quickly identify differences between your customized image and the stock build by doing a diff.
This creates bin images in several formats. The correct output image is:
Uploading the image
The current approved way is to use wget to pull it over from your PC running a web server. I installed lighttpd. After building the image, I copied the bin file to /var/www on my Ubuntu system.
On the plug, enter:
These instructions apply to the firmware releases after mid June 2015:
sysupgrade -v openwrt-ramips-rt305x-weavedsmartplug-squashfs-sysupgrade.bin
192.168.1.213 being your PC's IP address (which it might or might not be).
The md5sum step is recommended to make sure that the image transferred correctly. Of course, you should run this command against the bin file on your development PC and make sure they match prior to running the mtd command.
These instructions applied to the earliest firmware releases:
mtd -q write openwrt-ramips-rt305x-weavedsmartplug-squashfs-sysupgrade.bin firmware
I have noticed in some cases that following the mtd command, every command I issue results in a "segmentation fault". When this happens I was unable to reboot via the console. I had to power cycle the plug, and so far, it has come up with the new firmware. We are looking into this seg fault issue.