How can I connect my Operator device on Linux under a non-root user?

The Operator devices are USB CDC ACM devices, so in order to properly access them you should have read/write access to the serial device on your Linux computer.

For Steam Deck/SteamOS users

  1. Disable read-only mode and follow the Arch/Manjaro instructions for installing glibc.

  2. Add your user to the uucp group:

sudo usermod -a -G uucp deck
sudo reboot

"sudo reboot" will restart your Steam Deck. Thanks to u/phncx from our subreddit for contributing!

For Debian/Ubuntu users:

sudo usermod -a -G dialout $USER
sudo usermod -a -G plugdev $USER

Then logout of your user and log back in. Now you should have access to the USB device as a non-root user. This command adds your user to the dialout group and to the plugdev group.

The dialout group is needed for ACM devices and the plugdev is to mount (only with the options nodev and nosuid, for security reasons) and umount removable devices through pmount.

In addition to this, create a file using a text editor in /etc/udev/rules.d/99-epilogue.rules with the following contents (thanks to Tim Boalch and Horia for submitting this):

Run the following commands in the terminal:

touch /etc/udev/rules.d/99-epilogue.rules

Then use a text editor of your choice to open the file and edit it or use nano which comes pre-installed with many Linux distros.

nano /etc/udev/rules.d/99-epilogue.rules

If your distro does not ship with nano, you can install it by running:

sudo apt-get update && sudo apt-get install nano

Then, you can write then exit the nano editor by using CTRL+X, the file should look like this:

# Operator Core
SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="123B", MODE="0666"

# Operator Sync
SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="123C", MODE="0666"

# GB Operator (release)
SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="123D", MODE="0666"

# SN Operator
SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="123E", MODE="0666"

# Legacy or internal prototypes
SUBSYSTEM=="usb", ATTR{idVendor}=="1d50", ATTR{idProduct}=="6018", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="db42", MODE="0666"

Then reload the udev rules by running the command:

sudo udevadm control --reload-rules && sudo udevadm

If this command fails, you can logout or restart your computer to make sure the udev rules are reloaded. 

For NixOS users

Thanks to the NixOS members on their Discourse forum!

In /etc/nixos/configuration.nix:

    • Add the groups plugdev and dialout to the user.users.$USER.extraGroups config variable
    • Add the udev rules from the Debian/Ubuntu section above to services.udev.extraRules config variable.
    • Rebuild the system from the configuration.nix file with: 
nixos-rebuild switch

For Arch/Manjaro users

Thanks to u/CrayolaFanfic from Reddit for submitting these!

sudo pacman -S glibc
sudo usermod -a -G uucp $USER

Then restart your computer.

Note:

  • We do not recommend running the application using superuser privileges as we use pulseaudio to output audio. If you run the application using `sudo` the Playback app might not be able to connect to the pulseaudio daemon properly and you might not have audio while playing. Also, we do not recommend running it as root user. Instructions above are for non-root users. Thank you!

Was this article helpful?

19 out of 31 found this helpful