Description: Make devices belong to the video group, rather than being world-writeable.
Author: Stefano Rivera <stefanor@debian.org>
Forwarded: https://github.com/timvideos/HDMI2USB-mode-switch/pull/42

--- a/udev/98-hdmi2usb-atlys.rules
+++ b/udev/98-hdmi2usb-atlys.rules
@@ -28,7 +28,7 @@
 # Exar "USB UART" on the Atlys
 # FIXME: Add an ATTRS{idProduct} here
 SUBSYSTEM=="usb", ATTRS{idVendor}=="04e2", \
-	MODE:="0666"
+	MODE:="0660", GROUP:="video"
 SUBSYSTEM=="tty", ATTRS{idVendor}=="04e2", \
-	MODE:="0666", \
+	MODE:="0660", GROUP:="video", \
 	ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_CANDIDATE}:="0"
--- a/udev/98-hdmi2usb-opsis.rules
+++ b/udev/98-hdmi2usb-opsis.rules
@@ -23,6 +23,6 @@
 
 # TOFE LowSpeedIO board
 SUBSYSTEM=="usb", ATTRS{idVendor}=="2a19", ATTRS{idProduct}=="5445", \
-	MODE:="0666"
+	MODE:="0660", GROUP:="video"
 SUBSYSTEM=="tty", ATTRS{idVendor}=="2a19", ATTRS{idProduct}=="5445", \
 	ENV{ID_HDMI2USB}:="1", ENV{ID_HDMI2USB_BOARD}:="opsis", ENV{ID_HDMI2USB_TTY}:="-aux"
--- a/udev/99-hdmi2usbaux-cypress.rules
+++ b/udev/99-hdmi2usbaux-cypress.rules
@@ -1,2 +1,2 @@
 # Grant permissions to unconfigured cypress chips.
-SUBSYSTEM=="usb", ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="8613", MODE:="0666"
+SUBSYSTEM=="usb", ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="8613", MODE:="0660", GROUP:="video"
--- a/udev/99-hdmi2usbaux-ixo-usb-jtag.rules
+++ b/udev/99-hdmi2usbaux-ixo-usb-jtag.rules
@@ -1,3 +1,3 @@
 # Grant permissions to ixo-usb-jtag devices.
-SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="06ad", MODE:="0666"
-SUBSYSTEM=="tty", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="06ad", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}:="1", ENV{ID_MM_CANDIDATE}:="0"
+SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="06ad", MODE:="0660", GROUP:="video"
+SUBSYSTEM=="tty", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="06ad", MODE:="0660", GROUP:="video", ENV{ID_MM_DEVICE_IGNORE}:="1", ENV{ID_MM_CANDIDATE}:="0"
--- a/udev/99-hdmi2usb-permissions.rules
+++ b/udev/99-hdmi2usb-permissions.rules
@@ -2,25 +2,28 @@
 
 # USB device for using fxload
 SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", \
-	MODE:="0666"
+	MODE:="0660", GROUP:="video"
 
 # Serial control console
 SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", \
-	MODE:="0666"
+	MODE:="0660", GROUP:="video"
 
 # Video capture device
 SUBSYSTEM=="video4linux", ENV{ID_HDMI2USB}=="1", \
-	MODE:="0666"
+	MODE:="0660", GROUP:="video"
 
 # Allow the user to unbind the kernel drivers attached to the device
 SUBSYSTEM=="usb", DRIVER=="usb", ENV{ID_HDMI2USB}=="1", \
 	TEST=="$sys$env{DEVPATH}/driver/unbind" \
-	RUN+="/bin/chmod 0666 $sys$env{DEVPATH}/driver/unbind"
+	RUN+="/bin/chmod 0660 $sys$env{DEVPATH}/driver/unbind" \
+	RUN+="/bin/chgrp video $sys$env{DEVPATH}/driver/unbind"
 
 SUBSYSTEM=="tty", ENV{ID_HDMI2USB}=="1", \
 	TEST=="$sys$env{DEVPATH}/../../driver/unbind" \
-	RUN+="/bin/chmod 0666 $sys$env{DEVPATH}/../../driver/unbind"
+	RUN+="/bin/chmod 0660 $sys$env{DEVPATH}/../../driver/unbind" \
+	RUN+="/bin/chgrp video $sys$env{DEVPATH}/../../driver/unbind"
 
 SUBSYSTEM=="video4linux", ENV{ID_HDMI2USB}=="1", \
 	TEST=="$sys$env{DEVPATH}/../../driver/unbind" \
-	RUN+="/bin/chmod 0666 $sys$env{DEVPATH}/../../driver/unbind"
+	RUN+="/bin/chmod 0660 $sys$env{DEVPATH}/../../driver/unbind" \
+	RUN+="/bin/chgrp video $sys$env{DEVPATH}/../../driver/unbind"
