BUG: Duplicate LUN 0 When LargeLuns Registry Key Enabled |
Q208173
The information in this article applies to:
- Microsoft Win32 Device Driver Kit (DDK) for Windows NT, version 4.0
IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.
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 similar to this:
Bus | TID | LUN | Claimed | Inquiry String | Unique or Duplicate |
---|---|---|---|---|---|
0 | 3 | 0 | Y | SEAGATE ST12550N | Unique |
0 | 3 | 0 | Y | SEAGATE ST12550N | Duplicate |
0 | 3 | 3 | Y | SEAGATE ST12550N | Unique |
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, and this information is passed to the SCSI class drivers or applications via 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.
To resolve this problem, obtain the latest service pack for Windows NT 4.0 or the individual software update. For information on obtaining the latest service pack, please go to:
- http://www.microsoft.com/Windows/ServicePacks/
- Q152734 How to Obtain the Latest Windows NT 4.0 Service Pack
For information on obtaining the individual software update, contact Microsoft Product Support Services. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web:
STATUS
Microsoft has confirmed this to be a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows NT version 4.0 Service Pack 5.
MORE INFORMATION
WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.
For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT or Windows 2000, you should also update your Emergency Repair Disk (ERD).
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
where Driver_Service_Key is the SCSI driver name and [Number] is the SCSI adapter number (0 for the first adapter, 1 for the second adapter, and so on) 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 (zero).
Additional query words:
Keywords : kbDDK kbOSWinNT400bug kbStorageDev kbWinNT400sp5fix
Issue type : kbbug
Technology : kbAudDeveloper kbWinDDKSearch kbWin32sSearch kbWin32DDKSearch kbWin32DDKNT400 kbWin32DDKNTSearch
Last Reviewed: February 24, 2001 |