[alsa-devel] probe issue for Dice/OXFW drivers
Clemens Ladisch
clemens at ladisch.de
Wed Aug 12 11:20:49 CEST 2015
Takashi Sakamoto wrote:
> Recently, I received an issue from a user of Mackie Onyx-i series.
> According to the user, snd-dice is not applied to his Dice model.
> [...] According to the log, I cannot find the first
> transaction which snd-dice performs. Additionally, no error messages in
> syslog.
There are some checks performed before the first actual transaction.
The kernel loads the driver if an entry in dice_id_table[] matches, i.e.,
if version==1. This values indeed is in the unit directory:
> ROM header and bus information block
> -----------------------------------------------------------------
> 400 0404f507 bus_info_length 4, crc_length 4, crc 62727
> 404 31333934 bus_name "1394"
> 408 e0008102 irmc 1, cmc 1, isc 1, bmc 0, cyc_clk_acc 0, max_rec 8 (512)
> 40c 000ff210 company_id 000ff2 |
> 410 01800af7 device_id 1001800af7 | EUI-64 000ff21001800af7
>
> root directory
> -----------------------------------------------------------------
> 414 000639d3 directory_length 6, crc 14803
> 418 03000ff2 vendor
> 41c 8100000a --> descriptor leaf at 444
> 420 17000006 model
> 424 8100000d --> descriptor leaf at 458
> 428 0c0087c0 node capabilities per IEEE 1394
> 42c d1000001 --> unit directory at 430
>
> unit directory at 430
> -----------------------------------------------------------------
> 430 00045246 directory_length 4, crc 21062
> 434 12000ff2 specifier id
> 438 13000001 version
> 43c 17000006 model
> 440 8100000b --> descriptor leaf at 46c
The dice_interface_check() function then makes other checks:
/*
* Check that GUID and unit directory are constructed according to DICE
* rules, i.e., that the specifier ID is the GUID's OUI, and that the
* GUID chip ID consists of the 8-bit category ID, the 10-bit product
* ID, and a 22-bit serial number.
*/
These values are correct, except for the category ID.
The driver already has an category ID exception for Weiss devices.
It would be possible to add another exception, but given that firmware
writers apparently like to change this value without good reason, it
might be a better idea to just remove the category ID check.
Regards,
Clemens
More information about the Alsa-devel
mailing list