Device-specific Registry settings
Overview
CD/DVD driver can be tuned for proper operation with specific device or disabled for
specific device via Registry keys. Originally these settings were introduced
for compatibility with devices for those it is impossible to use auto-detection algorithm.
We decided to keep list of "different" devices separately. During driver development and testing
set of often deviations and corresponding tuning parameters become rather stable. For now
adding of new device to the list of supported ones is usually done just via registry tuning.
You can try to tune driver yourself (for your own risk) for your recorder or
disable suspicious one.
You can create the hierachy of sub-keys with parameters under
HKLM\System\CurrentControlSet\Services\dwcdrw
Registry key. The most global settings are placed in
HKLM\System\CurrentControlSet\Services\dwcdrw\Parameters
More specific options can be placed under specially named sub-keys.
When looking for option value driver walk through settings tree in the following order:
Parameters
Parameters\VENDOR[1] (first character)
Parameters\VENDOR[1-2] (2 leading characters)
...
Parameters\VENDOR (entire string, 8 characters)
Parameters\VENDOR\DEVICENAME[1] (first character)
Parameters\VENDOR\DEVICENAME[1-2] (2 leading characters)
...
Parameters\VENDOR\DEVICENAME (entire string, 16 characters)
Parameters\VENDOR\DEVICENAME\REVISION[1] (first character)
Parameters\VENDOR\DEVICENAME\REVISION[1-2] (2 leading characters)
...
Parameters\VENDOR\DEVICENAME\REVISION (entire string, 4 characters)
where
VENDOR is device Vendor name
DEVICENAME is device model name
REVISION is device firmware revision code
The last found value overrides all previous occurances.
Space characters (i.e. those are completing string to required length) are encoded as underscore character '_'.
Underscore character itself, '#', non-printable, special, quotes and characters with codes above 127 are encoded
as '#hh', where hh is hexadecimal code of the character.
Example
If we have
Parameters\Toshiba_\DVD-RAM_SD-W
DWORD:NoStartUnitCommand=0
but
Parameters\Toshiba_\DVD-RAM_SD-W2002
DWORD:NoStartUnitCommand=1
the final value for
NoStartUnitCommand option for device Toshiba, model DVD-RAM_SD-W2002 will be 0.
The rest Toshiba devices with model name starting with DVD-RAM_SD-W would be 1.
Options
DWORD:LoadMode (default = 1)
This value enforce operation mode for given device. Valid values:
LoadMode |
Mode
|
0 |
work with recorders only
|
1 |
work with any type of drive
|
2 |
do not work with specified drive
|
DWORD:OldCdRom (default = 0)
This value tells driver to avoid capability probes for given device and assume it is CD-ROM.
It is useful to set this value to 1 for old drives, those often hang when recieve unsupported
comands. Valid values for device capability autodetection:
0x00000000 - enable
0x00000001 - disable
DWORD:NoStartUnitCommand (default = 0)
This value tells driver not to use START/STOP UNIT command for device reset. Some devices
hangs after such reset attempt. The same time many other devices work better after reset.
0x00000000 - enable
0x00000001 - disable
DWORD:NoGetConfigCommand (default = 0)
This value tells driver not to use GET CONFIGURATION command. Old devices do not
support it and some of them even hang. The same time this command is necessary for detecting
capabilities of modern devices.
0x00000000 - enable
0x00000001 - disable
DWORD:DenyGetEvent (default = 0)
This value tells driver not to use GET EVENT command. Old devices do not
support it and some of them even hang. Also, some newer devices improperly implement it.
The command is used to determine media presence instead of ususal TEST UNIT READY.
The practice shows, that many drives return No Media In Device status for empty CD-R or CD-RW disks
when TEST UNIT READY is issued. The same time GET EVENT command gives proper result. GET EVENT is
also used to detect user Eject request.
0x00000000 - enable
0x00000001 - disable
DWORD:StdCheckVerify (default = 0)
This value tells driver to use standard TEST UNIT READY command for determining disk presence.
0x00000000 - disable
0x00000001 - enable
DWORD:ForceStdFormatUnit (default = 0)
This value tells driver to use standard FORMAT UNIT command for disk formatting.
Most old drives have wrong its implementation, and special workaround is to be used.
Most newer drives has proper FORMAT UNIT but doesn't work with old workaround techique.
0x00000000 - disable
0x00000001 - enable
DWORD:ModePageSize (default = 6)
This value enforce usage of particular modification of ATAPI/SCSI command MODE_SENSE for given device. Valid values:
ModePageSize |
Command version
|
0 |
Autodetect
|
6 | MODE_SENSE6 |
10 | MODE_SENSE10 |
DWORD:ModeSelectSize (default = 6)
This value enforce usage of particular modification of ATAPI/SCSI command MODE_SELECT for given device. Valid values:
ModeSelectSize |
Command version
|
0 |
Autodetect
|
6 | MODE_SELECT6 |
10 | MODE_SELECT10 |
|