Setting up MultiTech LoRaWAN gateway on Ubuntu
As the convener for the Adelaide community of The Things Network, I am frequently setting up Multitech Conduit Gateways. Depending on your PC or notebook hardware you might have some problems with the Exar USB-UART driver on Linux.
Here are the steps to getting this unit setup from an Ubuntu (should work for any other Linux distro) machine.
lsusb
Should show something like this:
Bus 002 Device 006: ID 04e2:1410 Exar Corp. XR21V1410 USB-UART IC
Moving to KVM virtual machines
Installing VirtualBox is getting increasingly painful on Ubuntu due to the problems with UEFI Secure Boot and the VirtualBox kernel modules. Another reason for an alternative is that running VirtualBox VM’s completely in the background is not as straightforward as it could be.
From the available alternatives I looked into (VMWare, Xen & KVM) it was KVM that fitted my needs (casual VM usage with mostly headless VM’s for testing purposes). Main reasons:
Microchip LoRaWAN Development Utility on Ubuntu
Having just wasted a few hours on getting this Java software running on Linux I am documenting this for future reference and hopefully saving other LoRa / TTN folks some time.
Prerequisites
Install a Java JDK + JavaFX. This should work with the default OpenJDK 8 or 9 which comes as part of the Ubuntu repositories. I ended up installing Oracle JDK 8 as well as I thought the error might be related to OpenJDK.
Display your Flickr Favourites as Screensaver Slideshow
Install XScreenSaver and remove Gnome default
sudo apt remove gnome-screensaver
sudo apt install xscreensaver xscreensaver-gl xscreensaver-gl-extra
Run the Screensaver UI and configure
In the “Advanced” section enter your Flickr RSS URL in “Choose Random Image”

https://api.flickr.com/services/feeds/photos_faves.gne?id=YOURFLICKRUSERID #replace with your Flickr User ID
Create a systemd user service to autostart
mkdir -p ~/.config/systemd/user/
vim ~/.config/systemd/user/xscreensaver.service
[Unit]
Description=XScreenSaver
[Service]
ExecStart=/usr/bin/xscreensaver -nosplash
[Install]
WantedBy=default.target
Start and enable systemd user service
systemctl --user enable xscreensaver
systemctl --user start xscreensaver
To copy the settings (including RSS URL) onto other PC’s or re-install it might be a good idea to backup or copy the contents of ~/.xscreensaver
Set up a Raspberry Pi Zero headless
If you are using the GUI (Raspian full download) and want to connect your RPi Zero to a keyboard and monitor there are probably easier ways to do this. These notes are for people that want to use a headless (no monitor and GUI) setup ready to connect to your RPi after first boot via SSH from another terminal.

Connecting your LoPy to The Things Network in Australia
EDIT [2018-06-05]: I have updated the code with the Firmware 1.18.+ releases. The code is available at our Growing Data Foundation Github.
These notes are to assist Australian IoT enthusiasts to get started in connecting a LoPy to The Things Network as it is unfortunately (not yet) straight forward to make them work with the current AU-915 TTN Channel plans. As the initiator of the local Adelaide Community of The Things Network I have been experimenting with a number of devices to connect sensors to #TTNADL. One of my personal favourites is the Pycom LoPy as a nice middle-ground between capabilities and technical complexity.
Using DNSMadeEasy as Dynamic DNS provider on Synology Diskstations
Since Synology (despite requests) still has not added DNS Made Easy as a listed provider (despite listing some really obscure services – go figure!) here is the steps to add a custom provider.
DNS Made Easy Setup
Create a new A-Record
- Set the name
- Set the IP (initial – any valid IP)
- Tick the “Dynamic DNS” tickbox
- Enter your chosen Dynamic DNS Password
- Save the new record
When saving the record you will see a “Dynamic DNS ID” – note down this number. This will become the hostname on the Synology setup.
Getting Fujitsu ScanSnap S1300i to work on Ubuntu 16.04LTS

Upgrade or install SANE backends
Since the version of SANE in the Ubuntu 16.04LTS repos is not working for this scanner you either need to install from sources (see this blog) or from this PPA.
sudo add-apt-repository ppa:rolfbensch/sane-git
sudo apt update sudo apt install sane-backends tesseract-ocr gscan2pdf`
Security
Add yourself to the ‘scanner’ group to be able to use the scanner.
sudo usermod -a -G scanner USERNAME
Checking SANE
Check for the libsane version (needs to be at least libsane.so.1.0.26 not libsane.so.1.0.25 which is in the Ubuntu repos)
RaspberryPi Version 3 SOE
Since there is now a supported Raspbian version without GUI and other unneeded add-ons available as Raspbian Lite the need to use other installers (with sometimes some downsides) is now not a necessity anymore. Below is a list of steps I like to perform before using them for any purpose as my Standard Operating Environment.
Download Raspbian Lite
Download link: https://www.raspberrypi.org/downloads/raspbian/
Write to SD Card
dd bs=4M if=2016-05-27-raspbian-jessie-lite.img of=/dev/sdb
Boot RPi
Default login details are
UID: pi
PWD: rasbperry
Install Hugo on Ubuntu to generate static websites
Whilst there is a .DEB installer to download from the GoHugo sites I get all matter of warnings that the package is of bad quality and I am not comfortable to run these kinds of installers.
I rather install from sources in this case which is very straight forward since the main dependencies (largely GO) are in the Ubuntu main repositories.
Install dependencies
sudo apt-get install golang git mercurial python-pygments
Good bye Android ? Hello Ubuntu ! Not yet unfortunately ...
As a long-term Ubuntu user I am extremely interested in what Canonical and the Ubuntu community are doing on the mobile front. Their convergence strategy (I am testing Snappy Core on IoT devices as well) seems very well thought through and once the the Meizu MX4 phone was released I got myself an invite and ordered a unit. It took a while to ship and then also had to make it’s way down under as Meizu only ship to Europe (and Asia I believe).
ChromeOS - removing SSH known_hosts from Chromebook
One of the things that is not implemented in the Secure Shell Chrome extension is the ability to remove know_host fingerprints which alert you if the fingerprint for a specific IP address has changed.
However there are times when you upgrade a systems and this need to be done.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
d6:be:12:7e:22:23:c3:e1:56:30:d6:cd:65:b7:ab:42.
Please contact your system administrator.
Add correct host key in /.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /.ssh/known_hosts:7
ECDSA host key for xxxxxxxxxxxxx.yyy.au has changed and you have requested strict checking.
Host key verification failed.
NaCl plugin exited with status code 255.
(R)econnect, (C)hoose another connection, or E(x)it?
