From 58f63a17dc02c7e985aad1d2205476ac66208ac6 Mon Sep 17 00:00:00 2001 From: David Tomaschik Date: Sat, 10 Feb 2018 15:07:28 -0800 Subject: [PATCH] udev rules for various devices I use. --- udev/49-teensy.rules | 38 ++++++++++++++++++++++++++++++ udev/70-u2f.rules | 6 +++++ udev/88-nuand.rules | 8 +++++++ udev/99-chip.rules | 4 ++++ udev/99-ftdi.rules | 1 + udev/99-modemmanager-arduino.rules | 4 ++++ udev/99-redbear.rules | 2 ++ udev/99-saleae.rules | 14 +++++++++++ 8 files changed, 77 insertions(+) create mode 100644 udev/49-teensy.rules create mode 100644 udev/70-u2f.rules create mode 100644 udev/88-nuand.rules create mode 100644 udev/99-chip.rules create mode 100644 udev/99-ftdi.rules create mode 100644 udev/99-modemmanager-arduino.rules create mode 100644 udev/99-redbear.rules create mode 100644 udev/99-saleae.rules diff --git a/udev/49-teensy.rules b/udev/49-teensy.rules new file mode 100644 index 0000000..359ee47 --- /dev/null +++ b/udev/49-teensy.rules @@ -0,0 +1,38 @@ +# UDEV Rules for Teensy boards, http://www.pjrc.com/teensy/ +# +# The latest version of this file may be found at: +# http://www.pjrc.com/teensy/49-teensy.rules +# +# This file must be placed at: +# +# /etc/udev/rules.d/49-teensy.rules (preferred location) +# or +# /lib/udev/rules.d/49-teensy.rules (req'd on some broken systems) +# +# To install, type this command in a terminal: +# sudo cp 49-teensy.rules /etc/udev/rules.d/49-teensy.rules +# +# Or use the alternate way (from this forum message) to download and install: +# https://forum.pjrc.com/threads/45595?p=150445&viewfull=1#post150445 +# +# After this file is installed, physically unplug and reconnect Teensy. +# +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666" +KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666" +# +# If you share your linux system with other users, or just don't like the +# idea of write permission for everybody, you can replace MODE:="0666" with +# OWNER:="yourusername" to create the device owned by you, or with +# GROUP:="somegroupname" and mange access using standard unix groups. +# +# +# If using USB Serial you get a new device each time (Ubuntu 9.10) +# eg: /dev/ttyACM0, ttyACM1, ttyACM2, ttyACM3, ttyACM4, etc +# apt-get remove --purge modemmanager (reboot may be necessary) +# +# Older modem proding (eg, Ubuntu 9.04) caused very slow serial device detection. +# To fix, add this near top of /lib/udev/rules.d/77-nm-probe-modem-capabilities.rules +# SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", GOTO="nm_modem_probe_end" +# diff --git a/udev/70-u2f.rules b/udev/70-u2f.rules new file mode 100644 index 0000000..a44303f --- /dev/null +++ b/udev/70-u2f.rules @@ -0,0 +1,6 @@ +# this udev file should be used with udev 188 and newer +ACTION!="add|change", GOTO="u2f_end" + +KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0402|0403|0406|0407|0410", TAG+="uaccess" + +LABEL="u2f_end" diff --git a/udev/88-nuand.rules b/udev/88-nuand.rules new file mode 100644 index 0000000..30cf0f7 --- /dev/null +++ b/udev/88-nuand.rules @@ -0,0 +1,8 @@ +# Nuand bladeRF +ATTR{idVendor}=="2cf0", ATTR{idProduct}=="5246", MODE="660", GROUP="plugdev" + +# Nuand bladeRF, legacy VID/PID +ATTR{idVendor}=="1d50", ATTR{idProduct}=="6066", MODE="660", GROUP="plugdev" + +# Cypress Bootloader +ATTR{idVendor}=="04b4", ATTR{idProduct}=="00f3", MODE="660", GROUP="plugdev" diff --git a/udev/99-chip.rules b/udev/99-chip.rules new file mode 100644 index 0000000..d87ec7e --- /dev/null +++ b/udev/99-chip.rules @@ -0,0 +1,4 @@ +SUBSYSTEM=="usb", ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="efe8", GROUP="plugdev", MODE="0660" SYMLINK+="usb-chip" +SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="1010", GROUP="plugdev", MODE="0660" SYMLINK+="usb-chip-fastboot" +SUBSYSTEM=="usb", ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="1010", GROUP="plugdev", MODE="0660" SYMLINK+="usb-chip-fastboot" +SUBSYSTEM=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", GROUP="plugdev", MODE="0660" SYMLINK+="usb-serial-adapter" diff --git a/udev/99-ftdi.rules b/udev/99-ftdi.rules new file mode 100644 index 0000000..0f30755 --- /dev/null +++ b/udev/99-ftdi.rules @@ -0,0 +1 @@ +BUS=="usb", SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6014", GROUP="plugdev" diff --git a/udev/99-modemmanager-arduino.rules b/udev/99-modemmanager-arduino.rules new file mode 100644 index 0000000..38ae85a --- /dev/null +++ b/udev/99-modemmanager-arduino.rules @@ -0,0 +1,4 @@ +ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTRS{idVendor}=="239a", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTRS{idVendor}=="03eb", ENV{ID_MM_DEVICE_IGNORE}="1" diff --git a/udev/99-redbear.rules b/udev/99-redbear.rules new file mode 100644 index 0000000..c1f9df8 --- /dev/null +++ b/udev/99-redbear.rules @@ -0,0 +1,2 @@ +ATTRS{idProduct}=="d058", ATTRS{idVendor}=="2b04", MODE="664", GROUP="plugdev" +ATTRS{idVendor}=="2b04", ENV{ID_MM_DEVICE_IGNORE}="1" diff --git a/udev/99-saleae.rules b/udev/99-saleae.rules new file mode 100644 index 0000000..4e060a9 --- /dev/null +++ b/udev/99-saleae.rules @@ -0,0 +1,14 @@ +# Rules for the Saleae Logic analyzer to allow to run the programs a normal user +# being part of the plugdev group. Simply copy the file to /etc/udev/rules.d/ +# and plug the device + +BUS!="usb", ACTION!="add", SUBSYSTEM!=="usb_device", GOTO="saleae_logic_rules_end" + +# Saleae Logic analyzer (USB Based) +# Bus 006 Device 006: ID 0925:3881 Lakeview Research +# Bus 001 Device 009: ID 21a9:1004 Product: Logic S/16, Manufacturer: Saleae LLC + +ATTR{idVendor}=="0925", ATTR{idProduct}=="3881", MODE="664", GROUP="plugdev" +ATTR{idVendor}=="21a9", ATTR{idProduct}=="1004", MODE="664", GROUP="plugdev" + +LABEL="saleae_logic_rules_end"