1. Device Setup for Auto/Bulk Registration

Info

Auto registration is supported with connectd 2.5.36 and later.

Bulk registration is supported with connectd 2.3.17 and later.

Auto registration is not supported on the remoteit package.

Preparing a Master OS Image

Use these instructions to setup a new Raspberry Pi for Auto or Bulk Registration.  All of our released connectd packages support Auto and Bulk Registration, however some features are currently Raspberry Pi specific.  If you are not using a Raspberry Pi, then you'll need to make some customizations.  Click on the button below to learn more.

Customizing Settings

Warning

Do not use the interactive connectd_installer script to set up Services when using Auto or Bulk Registration.  Doing so will cause problems if the OS image is cloned without removing these Services first.

Remove any previous version of connectd

If you have previously installed the connectd package on your Pi, remove it, including all provisioning (configuration) files with the following command:

sudo dpkg --purge connectd

Download and install the connectd package

Raspberry Pi OS & Raspbian Buster

sudo apt update
sudo apt install connectd

All other Linux OSes

curl -LkO https://raw.githubusercontent.com/remoteit/installer/master/scripts/auto-install.sh
chmod +x ./auto-install.sh
sudo ./auto-install.sh

Copy the Bulk Identification Code from your Product Definition

If you haven't done so already, create a Product Definition.  Save the resulting Bulk Identification Code for use with the configuration utility described in the next section.
 

Configure Auto Registration with the connectd_mp_configure script

The executable /usr/bin/connectd_mp_configure is supplied to display and let you enter the information needed by auto registration.  To launch it, run:

sudo connectd_mp_configure

Let's look at the sections 1 by 1.

Version (reference only)

================ remote.it software and API version ==================
remote.it connectd package version:2.5.37
remote.it API:device.remot3.it/api

This displays the package version and the API URL to be used for auto registration.

Bulk/Auto registration settings

================ Bulk/Auto registration settings =====================
oemGetDefaultHardwareId returns dca6321955cd
Hardware ID: default.
Registration Key: default.
Bulk Identification Code:missing. Add your code to bulk_identification_code.txt.

This shows:

oemGetDefaultHardwareID
  • The value returned by the oemGetDefaultHardwareID() function in /etc/connectd/oem_settings.
Hardware ID
  • The Hardware ID can be set by either:
    • An expression in /etc/connectd/oem_settings (by default, the MAC address of the network interface currently routed to the internet)
    • The string written into /etc/connectd/hardware_id.txt (most commonly used for testing)
Registration Key
  • The Registration Key can be set by either:
    • An expression in /etc/connectd/oem_settings (by default, the MAC address of a specific network interface)
    • The string written into /etc/connectd/registration_key.txt (most commonly used for testing)
Bulk Identification Code
  • The Bulk Identification Code is set by the string in /etc/connectd/bulk_identification_code.txt.

The entries shown above are the default settings and must be changed.  Use one of the following options in the menu, and follow the onscreen instructions to enter the correct value or select the expression for each item.

 1) Set Hardware ID
2) Set Registration Key
3) Set Bulk Identification Code

When these items are correctly configured, the output will look something like this:

================ Bulk/Auto registration settings =====================
oemGetDefaultHardwareId returns dca6321955cd
Hardware ID: dca6321955cd
Registration Key: dca6321955cc
Bulk Identification Code:f9bce932-bca2-11ea-8f6e-8b637da50e14

 

Startup configuration

================ Startup Configuration ==============================
connectd service startup: disabled
connectd_schannel service startup: disabled

This indicates the startup status of the systemd connectd and connectd_schannel services used by remote.it.  By default, these are disabled.  The OEM can choose whether auto registration should start automatically or not by using the following menu entry:

 6) Toggle systemd startup state for connectd and connectd_schannel

 

OS and CPU information (reference only)

================ OS and CPU Information =============================
OS:Linux raspberrypi 5.4.42-v8+ #1319 SMP PREEMPT Wed May 20 14:18:56 BST 2020 aarch64 GNU/Linux
System ID:10000000b29f083f
  • The "OS" value is the output of the command "uname -a".
  • The "System ID" is the value of the cpuid variable.  The cpuid variable is set in the /etc/connectd/oem_settings file.  By default, this reads the CPU ID returned by Arm processors.  For OEMs using non-Arm systems, please contact support@remote.it.

 

Cloning readiness summary

================ Cloning Readiness Summary ===========================
Issue: provisioning files found in /etc/connectd/services

Warning: This device is NOT READY to clone for production.

ACTION: Use the menu options to resolve any 'Issues' shown above.
You may also need to edit /etc/connectd/oem_options if you have issues
with Hardware ID or Registration Key.

This section identifies whether your image is ready to clone.  If any previous provisioning files are found, from a previous registration, an "Issue" message will be displayed as shown.  To remove any existing provisioning files, use this menu option:

 4) Remove all provisioning files

You'll see a warning/confirmation message.  Finally, this display shows that your image is ready for cloning:

================ Cloning Readiness Summary ===========================

Ok: This device is READY to clone for production.

Success

At this point, you should clone this image. You should not reset the device first, because if enabled and the device is connected to the internet, auto-registration will proceed, populating the provisioning files.

Other menu functions

 5) Blink Identification LED (Raspberry Pi only)

This will blink an LED on the Raspberry Pi for about 30 seconds.  This can be helpful when you have a number of devices active currently, to show which one is being prepared.

 

 7) Show detected TCP Listeners

This command shows the TCP Listeners (servers) which were found on the currently running OS image.  In general, you should expect to find a TCP Listener for every remote.it Service you have configured.  As OEMs may choose to control the remote.it Services and applications independently, this is simply provided as a convenience to make sure that the programs you expect to be running are detected.

A sample output is shown on a Pi with the default SSH service sshd (port 22) and the nginx web server (port 80) installed.

================ TCP Listeners Detected ==============================
Active TCP ports detected: 80,22

Press the Enter key to continue.

 

 8) Exit

Use option 8 to exit the connectd_mp_configure script.

Status Mode

To run connectd_mp_configure so that it displays the current information without entering the interactive menu, run:

sudo connectd_mp_configure -n

 

Was this article helpful?
0 out of 0 found this helpful