[alsa-devel] [PATCH] ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56
Takashi Iwai
tiwai at suse.de
Tue Feb 26 07:12:15 CET 2019
On Tue, 26 Feb 2019 05:38:16 +0100,
Takashi Sakamoto wrote:
>
> ALSA bebob driver has an entry for Focusrite Saffire Pro 10 I/O. The
> entry matches vendor_id in root directory and model_id in unit
> directory of configuration ROM for IEEE 1394 bus.
>
> On the other hand, configuration ROM of Focusrite Liquid Saffire 56
> has the same vendor_id and model_id. This device is an application of
> TCAT Dice (TCD2220 a.k.a Dice Jr.) however ALSA bebob driver can be
> bound to it randomly instead of ALSA dice driver. At present, drivers
> in ALSA firewire stack can not handle this situation appropriately.
>
> This commit uses more identical mod_alias for Focusrite Saffire Pro 10
> I/O in ALSA bebob driver.
>
> $ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
> ROM header and bus information block
> -----------------------------------------------------------------
> 400 042a829d bus_info_length 4, crc_length 42, crc 33437
> 404 31333934 bus_name "1394"
> 408 f0649222 irmc 1, cmc 1, isc 1, bmc 1, pmc 0, cyc_clk_acc 100,
> max_rec 9 (1024), max_rom 2, gen 2, spd 2 (S400)
> 40c 00130e01 company_id 00130e |
> 410 000606e0 device_id 01000606e0 | EUI-64 00130e01000606e0
>
> root directory
> -----------------------------------------------------------------
> 414 0009d31c directory_length 9, crc 54044
> 418 04000014 hardware version
> 41c 0c0083c0 node capabilities per IEEE 1394
> 420 0300130e vendor
> 424 81000012 --> descriptor leaf at 46c
> 428 17000006 model
> 42c 81000016 --> descriptor leaf at 484
> 430 130120c2 version
> 434 d1000002 --> unit directory at 43c
> 438 d4000006 --> dependent info directory at 450
>
> unit directory at 43c
> -----------------------------------------------------------------
> 43c 0004707c directory_length 4, crc 28796
> 440 1200a02d specifier id: 1394 TA
> 444 13010001 version: AV/C
> 448 17000006 model
> 44c 81000013 --> descriptor leaf at 498
>
> dependent info directory at 450
> -----------------------------------------------------------------
> 450 000637c7 directory_length 6, crc 14279
> 454 120007f5 specifier id
> 458 13000001 version
> 45c 3affffc7 (immediate value)
> 460 3b100000 (immediate value)
> 464 3cffffc7 (immediate value)
> 468 3d600000 (immediate value)
>
> descriptor leaf at 46c
> -----------------------------------------------------------------
> 46c 00056f3b leaf_length 5, crc 28475
> 470 00000000 textual descriptor
> 474 00000000 minimal ASCII
> 478 466f6375 "Focu"
> 47c 73726974 "srit"
> 480 65000000 "e"
>
> descriptor leaf at 484
> -----------------------------------------------------------------
> 484 0004a165 leaf_length 4, crc 41317
> 488 00000000 textual descriptor
> 48c 00000000 minimal ASCII
> 490 50726f31 "Pro1"
> 494 30494f00 "0IO"
>
> descriptor leaf at 498
> -----------------------------------------------------------------
> 498 0004a165 leaf_length 4, crc 41317
> 49c 00000000 textual descriptor
> 4a0 00000000 minimal ASCII
> 4a4 50726f31 "Pro1"
> 4a8 30494f00 "0IO"
>
> $ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
> ROM header and bus information block
> -----------------------------------------------------------------
> 400 040442e4 bus_info_length 4, crc_length 4, crc 17124
> 404 31333934 bus_name "1394"
> 408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
> max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
> 40c 00130e04 company_id 00130e |
> 410 018001e9 device_id 04018001e9 | EUI-64 00130e04018001e9
>
> root directory
> -----------------------------------------------------------------
> 414 00065612 directory_length 6, crc 22034
> 418 0300130e vendor
> 41c 8100000a --> descriptor leaf at 444
> 420 17000006 model
> 424 8100000e --> descriptor leaf at 45c
> 428 0c0087c0 node capabilities per IEEE 1394
> 42c d1000001 --> unit directory at 430
>
> unit directory at 430
> -----------------------------------------------------------------
> 430 000418a0 directory_length 4, crc 6304
> 434 1200130e specifier id
> 438 13000001 version
> 43c 17000006 model
> 440 8100000f --> descriptor leaf at 47c
>
> descriptor leaf at 444
> -----------------------------------------------------------------
> 444 00056f3b leaf_length 5, crc 28475
> 448 00000000 textual descriptor
> 44c 00000000 minimal ASCII
> 450 466f6375 "Focu"
> 454 73726974 "srit"
> 458 65000000 "e"
>
> descriptor leaf at 45c
> -----------------------------------------------------------------
> 45c 000762c6 leaf_length 7, crc 25286
> 460 00000000 textual descriptor
> 464 00000000 minimal ASCII
> 468 4c495155 "LIQU"
> 46c 49445f53 "ID_S"
> 470 41464649 "AFFI"
> 474 52455f35 "RE_5"
> 478 36000000 "6"
>
> descriptor leaf at 47c
> -----------------------------------------------------------------
> 47c 000762c6 leaf_length 7, crc 25286
> 480 00000000 textual descriptor
> 484 00000000 minimal ASCII
> 488 4c495155 "LIQU"
> 48c 49445f53 "ID_S"
> 490 41464649 "AFFI"
> 494 52455f35 "RE_5"
> 498 36000000 "6"
>
> Cc: <stable at vger.kernel.org> # v3.16+
> Fixes: 25784ec2d034 ("ALSA: bebob: Add support for Focusrite Saffire/SaffirePro series")
> Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
Applied, thanks.
Takashi
More information about the Alsa-devel
mailing list