Bug 806534

Summary: RFE: please add fender mustang rules
Product: [Fedora] Fedora Reporter: Ian Malone <ibmalone>
Component: udevAssignee: udev-maint
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: harald, jonathan, udev-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-03-24 17:39:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
package's sugggested rules
none
lsusb output on the mustang none

Description Ian Malone 2012-03-24 12:28:33 UTC
Created attachment 572437 [details]
package's sugggested rules

Description of problem:
The Fender Mustang amplifier http://www.fender.com/en-GB/products/mustang/ supports control via USB HID, a client is available for Linux http://piorekf.org/plug/ however under the default rules a normal user does not have permission to access it.

I'm attaching the suggested rules for the Plug software, but these may not be the best choices. They require a group 'plugdev', maybe using an existing group would be more appropriate (e.g. audio) or there is a more sophisticated way of assigning control to the user at the console. Let me know if it would be better to report this upstream (and where).

Comment 1 Ian Malone 2012-03-24 12:30:39 UTC
Created attachment 572438 [details]
lsusb output on the mustang

lsusb output on the mustang. Note it's a composite device, the audio controller is already handled correctly.

Comment 2 Kay Sievers 2012-03-24 15:08:18 UTC
We usually do not ship hardware specific rules in the main udev package. They
should be shipped by the package which makes use of the device.

Fedora does not use the 'plugdev' group and likely never will. Putting normal
users in any such groups is a broken, misguided and un-secure concept, which
we can not follow.

Actually, we can not use *any* group for things like that. The 'audio'/'video'
groups are for system services which need to grab video or audio, they must
not be used by normal users which log into a machine. As an example, any user
in the group 'audio' can at any time log into the machine over ssh and start
listening to the built-in microphone of the laptop.

This might come in handy for some people, but it's nothing Fedora can ever
allow by default. :)

Systemd/udev offers to assign dynamic access control lists to device nodes,
which are only added when the user's login is active/in the foreground. For
that to work, a name ID_<some name> for the device class needs to be found, this
property needs to be set by the rules, then added to the systemd file, and
logged-in users with active session will get access the the device.

The rules file can be a single line like:
  SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
    ATTRS{idVendor}=="1ed8", ATTRS{idProduct}=="000[456]" \
    ENV{ID_<some_name>}="1"

Comment 3 Ian Malone 2012-03-24 17:39:33 UTC
> We usually do not ship hardware specific rules in the main udev package.
> They should be shipped by the package which makes use of the device.

Thanks for clarifying, I'd been under the impression that the udev package managed all the non-local rules. Your description of the dynamic acl sounds like exactly what I was looking for, I've got a few more questions about that, but will take them to the devel list.