[systemd-devel] [PATCH v2 1/2] Don't use ALSA card id in ID_ID

Lennart Poettering lennart at poettering.net
Wed Apr 22 08:17:09 PDT 2015


On Tue, 21.04.15 17:45, Adam Goode (agoode at google.com) wrote:

> The ALSA id sysattr is generated by the sound subsystem and is not
> a stable identifier. It is generated though some string manipulation
> then made unique if there is a conflict. This means that it is
> enumeration-dependent and shouldn't be used for ID_ID.
> 
> If ID_ID is supposed to be system-unique, it is not already since
> for firewire it is generated from the guid and there are broken
> firewire devices that have duplicate guids across devices.
> 
> This is tracked for PulseAudio at
> https://bugs.freedesktop.org/show_bug.cgi?id=90129.

Please also mention that commit that this effectvily reverts, see
earlier discussion.

> ---
>  rules/78-sound-card.rules | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/rules/78-sound-card.rules b/rules/78-sound-card.rules
> index 295f490..bd7a994 100644
> --- a/rules/78-sound-card.rules
> +++ b/rules/78-sound-card.rules
> @@ -49,8 +49,8 @@ SUBSYSTEMS=="firewire", GOTO="skip_pci"
>  SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}"
>  LABEL="skip_pci"
>  
> -ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="?*", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_USB_INTERFACE_NUM}-$attr{id}"
> -ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$attr{id}"
> +ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="?*", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_USB_INTERFACE_NUM}"
> +ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}"
>  
>  IMPORT{builtin}="path_id"
>  
> -- 
> 2.2.0.rc0.207.ga3a616c
> 
> 


Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list