How to Communicate With Your Lattice1 via SSH

Step-by-Step Guide

If you want to change any network configuration or run software on your Lattice's router chip, which is a very lightweight Linux environment, you can SSH into your device using the following steps:
Before you start, make sure your Lattice1 is connected to your router either through WiFi or Ethernet. Also, make sure you can communicate with your router through your computer.
  1. 1.
    On your Lattice screen, go to Settings → Advanced → Device Info.
  2. 2.
    The parameters you will want to use are "SSH Host" and "SSH Password".
  3. 3.
    Open a terminal on your computer and type this SSH command: ssh [email protected]<SSH Host>.local (just what you see under SSH Host without the <> marks)
  4. 4.
    If this is your first time, it will ask you add the RSA key. Type yes and hit enter.
  5. 5.
    You will be asked for the password - type in the <SSH Password> from your Lattice1 screen. Again, only the password itself, not the <> marks. Please note you might not see your input on this step, but type the password in and hit enter and you should be okay.
  6. 6.
    If successful, you will see a welcome prompt with Lattice1 ASCII art and information about the GCE version. This is how the whole process should look on your terminal:
Done, you can now control your Lattice’s Linux environment: update configurations, run whatever software you want, or just poke around under the hood.
But if you’re looking for your private keys, you’ll be out of luck!

Troubleshooting

If you can't ping the Lattice1 through your router, your router is probably not configured for mDNS - the protocol that allows devices to broadcast their hostname on the local router network and for the router to rebroadcast it to other devices - which allows you to search for devices with the '.local' suffix.
To solve this, please check your router's user manual and look for enabling mDNS.
You can still communicate with the device even without mDNS enabled, but you will have to use the device's IP address instead of the hostname - so the command ssh [email protected]would becomessh [email protected].