Skip to content

macOS: Fix incorrect CDB length param

This commit fixes MMC authentication failure by providing the correct Command Descriptor Block (CDB) length to the IOKit API.

Previously, the code just asked for 16-byte CDB, but this behavior does not cohere with the SCSI MMC specification, which specifies a 12-byte CDB block. This will trigger a CHECK_CONDITION I/O failure with SCSI ASC code 24h/00h INVALID FIELD IN CDB on certain drives. The error will present itself as AACS MMC Failure in VLC and MMC authentication failure in aacs_info.

This PR fixes the problem by correcting the I/O call in mmc_device_darwin.c from 16-byte CDB to 12-byte CDB (which aligns with the Win32 implementation).

Merge request reports

Loading