openpilot docs

connect to a comma 3X or comma four#

A comma device is a normal Linux computer that exposes SSH and a serial console.

Serial Console#

On the comma 3X, the serial console is accessible from the main OBD-C port, forwarded through the pandaThe secondary processor on the device that implements the functional safety and directly talks to the car over CAN. See the panda repo.. Access it using panda/scripts/som_debug.sh.

comma fourThe latest hardware by comma.ai for running openpilot. More info at comma.ai/shop/comma-four. also exposes a serial console, albeit through an internal debug connector. Dedicated debug hardware coming soon to the comma shop.

Login to the default user with:

SSH#

In order to SSH into your device, you'll need a GitHub account with SSH keys. See this GitHub article for getting your account setup with SSH keys.

Here's an example command for connecting to your device using its tethered connection:
ssh comma@192.168.43.1 -i ~/.ssh/my_github_key

For doing development work on device, it's recommended to use SSH agent forwarding.

ADB#

In order to use ADB on your device, you'll need to perform the following steps using the image below for reference:

comma 3/3x back

Note

The default port for ADB is 5555.

For more info on ADB, see the Android Debug Bridge (ADB) documentation.

Notes#

The public keys are only fetched from your GitHub account once. In order to update your device's authorized keys, you'll need to re-enter your GitHub username.

The id_rsa key in this directory only works while your device is in the setup state with no software installed. After installation, that default key will be removed.

ssh.comma.ai proxy#

With a comma prime subscription, you can SSH into your comma device from anywhere.

With the below SSH configuration, you can type ssh comma-{dongleid} to connect to your device through ssh.comma.ai.

Host comma-*
  Port 22
  User comma
  IdentityFile ~/.ssh/my_github_key
  ProxyCommand ssh %h@ssh.comma.ai -W %h:%p

Host ssh.comma.ai
  Hostname ssh.comma.ai
  Port 22
  IdentityFile ~/.ssh/my_github_key

One-off connection#

ssh -i ~/.ssh/my_github_key -o ProxyCommand="ssh -i ~/.ssh/my_github_key -W %h:%p -p %p %h@ssh.comma.ai" comma@ffffffffffffffff

(Replace ffffffffffffffff with your dongle_id)

ssh.comma.ai host key fingerprint#

Host key fingerprint is SHA256:X22GOmfjGb9J04IA2+egtdaJ7vW9Fbtmpz9/x8/W1X4
+---[RSA 4096]----+
|                 |
|                 |
|        .        |
|         +   o   |
|        S = + +..|
|         + @ = .=|
|        . B @ ++=|
|         o * B XE|
|         .o o OB/|
+----[SHA256]-----+