2022-01-29 12:50:44 -07:00
|
|
|
# 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.
|
|
|
|
|
|
|
|
|
2022-02-04 16:24:24 -07:00
|
|
|
# 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.
|
|
|
|
|
|
|
|
|
2022-01-29 12:50:44 -07:00
|
|
|
# Unofficial
|
|
|
|
This repository, documentation and code is
|
|
|
|
unofficial, unaffiliated with Comma AI.
|
|
|
|
|
|
|
|
|
|
|
|
# License
|
|
|
|
GPLv3+.
|
|
|
|
|
|
|
|
|
|
|
|
Copyright (C) 2022, Jeff Moe
|
|
|
|
|