Let’s setup MultiConnect Conduit

multiconnect-conduit

The following guide assumes you have basic computer and basic linux knowledge. Hardware required:

  • MTCDT-210L-US-EU-GB Multitech mLinux Conduit (non-cellular)
  • MTAC-LORA-868 accessory card

For console access I plugged into the USB device port behind the device.
To access the device I use minicom(1):

minicom -D /dev/ttyACM0 -b 9600

This gives me the following:

            _     _                  
  _ __ ___ | |   (_)_ __  _   ___  __
 | '_ ` _ \| |   | | '_ \| | | \ \/ /
 | | | | | | |___| | | | | |_| |>  < 
 |_| |_| |_|_____|_|_| |_|\__,_/_/\_\
                                     
MultiTech Systems mLinux GNU/Linux
mLinux 3.1.0 mtcdt /dev/ttyGS0

mtcdt login: 

The username and password is root and root. That should be changed immediately.
I use openssl to produce a password with sufficient entropy:

openssl rand -base64 16

A new root password is set with passwd(1).

The mLinux distribution is based upon busybox, which is a minimal linux environment.

The distro version can be shown with:

cat /etc/mlinux-version

For me it displayed:

cat /etc/mlinux-version
mLinux 3.1.0
Built from branch: (detachedfrom4fd069b)
Revision: 4fd069b97a2354995920b52f731d661f0bacb39a

Network

mLinux has a static IP 192.168.2.1 as defined in /etc/network/interfaces.
A DHCP client is not enabled.

Instead of setting a static IP adress, use DHCP instead. Add the following to /etc/network/interfaces:

auto eth0             
iface eth0 inet dhcp

For changes to take effect issue:

ifdown eth0 && ifup eth0

This gives output:

udhcpc (v1.22.1) started
Sending discover...
Sending discover...
Sending select for 10.9.12.234...
Lease of 10.9.12.234 obtained, lease time 36000
/etc/udhcpc.d/50default: Adding DNS 10.9.0.11
/etc/udhcpc.d/50default: Adding DNS 10.9.0.10

Udhcpc is a very small DHCP client program geared towards embedded systems. If you have control over the DHCP server you can consistently offer a same ip by configuring the MAC address of the device.

Date and time

Set correct timezone:

ln -fs /usr/share/zoneinfo/Europe/Oslo /etc/localtime

Set date and time:

date "2016-03-07 11:17:40"

Update the hardware clock:

hwclock -u -w

Configuring packet forwarder

The lora network server is used if you want to run your own cloud. Since we are using the things network we only really need the packet forwarder to be running.

People have reported that the poly pkt forwarder works better than the basic pkt forwarder. Fetch the poly-packet-forwarder_2.1-r1. Install with:

opkg install poly-packet-forwarder_2.1-r1_arm926ejste.ipk

Change /etc/init.d/lora-network-server so that the variable pkt_fwd
is assigned pkt_fwd=/opt/lora/poly_pkt_fwd

Inside /var/config/lora/global_conf.json you have to add some changes. Here are a few of mine:

"gateway_ID": "008000000000A447",
...
"servers":
        [ { "server_address": "croft.thethings.girovito.nl",
            "serv_port_up": 1700,
            "serv_port_down": 1700,
            "serv_enabled": true }
        ],
...
"fake_gps": true,
 "ref_latitude": 63.43,
 "ref_longitude": 10.40,
...
/* Email of gateway operator, max 40 chars*/
"contact_email": "drift@tradlosetrondheim.no", 
/* Public description of this device, max 64 chars */
"description": "This is wireless trondheims multiconnect conduit number 1" 

Restart network server:

/etc/init.d/lora-network-server restart

Tail log for debug info:

tail -f /var/log/lora-pkt-fwd.log

My gateway is now available at The Things Network.