diff --git a/source/docs/troubleshooting/index.rst b/source/docs/troubleshooting/index.rst index 22d50f1..d6f1795 100644 --- a/source/docs/troubleshooting/index.rst +++ b/source/docs/troubleshooting/index.rst @@ -8,3 +8,4 @@ Troubleshooting logging camera-troubleshooting networking-troubleshooting + unix-commands diff --git a/source/docs/troubleshooting/unix-commands.rst b/source/docs/troubleshooting/unix-commands.rst new file mode 100644 index 0000000..fdb6de7 --- /dev/null +++ b/source/docs/troubleshooting/unix-commands.rst @@ -0,0 +1,61 @@ +Useful Unix Commands +==================== + +SSH +--- + +`SSH (Secure Shell) `_ 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 `_. + +Example: + +.. code-block:: bash + + ssh username@hostname + +ip +-- + +Run `ip address `_ with your coprocessor connected to a monitor in order to see its IP address and other network configuration information. + + +SCP +--- + +`SCP (Secure Copy) `_ is used to securely transfer files between local and remote systems. + +Example: + +.. code-block:: bash + + scp [file] username@hostname:/path/to/destination + +v4l2-ctl +-------- + +`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:: bash + + v4l2-ctl --list-devices + +List supported formats and resolutions for a specific video device: + +.. code-block:: bash + + v4l2-ctl --list-formats-ext --device /path/to/video_device + +List all video device's controls and their values: + +.. code-block:: bash + + 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 `_ with the necessary logs and output of the v4l2-ctl --list-ctrls command. +