FS#26342 - [libffado] better udev rules
Attached to Project:
Arch Linux
Opened by Bernardo Barros (smoge) - Saturday, 08 October 2011, 18:10 GMT
Last edited by Ray Rashif (schivmeister) - Wednesday, 16 November 2011, 11:22 GMT
Opened by Bernardo Barros (smoge) - Saturday, 08 October 2011, 18:10 GMT
Last edited by Ray Rashif (schivmeister) - Wednesday, 16 November 2011, 11:22 GMT
|
Details
Description: When one installs libffado the user does not
have
automatic access to the firewire soundcards it is supposed to support. Sometimes users just manually change permissions for all firewire devices. One good solution found by Debian packaging system is to allow just the devices support by FFADO. To improve the situation one could add the following to /etc/udev/rules.d -------8<-------------8<-------------8<-------------8<-------------8<-------------8<------ SUBSYSTEM!="firewire", GOTO="ffado_end" ATTR{vendor}=="0x000166", GROUP="audio", ENV{ID_FFADO}="1" # TC GROUP A/S ATTR{vendor}=="0x0001f2", GROUP="audio", ENV{ID_FFADO}="1" # Mark of the Unicorn, Inc. ATTR{vendor}=="0x0003db", GROUP="audio", ENV{ID_FFADO}="1" # Apogee Electronics Corp. ATTR{vendor}=="0x000595", GROUP="audio", ENV{ID_FFADO}="1" # Alesis Corporation ATTR{vendor}=="0x0007f5", GROUP="audio", ENV{ID_FFADO}="1" # Bridgeco Co AG ATTR{vendor}=="0x000a92", GROUP="audio", ENV{ID_FFADO}="1" # Presonus Corporation ATTR{vendor}=="0x000aac", GROUP="audio", ENV{ID_FFADO}="1" # TerraTec Electronic GmbH ATTR{vendor}=="0x000d6c", GROUP="audio", ENV{ID_FFADO}="1" # M-Audio ATTR{vendor}=="0x000f1b", GROUP="audio", ENV{ID_FFADO}="1" # Ego Systems Inc. ATTR{vendor}=="0x000ff2", GROUP="audio", ENV{ID_FFADO}="1" # Loud Technologies Inc. ATTR{vendor}=="0x001260", GROUP="audio", ENV{ID_FFADO}="1" # Stanton Magnetics,inc. ATTR{vendor}=="0x00130e", GROUP="audio", ENV{ID_FFADO}="1" # Focusrite Audio Engineering Limited ATTR{vendor}=="0x001486", GROUP="audio", ENV{ID_FFADO}="1" # Echo Digital Audio Corporation ATTR{vendor}=="0x001564", GROUP="audio", ENV{ID_FFADO}="1" # BEHRINGER Spezielle Studiotechnik GmbH ATTR{vendor}=="0x001c2d", GROUP="audio", ENV{ID_FFADO}="1" # FlexRadio Systems ATTR{vendor}=="0x001c6a", GROUP="audio", ENV{ID_FFADO}="1" # Weiss Engineering Ltd. ATTR{vendor}=="0x0040ab", GROUP="audio", ENV{ID_FFADO}="1" # ROLAND DG CORPORATION # The devices below abuse another Vendor's ID, and therefore we need more advanced rules for those. ATTR{vendor}=="0x00000a", ATTR{model}=="0x030000", ATTR{units}=="*0x00a02d:0x010001*", GROUP="audio", ENV{ID_FFADO}="1" # CME, Matrix K FW ATTR{vendor}=="0x00000f", ATTR{model}=="0x01006?", ATTR{units}=="*0x00a02d:0x010001*", GROUP="audio", ENV{ID_FFADO}="1" # Mackie, Onyx Firewire ATTR{vendor}=="0x000a35", ATTR{units}=="0x000a35:0x00000[12]", GROUP="audio", ENV{ID_FFADO}="1" # RME LABEL="ffado_end" -------8<-------------8<-------------8<-------------8<-------------8<-------------8<------ |
This task depends upon
Closed by Ray Rashif (schivmeister)
Wednesday, 16 November 2011, 11:22 GMT
Reason for closing: Implemented
Wednesday, 16 November 2011, 11:22 GMT
Reason for closing: Implemented
MODULES=(firewire-core firewire-ohci)
Requiring all users to be in the audio group in order to use sound is not a very good approach (you probably don't want that any user should be able to listen to the microphone remotely). The audio group is mostly a legacy/fallback solution for users who don't use ACL. The "correct" solution would be for consolekit (or systemd if you are so inclined) to manage the ACL's for you and grant permissions to whoever is active local user.
The attached rules file might still be a good starting point though, as it will provide the fallback group assignment, and the ID_FFADO flag could be used by whoever deals with the ACLs. It's a bit weird that upstream does not want to maintain this though, surely they should know best what exactly should go in these lists...?
FS#26343[1], otherwise it will not work properly.[1] https://bugs.archlinux.org/task/26343?project=1&order=dateopened&sort=desc