alsa-mixer: use more identical entry to distinguish Focusrite Saffire Pro 10 i/o from Liquid Saffire 56

Submitted by Takashi Sakamoto on Feb. 26, 2019, 4:55 a.m.

Details

Message ID 20190226045555.32526-1-o-takashi@sakamocchi.jp
State Accepted
Commit 0d67e366555effe118858234823528af35f76bab
Headers show
Series "alsa-mixer: use more identical entry to distinguish Focusrite Saffire Pro 10 i/o from Liquid Saffire 56" ( rev: 1 ) in PulseAudio

Not browsing as part of any series.

Commit Message

Takashi Sakamoto Feb. 26, 2019, 4:55 a.m.
In a former commit 37358e42c49a ("alsa: Suppress udev detection of sound
card for some units on IEEE 1394 bus"), PulseAudio has udev rules to
suppress handling some units on IEEE 1394 bus for a below issue:

Bug 199365 - repeating bus resets on Firewire bus with Focusrite Saffaire 26/io
https://bugzilla.kernel.org/show_bug.cgi?id=199365

However, I found that the rules match another model; Focusrite Liquid
Saffire 56. For detail, refer to below patch for Linux sound subsystem:

[alsa-devel] [PATCH] ALSA: bebob: use more identical mod_alias for
Saffire Pro 10 I/O against Liquid Saffire 56
https://mailman.alsa-project.org/pipermail/alsa-devel/2019-February/146003.html

For PulseAudio, more identical rule is better to distinguish them,
because Liquid Saffire 56 (an application of TCAT TCD2200 ASIC, a.k.a
Dice Jr.) can be handled by pulseaudio without the issue.

This commit changes udev rule with model name instead of model_id from
configuration ROM. Below is data on udevd for Liquid Saffire 56, for
your information:

$ udevadm info -q all -p /sys/bus/firewire/devices/fw1.0/sound/card2/
P: /devices/pci0000:00/0000:00:01.2/0000:03:00.2/0000:04:07.0/0000:0a:00.0/0000:0b:00.0/fw1/fw1.0/sound/card2
E: DEVPATH=/devices/pci0000:00/0000:00:01.2/0000:03:00.2/0000:04:07.0/0000:0a:00.0/0000:0b:00.0/fw1/fw1.0/sound/card2
E: ID_BUS=firewire
E: ID_FOR_SEAT=sound-pci-0000_0b_00_0
E: ID_ID=firewire-0x00130e04018001e9
E: ID_MODEL=LIQUID_SAFFIRE_56
E: ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express]
E: ID_MODEL_ID=0x000006
E: ID_PATH=pci-0000:0b:00.0
E: ID_PATH_TAG=pci-0000_0b_00_0
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_INTERFACE_FROM_DATABASE=OHCI
E: ID_PCI_SUBCLASS_FROM_DATABASE=FireWire (IEEE 1394)
E: ID_SERIAL=0x00130e04018001e9
E: ID_SERIAL_SHORT=0x00130e04018001e9
E: ID_VENDOR=Focusrite
E: ID_VENDOR_FROM_DATABASE=Texas Instruments
E: ID_VENDOR_ID=0x00130e
E: SOUND_INITIALIZED=1
E: SUBSYSTEM=sound
E: SYSTEMD_WANTS=sound.target
E: TAGS=:seat:systemd:
E: USEC_INITIALIZED=9802422583

Fixes: 37358e42c49a ("alsa: Suppress udev detection of sound card for some units on IEEE 1394 bus")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
---
 src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules b/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules
index 1303d1bce..975dbd75c 100644
--- a/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules
+++ b/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules
@@ -127,6 +127,9 @@  LABEL="pulseaudio_firewire_quirk"
 # Focusrite Saffire Pro 10/26 i/o has a quirk to disappear from IEEE 1394 bus when losing connections.
 # https://bugzilla.kernel.org/show_bug.cgi?id=199365
 ENV{ID_VENDOR_ID}=="0x00130e", ENV{ID_MODEL_ID}=="0x000003", ENV{PULSE_IGNORE}="1"
-ENV{ID_VENDOR_ID}=="0x00130e", ENV{ID_MODEL_ID}=="0x000006", ENV{PULSE_IGNORE}="1"
+# Both of Saffire Pro 10 i/o and Liquid Saffire 56 has the same ID_MODEL_ID
+# (0x000006). Here, use the identical name in configuration ROM to distinguish
+# the former.
+ENV{ID_VENDOR_ID}=="0x00130e", ENV{ID_MODEL}=="Pro10IO" ENV{PULSE_IGNORE}="1"
 
 LABEL="pulseaudio_end"

Comments

On Tue, 2019-02-26 at 13:55 +0900, Takashi Sakamoto wrote:
> In a former commit 37358e42c49a ("alsa: Suppress udev detection of sound
> card for some units on IEEE 1394 bus"), PulseAudio has udev rules to
> suppress handling some units on IEEE 1394 bus for a below issue:
> 
> Bug 199365 - repeating bus resets on Firewire bus with Focusrite Saffaire 26/io
> https://bugzilla.kernel.org/show_bug.cgi?id=199365
> 
> However, I found that the rules match another model; Focusrite Liquid
> Saffire 56. For detail, refer to below patch for Linux sound subsystem:
> 
> [alsa-devel] [PATCH] ALSA: bebob: use more identical mod_alias for
> Saffire Pro 10 I/O against Liquid Saffire 56
> https://mailman.alsa-project.org/pipermail/alsa-devel/2019-February/146003.html
> 
> For PulseAudio, more identical rule is better to distinguish them,
> because Liquid Saffire 56 (an application of TCAT TCD2200 ASIC, a.k.a
> Dice Jr.) can be handled by pulseaudio without the issue.
> 
> This commit changes udev rule with model name instead of model_id from
> configuration ROM. Below is data on udevd for Liquid Saffire 56, for
> your information:
> 
> $ udevadm info -q all -p /sys/bus/firewire/devices/fw1.0/sound/card2/
> P: /devices/pci0000:00/0000:00:01.2/0000:03:00.2/0000:04:07.0/0000:0a:00.0/0000:0b:00.0/fw1/fw1.0/sound/card2
> E: DEVPATH=/devices/pci0000:00/0000:00:01.2/0000:03:00.2/0000:04:07.0/0000:0a:00.0/0000:0b:00.0/fw1/fw1.0/sound/card2
> E: ID_BUS=firewire
> E: ID_FOR_SEAT=sound-pci-0000_0b_00_0
> E: ID_ID=firewire-0x00130e04018001e9
> E: ID_MODEL=LIQUID_SAFFIRE_56
> E: ID_MODEL_FROM_DATABASE=XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express]
> E: ID_MODEL_ID=0x000006
> E: ID_PATH=pci-0000:0b:00.0
> E: ID_PATH_TAG=pci-0000_0b_00_0
> E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
> E: ID_PCI_INTERFACE_FROM_DATABASE=OHCI
> E: ID_PCI_SUBCLASS_FROM_DATABASE=FireWire (IEEE 1394)
> E: ID_SERIAL=0x00130e04018001e9
> E: ID_SERIAL_SHORT=0x00130e04018001e9
> E: ID_VENDOR=Focusrite
> E: ID_VENDOR_FROM_DATABASE=Texas Instruments
> E: ID_VENDOR_ID=0x00130e
> E: SOUND_INITIALIZED=1
> E: SUBSYSTEM=sound
> E: SYSTEMD_WANTS=sound.target
> E: TAGS=:seat:systemd:
> E: USEC_INITIALIZED=9802422583
> 
> Fixes: 37358e42c49a ("alsa: Suppress udev detection of sound card for some units on IEEE 1394 bus")
> Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
> ---
>  src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules b/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules
> index 1303d1bce..975dbd75c 100644
> --- a/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules
> +++ b/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules
> @@ -127,6 +127,9 @@ LABEL="pulseaudio_firewire_quirk"
>  # Focusrite Saffire Pro 10/26 i/o has a quirk to disappear from IEEE 1394 bus when losing connections.
>  # https://bugzilla.kernel.org/show_bug.cgi?id=199365
>  ENV{ID_VENDOR_ID}=="0x00130e", ENV{ID_MODEL_ID}=="0x000003", ENV{PULSE_IGNORE}="1"
> -ENV{ID_VENDOR_ID}=="0x00130e", ENV{ID_MODEL_ID}=="0x000006", ENV{PULSE_IGNORE}="1"
> +# Both of Saffire Pro 10 i/o and Liquid Saffire 56 has the same ID_MODEL_ID
> +# (0x000006). Here, use the identical name in configuration ROM to distinguish
> +# the former.
> +ENV{ID_VENDOR_ID}=="0x00130e", ENV{ID_MODEL}=="Pro10IO" ENV{PULSE_IGNORE}="1"
>  
>  LABEL="pulseaudio_end"

Thanks! Applied. I did some edits to the commit message, because you
used the word "identical" in a confusing way. Something being
"identical" means that it's exactly the same as something else, but you
seemed to use the word with very different meaning.

I intended to edit the comment in the udev rules too, but I forgot to
do that before pushing, so I changed the comment in a separate commit.