Skip to content

Commit

Permalink
Change USB HID udev rules from GROUP/MODE to TAG uaccess
Browse files Browse the repository at this point in the history
  • Loading branch information
uklotzde committed Mar 18, 2020
1 parent d442159 commit c9bb987
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 15 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -922,7 +922,7 @@ install(
# udev rule file for USB HID and Bulk controllers
install(
FILES
${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx.usb.rules
${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx-usb-uaccess.rules
DESTINATION
${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d
)
Expand Down
4 changes: 2 additions & 2 deletions SConscript
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ dotdesktop_files = Glob('#res/linux/mixxx.desktop')
dotappstream_files = Glob('#res/linux/mixxx.appdata.xml')

#udev rule file for USB HID and Bulk controllers
hidudev_files = Glob('#res/linux/mixxx.usb.rules')
hidudev_files = Glob('#res/linux/mixxx-usb-uaccess.rules')

#Icon file for menu entry
icon_files = Glob('#res/images/mixxx_icon.svg')
Expand Down Expand Up @@ -1009,7 +1009,7 @@ def BuildUbuntuPackage(target, source, env):
print("* Copying Debian build directory from build/debian to debian (cwd: %s)" % os.getcwd())
print()
os.system('cp -r build/debian .')
os.system('cp res/linux/mixxx.usb.rules ./debian/mixxx.mixxx-usb.udev')
os.system('cp res/linux/mixxx-usb-uaccess.rules ./debian/mixxx.mixxx-usb.udev')

scons_flags = ' '.join([
'optimize=portable',
Expand Down
25 changes: 13 additions & 12 deletions res/linux/mixxx.usb.rules → res/linux/mixxx-usb-uaccess.rules
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
# This udev rule allows Mixxx to access HID and USB Bulk controllers when running as a normal user

# Allow write access for all users in the "users" group for USB devices from known vendors
# that make HID or USB bulk controllers. Note that the udev rule must match on the USB device level;
# matching the USB interface descriptor with bInterfaceClass does not work.
# Note that the udev rule must match on the USB device level; matching the USB interface
# descriptor with bInterfaceClass does not work.

# Install and execute before 70-uaccess.rules, e.g. .../udev/rules.d/69-mixxx-usb-uaccess.rules

# Native Instruments
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="17cc", GROUP="users", MODE="0660"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="17cc", TAG+="uaccess"
# Hercules
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="06f8", GROUP="users", MODE="0660"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="06f8", TAG+="uaccess"
# Pioneer
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="08e4", GROUP="users", MODE="0660"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="08e4", TAG+="uaccess"
# Numark (may be needed for NS7 & V7)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="15e4", GROUP="users", MODE="0660"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="15e4", TAG+="uaccess"
# Eks
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="1157", GROUP="users", MODE="0660"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="1157", TAG+="uaccess"
# Nintendo
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="057e", GROUP="users", MODE="0660"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="057e", TAG+="uaccess"
# Sony
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="054c", GROUP="users", MODE="0660"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="054c", TAG+="uaccess"
# Gemini
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="23c7", GROUP="users", MODE="0660"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="23c7", TAG+="uaccess"

# Only some distribuions require the below
KERNEL=="hiddev*", NAME="usb/%k", GROUP="users"
KERNEL=="hiddev*", NAME="usb/%k", GROUP="uaccess"

0 comments on commit c9bb987

Please sign in to comment.