Linux device permissions

Linux doesn't let ordinary users talk directly to USB and serial hardware, and Scryglass needs that access to drive its devices. Two one-time system settings fix it — this is standard Linux behaviour, not a Scryglass bug.

By default, Linux does not let ordinary users talk directly to USB and serial hardware. Scryglass needs that access to drive its supported devices, so a couple of one-time system settings are required. This is standard Linux behaviour, not a Scryglass bug.

01

Join the dialout and plugdev groups. Serial devices such as /dev/ttyACM0 and /dev/ttyUSB0 belong to the dialout group, and the udev rules in the next step grant raw USB access to the plugdev group. Add yourself to both:

sudo usermod -aG dialout,plugdev $USER

Then log out and back in for the group change to take effect.

02

Install the udev rules. Create /etc/udev/rules.d/99-mm-ftdi.rules — this grants user-level access to the FTDI adapters Scryglass uses:

SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", MODE="0664", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6011", MODE="0664", GROUP="plugdev"

Then create /etc/udev/rules.d/99-mm-nordic.rules — this stops ModemManager from probing Nordic devices such as the PPK2, which can leave them unresponsive until power-cycled:

SUBSYSTEM=="usb", ATTRS{idVendor}=="1915", ENV{ID_MM_DEVICE_IGNORE}="1"
03

Reload the rules and unplug and replug your devices:

sudo udevadm control --reload

Replugging matters: the rules are applied when a device is plugged in, so devices that were already connected keep their old permissions until they are replugged — or re-triggered with sudo udevadm trigger --action=add.

Still not working?

Check the actual permissions on the device node, for example:

ls -la /dev/ttyACM0
groups

The device should be group dialout — or plugdev for raw USB nodes under /dev/bus/usb/ — and that group should appear in your groups output.

Still stuck? Send your version number — it's under the System button at the top right of the app — and what you were doing. Replies come from the team that builds the app.

support⁠[at]⁠protosorcery.com
BETA · PHASE 1

Ask for an invitation

Five questions. They decide which phase you land in — we open to a few kinds of user at a time so support stays fast.

What's your work?
How many people would use it?
Which platform?
Would this be personal or paid work?
No newsletter. We write once, when your phase opens.