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:
- Username:
comma - Password:
comma
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.
- Enable SSH in your device's settings
- Enter your GitHub username in the device's settings
- Connect to your device
- Username:
comma - Port:
22
- Username:
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:
- Plug your device into constant power using port 2, letting the device boot up
- Enable ADB in your device's settings
- Plug in your device to your PC using port 1
- Connect to your device
adb shellover USBadb connectover WiFi- Here's an example command for connecting to your device using its tethered connection:
adb connect 192.168.43.1:5555
[!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)