SG_GET_CONFIG(8)

NAME
sg_get_config - invoke SCSI GET CONFIGURATION command on a (cd/dvd) device

SYNOPSIS
sg_get_config [--brief] [--help] [--hex] [--inner-hex] [--list] [--rt=<n>] [--starting=<n>] [--verbose] [--version] <device>

DESCRIPTION

Sends a SCSI GET CONFIGURATION command to the given Linux device and decodes the response. The response includes the features and profiles of the device. Typically these devices are CD and DVD players that may (but not necessarily) have media in them. These devices may well be connected via ATAPI, USB or IEEE 1394 transports. In such cases they are "SCSI" devices only in the sense that they use the "Multi-Media command set" (MMC). MMC is a specialized SCSI command set whose definition can be found at http://www.t10.org .

This utility is based on the MMC-4 and MMC-5 draft standards. See section 5 on "Features and Profile for Multi_Media devices" for more information on specific feature parameters and profiles. The manufacturer's product manual may also be useful.

Since modern DVD writers support many features and profiles, the decoded output from this utility can be large. There are various ways to cut down the output. If the '--brief' option is used only the feature names are shown and the feature parameters are not decoded. Alternatively if only one feature is of interest then this combination of options is appropriate: "--rt=2 --starting=<feature_code>". Another possibility it to show only the features that are relevant to the media in the drive (i.e. "current") with the "--rt=1" option.

--brief | -b
    show the feature names but don't decode the parameters of those features. When used with '--list' outputs known feature names but not known profile names.

--help | -h
    output the usage message then exit.

--hex | -H
    output the response in hex (don't decode response).

--inner-hex | -i
    decode to the feature name level then output each feature's data in hex.

--list | -l
    list all known feature and profile names. Ignore the device name (if given). Simply lists the feature names and profiles (followed by their hex values) that this utility knows about. If --brief is also given then only list feature names.

--rt=<n> | -r <n>
    RT value given to GET CONFIGURATION command. Allowable values are 0, 1, 2, or 3 . The command's action also depends on the value given to --starting. The default value is 0. When <n> is 0 then all features, regardless of currency, are returned (whose feature code is greater than or equal to the value given to --starting). When <n> is 1 then all current features are returned (whose feature code is greater than or equal to the value given to --starting). When <n> is 2 then the feature whose feature code is equal to the value given to --starting, if any, is returned. When <n> is 3 the response is reserved (probably yields an "illegal field in cdb" error).

--starting=<n> | -s <n>
    this option works closely with the --rt option. Its value is a feature code in the range 0 to 0xffff (inclusive). Its default value is 0. A value prefixed with "0x" is interpreted as hexadecimal.

--verbose | -v
    increase the level of verbosity, (i.e. debug output).

--version | -V
    print the version string and then exit.

There are multiple versions of the MMC (draft) standards: MMC [1997], MMC-2 [2000], MMC-3 [2002], MMC-4 and MMC-5. The first three are now ANSI INCITS standards with the year they became standards shown in brackets. Luckily the draft immediately prior to standardization can be found at http://www.t10.org . In the initial MMC standard there was no GET CONFIGURATION command and the relevant information was obtained from the "CD capabilities and mechanical status mode page" (page 0x2a). It was later renamed the "MM capabilities and mechanical status mode page" and has been made obsolete in MMC-4 and MMC-5. The GET CONFIGURATION command was introduced in MMC-2 and has become a replacement for the mode page. New features such as support for "BD" (blue ray) media type can only be found by using the GET CONFIGURATION command. Hence older CD players may not support the GET CONFIGURATION command in which case the "MM capabilities ..." mode page can be checked with sginfo or sg_modes.

In the 2.4 series of Linux kernels the given device must be a SCSI generic (sg) device. In the 2.6 series block devices can also be specified. For example "sg_get_config /dev/hdc" will work in the 2.6 series kernels as long as /dev/hdc is an ATAPI device. In the 2.6 series external DVD writers attached via usb could be queried with "sg_get_config /dev/scd1" for example.

AUTHORS
Written by Douglas Gilbert.

REPORTING BUGS
Report bugs to <dgilbert at interlog dot com>.

COPYRIGHT
Copyright © 2004 Douglas Gilbert
This software is distributed under a FreeBSD license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
sginfo, sg_modes, sg_inq, sg_prevent, sg_start (all in sg3_utils)