Setup Ocean over USB on Linux

OCEAN IS IN BETA!

This guide applies to the Ocean BETA units that will ship in February 2016.

If you find a bug while using your Ocean and would like to report it, please send us an email about it!

This aim of this guide is to help you set up a new Ocean in less than five minutes. After working through this guide, your Ocean will be connected to your WiFi network, and you should be able to access it via ssh.

Prerequisites for Linux

To install screen on Ubuntu, Debian, or other Debian-based operating systems:

$ apt-get install screen

On Fedora:

$ yum install screen

There are also instruction on how to compile and install screen, directly from source, here.

1. Power on the Ocean and connect the USB

Hold the top button on the top panel of the Ocean, in the middle of the blue logo, for at least two seconds.

When the Ocean powers on, two red lights will begin glowing on the internal panel, and a green lightshow will begin at the bottom right hand corner of the case. The power button contains a small LED light that will glow white once the OS is ready to talk to your computer using the screen program.

(Note that we had to edit this photo to show the lights more prominently!)

Power on your Ocean to show the red lights. When the Ocean is ready to connect, the white light will glow

Plug the micro-USB connector to your Ocean, and then plug the standard USB connector to your computer.

2. Start the screen program

We use the previously installed screen program to talk to the Ocean over a USB modem interface. screen is typically used in the following way:

$ screen $DEVICE_NAME

where $DEVICE_NAME is the name of the USB modem interface, as determined by the OS. The name of the interface can have several different values, depending on your distribution. On Ubuntu or Debian, the value will normally be something like ttyACM0. Other distributions may have a value like ttyUSB0.

Another way of determining the USB device name is to run udevadm monitor, and then plug in the Ocean device to the USB.

Once you have determined the name of the Ocean modem interface, type the following into your console to start screen:

$ screen $DEVICE_NAME

When screen starts, you will see a blank screen. This is expected behavior!

3. Start the Ocean login prompt

While in screen, type the following:

console

Two things will happen after this. The power button light will change color, from white to blue.

After this, you should see standard linux login prompt:

$ console
ev s1

Debian GNU/Linux 8 FineRock ttyS2

FineRock login:

Note that every Ocean device has a unique name assigned to it. FineRock is the name of the test device we used to create this document. Your device will have a different name.

4. Login to your Ocean

The initial root login and password is as follows:

Login: root
Password: iloveocean

When you login with these entries, a setup program will run on the Ocean, prompting you to change your password, and to setup a WiFi network:

$ console
ev s1

Debian GNU/Linux 8 FineRock ttyS2

FineRock login: root
Password:

5. Follow the steps in the setup program

When you login to your Ocean for the first time, a setup program will run automatically. This program will ask you to change your root password. It will also, optionally, prompt you to select a WiFi network for the Ocean. Setting up a WiFi network is strongly recommended!

The setup program will first prompt you to change your root password, like so.

Welcome to Ocean! Let's update your password and setup your WiFi.
Let's change your Ocean's password first.
Enter your new PASSWORD [ENTER]:

You'll be asked to type the new password twice.

Retype your new PASSWORD [ENTER]:

Next, you will be asked to connect to a WiFi router. The program will automatically detect WiFi routers that your Ocean can access:

Great! Your Ocean's password is now changed. Next, let's setup your WiFi.
Would you like to setup your WiFi? [Y/n]:

You can enter n if you'd prefer to continue using your Ocean through the USB connection.

Would you like to setup your WiFi? [Y/n]: y
Scanning for networks ...                    
    1. ESSID:"Ocean Home"
    2. ESSID:"Ocean Guest"
    3. ESSID:"Android Hotspot"
Is your WiFi network visible? [Y/n]:

You can enter n if you'd prefer to type in the name of a hidden WiFi router.

Is your WiFi network visible? [Y/n]: y
Enter the number of the network you want to connect to [ENTER]: 1
You are about to attempt to connect to the "Ocean Home" network. Continue? [Y/n]: y

You will next be prompted to type a password for the wifi network you wish to connect to:

Enter the PASSWORD for the "Ocean Home" network [ENTER]:
Retype your PASSWORD for the "Ocean Home" network [ENTER]:

You may need to wait for up to a minute for your Ocean to establish a connection with your chosen network.

Please wait while we attempt to connect you to the network...

Once the connection has been established, you will see the following messages:

You have successfully connected to Network "Ocean Home".
Your device's IP is 10.0.30.64.
To use ssh to connect your Ocean, type the following into another console:
        ssh root@MeatyAlarm.local
Run 'wifi-setup start' at any time to setup another WiFi address.
Enjoy using your Ocean :)

If possible, make a note of your IP address above! You'll be using it to connect to your Ocean unit in a later step.

Finally, you'll receive a standard terminal prompt like the following:

root@FineRock:~#

6. Exit setup mode

To exit setup mode, tap the power button again. The power button light will disappear, the green buttons will flash, and the Ocean will restart itself to complete the setup process.

Your Ocean is now set up and ready to use!

Restarting your Ocean may take up to 2 minutes!

This is a known issue, and we are working on a fix for it.

Next steps

Connect to your Ocean with ssh