Skip to content

Add basic linux troubleshooting tips #1885

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 30 commits into from
May 7, 2025
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
ec38eb7
Update website.yml
samfreund Apr 11, 2025
c1c7e7c
Update website.yml
samfreund Apr 11, 2025
64b4203
Update website.yml
samfreund Apr 11, 2025
6a2e69e
Update website.yml
samfreund Apr 11, 2025
14178a1
Update website.yml
samfreund Apr 11, 2025
e675ca5
Update website.yml
samfreund Apr 11, 2025
0ca0a34
Update website.yml
samfreund Apr 11, 2025
e923788
Update website.yml
samfreund Apr 11, 2025
df3f435
Merge branch 'main' of github.com:samfreund/photonvision
samfreund Apr 11, 2025
207f097
add unix-troubleshooting to docs
samfreund Apr 12, 2025
233c4db
Merge branch 'main' into add-troubleshooting-docs
samfreund Apr 12, 2025
f86fdaf
update to test this is accurate
samfreund Apr 12, 2025
3224c48
Merge branch 'add-troubleshooting-docs' of github.com:samfreund/photo…
samfreund Apr 12, 2025
84c7f24
updated format
samfreund Apr 12, 2025
6b4a0e5
fix links
samfreund Apr 12, 2025
b447a81
add code formatting
samfreund Apr 12, 2025
810e4c0
Merge branch 'main' into add-troubleshooting-docs
samfreund Apr 13, 2025
d044c77
Update docs/source/docs/troubleshooting/unix-commands.md
samfreund Apr 14, 2025
a460326
Merge branch 'main' into add-troubleshooting-docs
samfreund Apr 14, 2025
8f9c3ee
Merge branch 'main' into add-troubleshooting-docs
samfreund Apr 15, 2025
fbd3f21
Merge branch 'main' into add-troubleshooting-docs
samfreund May 7, 2025
57d3387
add sftp, systemctl, and journalctl
samfreund May 7, 2025
fbc7c74
add sftp, systemctl, and journalctl
samfreund May 7, 2025
06bd254
Merge branch 'add-troubleshooting-docs' of github.com:samfreund/photo…
samfreund May 7, 2025
0efb823
update unix commands
samfreund May 7, 2025
5ee3497
add ping
samfreund May 7, 2025
704d34d
formatting
samfreund May 7, 2025
ee23027
native code blocks
samfreund May 7, 2025
d6c3562
Update unix-commands.md
samfreund May 7, 2025
bfd4f3e
Update unix-commands.md
samfreund May 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/source/docs/troubleshooting/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ common-errors
logging
camera-troubleshooting
networking-troubleshooting
unix-commands
```
61 changes: 61 additions & 0 deletions docs/source/docs/troubleshooting/unix-commands.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
Useful Unix Commands
====================

SSH
---

[SSH (Secure Shell)](https://www.mankier.com/1/ssh) is used to securely connect from a local to a remote system (ex. from a laptop to a coprocessor). Unlike other commands on this page, ssh is not Unix specific and can be done on Windows and MacOS from their respective terminals.

:::{note}
You may see a warning similar to `The authenticity of host 'xxx' can't be established...` or `WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!`, in most cases this can be safely ignored if you have confirmed that you are connecting to the correct host over a secure connection. You can read more about it [here](https://superuser.com/questions/421997/what-is-a-ssh-key-fingerprint-and-how-is-it-generated)
:::

Example:

:::{code-block}
ssh username@hostname
:::

ip
--

Run [ip address](https://www.mankier.com/8/ip) with your coprocessor connected to a monitor in order to see its IP address and other network configuration information.


SCP
---

[SCP (Secure Copy)](https://www.mankier.com/1/scp) is used to securely transfer files between local and remote systems.

Example:

:::{code-block}
scp [file] username@hostname:/path/to/destination
:::

v4l2-ctl
--------

[v4l2-ctl](https://www.mankier.com/1/v4l2-ctl) is a command-line tool for controlling video devices.

List available video devices (used to verify the device recognized a connected camera):

:::{code-block}
v4l2-ctl --list-devices
:::

List supported formats and resolutions for a specific video device:

:::{code-block}
v4l2-ctl --list-formats-ext --device /path/to/video_device
:::

List all video device's controls and their values:

:::{code-block}
v4l2-ctl --list-ctrls --device path/to/video_device
:::

:::{note}
This command is especially useful in helping to debug when certain camera controls, like exposure, aren't behaving as expected. If you see an error in the logs similar to `WARNING 30: failed to set property [property name] (UsbCameraImpl.cpp:646)`, that means that PhotonVision is trying to use a control that doesn't exist or has a different name on your hardware. If you encounter this issue, please [file an issue](https://github.com/PhotonVision/photonvision/issues) with the necessary logs and output of the `v4l2-ctl --list-ctrls` command.
:::
Loading