Permission denied (EPERM) in Serial Monitor on Linux
Starting the Serial Monitor plugin and pressing the Capture button yields:
Session started Cannot start capture: Permission denied
This error might happen for two reasons:
- You have no permissions to access
- You have no permissions to access the target device (e.g.
/dev/tdevmon is a communication device created by Tibbo Device Monitor. By default, it only allows
root access so a non-superuser simply would not be able to open it.
As for the target serial devices, hooking a device requires opening it first (as to get a pointer to
struct file_operations). On different Linux distros
/dev/ttuS<n> devices usually belong to groups such as
tty, etc. Unless you are a member of these groups (or a
root), you will see the
Permission denied error during an open attempt.
To resolve this problem, you need to make sure you have access both to
/dev/tdevmon and to the target device (e.g.
The obvious solution would be to start IO Ninja as root:
You can also start only the Serial Monitor session as root (using a
Run session as root (sudo) checkbox on the
New Session dialog).
Yet another option would be to alleviate access restrictions on both devices:
sudo chmod 666 /dev/tdevmon sudo chmod 666 /dev/ttyS0
Permission denied error is caused by the target device, you can add yourself to the corresponding group. First, find out the group of the device with:
ls -l /dev/ttyS0
Then add yourself to this group:
sudo usermod -aG dialout $USER
Finally, if the
Permission denied error is caused by the
/dev/tdevmon device, then instead of modifying permissions on the
/dev/tdevmon post creation, you can specify required permissions when loading the Linux kernel module next time:
sudo insmod tdevmon.ko permissions=0666