FIX: Duplicate LUN 0 when LargeLuns registry key enabled (208173)



The information in this article applies to:

  • Microsoft Win32 Device Driver Kit (DDK) for Windows NT 4.0

This article was previously published under Q208173
Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry

SYMPTOMS

When the LargeLuns registry value is enabled for a SCSI adapter and the device supports the SCSI Report LUNs command, LUN 0 may incorrectly be reported multiple times.

For example, if Bus 0, Target ID (TID) 3, LUN 0 supports Report LUNs, IOCTL_SCSI_GET_INQUIRY_DATA might display information that is similar to the following.
<TABLE>
   <TR>
    <TH>Bus</TH>
    <TH>TID</TH>
    <TH>LUN</TH>
    <TH>Claimed</TH>
    <TH>Inquiry String</TH>
    <TH>Unique or Duplicate</TH>
   </TR>
   <TR>
    <TD>0</TD>
    <TD>3</TD>
    <TD>0</TD>
    <TD>Y</TD>
    <TD>SEAGATE ST12550N</TD>
    <TD>Unique</TD>
   </TR>
   <TR>
    <TD>0</TD>
    <TD>3</TD>
    <TD>0</TD>
    <TD>Y</TD>
    <TD>SEAGATE ST12550N</TD>
    <TD>Duplicate</TD>
   </TR>
   <TR>
    <TD>0</TD>
    <TD>3</TD>
    <TD>3</TD>
    <TD>Y</TD>
    <TD>SEAGATE ST12550N</TD>
    <TD>Unique</TD>
   </TR>
</TABLE>

CAUSE

The problem is caused by the way ScsiPort.sys parses the returned Report LUNs data. The driver incorrectly saves multiple structures representing LUN 0 internally. This information is passed to the SCSI class drivers or applications through IOCTL_SCSI_GET_INQUIRY_DATA.

RESOLUTION

SCSI class drivers can be coded so they do not try to claim a device with a specific bus, target ID (TID), and logical unit number (LUN) more than one time. Duplicate entries returned by IOCTL_SCSI_GET_INQUIRY_DATA can be ignored.

Service pack information

To resolve this problem, obtain the latest service pack for Windows NT 4.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

152734 How to obtain the latest Windows NT 4.0 service pack

Software update information

For information about how to obtain the individual software update, contact Microsoft Product Support Services. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Windows NT 4.0 Service Pack 5.

MORE INFORMATION

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

With Windows NT 4.0 Service Pack 4, a new registry entry was added to support more than 8 logical unit numbers (LUNs). With this registry setting, up to 255 LUNs are supported. To enable this feature, the following registry value must be added to the system:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Driver_Service_Key>\Parameters\Device[Number]\

LargeLuns: REG_DWORD: 0x1

Note <Driver_Service_Key> is the SCSI driver name and [Number] is the SCSI adapter number. For example, the number is 0 for the first adapter and 1 for the second adapter that is controlled by this specific driver.

If [Number] is not specified, this registry value will apply to all the adapters described by the <Driver_Service_Key>. To disable Large LUN support, either delete the LargeLun registry value or change the value to 0.

Modification Type:MajorLast Reviewed:2/2/2006
Keywords:kbHotfixServer kbQFE kbBug kbfix kbStorageDev KB208173