You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.9 KiB
96 lines
2.9 KiB
# Troubleshooting Tips and Tricks
|
|
|
|
The following commands can be used to isolate and analyze issues:
|
|
|
|
## Kernel Version
|
|
- To Retrieve the Kernel Version use:
|
|
```bash
|
|
$ uname -r
|
|
```
|
|
|
|
## Enable LibRealSense Log
|
|
- To change the log level of LibRealSense logger, you need to set a local variable named **LRS_LOG_LEVEL**
|
|
and initialize it with the desirable log level:
|
|
|
|
On Linux:
|
|
```bash
|
|
$ export LRS_LOG_LEVEL="<Log Level>"
|
|
```
|
|
On Windows:
|
|
```bash
|
|
$ set LRS_LOG_LEVEL="<Log Level>"
|
|
```
|
|
- A LibRealSense log will be created even when an application does not activate the LibRealSense logger.
|
|
|
|
## Connected Intel Cameras
|
|
- To list all connected Intel Cameras:
|
|
```bash
|
|
$ lsusb | grep 8086
|
|
```
|
|
|
|
## General Linux Kernel Log
|
|
- To retrieve the last Linux Kernel log messages with timestamps:
|
|
```bash
|
|
$ dmesg -T
|
|
```
|
|
-To monitor the Linux Kernel log messages when there any change
|
|
```bash
|
|
$ dmesg -wH
|
|
```
|
|
|
|
- To clear the dmesg buffer:
|
|
```bash
|
|
$ sudo dmesg -c
|
|
```
|
|
|
|
- Linux writes all OS logs to ```/var/log``` folder.
|
|
To review the entire kernel log file, use:
|
|
```bash
|
|
$ less /var/log/kern.log
|
|
```
|
|
|
|
## UVC Video Module Traces
|
|
You can get more verbose logs from the uvcvideo kernel-module.
|
|
These logs can be seen in `dmesg`
|
|
- To enable the UVC driver verbose log:
|
|
```bash
|
|
$ sudo echo 0xFFFF > /sys/module/uvcvideo/parameters/trace
|
|
```
|
|
- To disable the UVC verbose log, replace 0xFFFF with 0.
|
|
|
|
For example, once enabled you will get the following line inside `dmesg` for each frame received from USB:
|
|
```bash
|
|
[619003.810541] uvcvideo: frame 1 stats: 0/0/1 packets, 0/0/1 pts (!early initial), 0/1 scr, last pts/stc/sof 25177741/25178007/81
|
|
[619003.810546] uvcvideo: Frame complete (FID bit toggled).
|
|
[619003.810556] uvcvideo: frame 2 stats: 0/0/1 packets, 0/0/1 pts (!early initial), 0/1 scr, last pts/stc/sof 25210903/25211168/346
|
|
[619003.810588] uvcvideo: uvc_v4l2_poll
|
|
[619003.811173] uvcvideo: uvc_v4l2_poll
|
|
[619003.843768] uvcvideo: frame 3 stats: 0/0/1 packets, 0/0/1 pts (!early initial), 0/1 scr, last pts/stc/sof 25210903/25211168/346
|
|
[619003.843774] uvcvideo: Frame complete (FID bit toggled).
|
|
[619003.843785] uvcvideo: frame 4 stats: 0/0/1 packets, 0/0/1 pts (!early initial), 0/1 scr, last pts/stc/sof 25244064/25244330/612
|
|
```
|
|
|
|
## Kernel Events
|
|
- To listen to camera connect/disconnect events:
|
|
```bash
|
|
$ sudo udevadm monitor
|
|
```
|
|
|
|
## System Calls and Signals
|
|
- To get a verbose log of all calls an application makes to the kernel, run the application under `strace`:
|
|
```bash
|
|
$ strace <Application Path>
|
|
```
|
|
|
|
## Core Dump File
|
|
In case of a crash (for example SEGFAULT), a snapshot of the crash can be created (Core Dump) and submitted for inspection.
|
|
1. Enable the auto-creation of Core Dump files:
|
|
```bash
|
|
$ ulimit -c unlimited
|
|
```
|
|
2. Run the application that causes the crash
|
|
|
|
3. Search for the `core` file in the current directory
|
|
|
|
**Note:** Auto-creation of the dump file will only work on the same Terminal that you ran the **ulimit** command.
|