# Uh Oh `uhoh` --- Notes, docs, scripts for Comma AI Three devkit. Comma AI Three is hardware to connect to a vehicle for use with open source `openpilot` AI for "self-driving" cars. * https://comma.ai/ * https://github.com/commaai/openpilot # Docs See `docs/` directory for more info. # Setup The default OpenPilot setup requires having accounts with proprietary services. This can be worked around. ## Setup SSH Without Proprietary Service on Comma Three Here is HOWTO connect to a Comma Three device without using proprietary services. The official CommaAI SSH wiki docs are here, but they note they are not for the current version of OpenPilot: * https://github.com/commaai/openpilot/wiki/SSH The CommaAI proxy that OpenPilot uses is, sadly, github. This is to be avoided. Another set of docs here: * https://ssh.comma.ai/ The above docs are reference, but not how it will be performed below. The hostname used will be `tici` as that is what the device is named upstream. This is most easily done with a laptop or similar on the same wifi network as the Comma Three. This needs to be done on a new device, or a device that has been reset to factory shipping. When the device boots up, go through all the initial steps to get it connected to the Internet via wifi. Stop at the step that reads `Choose Software to Install`. At this point, the Comma Three is on the wifi network, and SSH is running with a shared root ssh key by default. Get the device's IP address from DHCP logs on the DHCP server (e.g. router/firewall). On the laptop, set up `~/.ssh/config` thusly, using the device's IP from DHCP in place of example `192.168.1.100` below: ``` Host tici User comma Hostname 192.168.1.100 Identityfile ~/.ssh/key.pem Port 8022 ``` You need to get that SHARED ROOT SSH KEY from github to log into the account: ``` wget -O ~/.ssh/key.pem https://raw.githubusercontent.com/commaai/openpilot/master/tools/ssh/id_rsa ``` Then make sure your SSH permissions are happy (and your homedir...): ``` chmod 700 ~/.ssh chmod 600 ~/.ssh/key.pem ~/.ssh/config ``` Once that is set up, you should be able to SSH into the device thusly: ``` ssh tici ``` Another way to do this would be to hijack DNS on your own wifi to intercept the Comma Three's connection to github, then redirect the connection to your own server. It depends if it barfs on the SSL or not. # Unofficial This repository, documentation and code is unofficial, unaffiliated with Comma AI. # License GPLv3+. Copyright (C) 2022, Jeff Moe