Sunday, November 22, 2015

Windows: Event ID 153: The IO operation at logical block address {block_address} for Disk 0 (PDO name: {device name/number}) was retried.

If you see an event logged with information similar to the following, you may or may not have a failing disk. I could be a bad driver, cable, or port on the motherboard or add-in card.  You may see sluggishness on access a drive or as I did Steam was having issues writing to a disk and was writing a about 900k instead of multiple megabytes as  expected.
The IO operation at logical block address 0x5d7a68 for Disk 0 (PDO name: \Device\00000032) was retried.

You can determine what command failed and the basic reason why from the Details tab on the event record. This applies to Windows 7 and newer. It may apply to Windows Vista and Windows XP as well. I did not have resources to verify.

At the time of writing, Windows 10 is current and the information below if from Windows 10 with the November 2015 update..

To get to the event viewer, right click on My Computer, Computer, This Computer, or This PC and select Manage. There are other ways of getting to the same location. I find this method easiest.






Under Computer Management, expand Windows Logs and select System.

 
Select a 153 event and then click on the Details tab. Note the disk number on the General tab as you will need it to find which disk is having the issue.

Refer to the graphic above. Make sure the Friendly View radio button is selected. In the In Bytes section, the second byte of line 0028: contains the SCSI command status, SRB status, and SCSI command code. SCSI command status indicates whether the command finished successfully from the drive or device driver perspective whether immediately or with retries. SRB status is the status of the request block used to track and initiate the command. The SCSI command code is the particular disk operation involved as a SCSI command. Even though in most cases the Storport or similar driver is in use (Microsoft provided), SCSI is used for the commands.

In the example above, the SCSI command status is 00 indicating the command did finally complete although it took at least one retry and thus the reason the event was logged. The SRB status of 04 indicates the request completed with any other error than standard errors, and SCSI command code of 8A is a WRITE(16).

  • SCSI command status codes can be found on Wikipedia:

    https://en.wikipedia.org/wiki/SCSI_Status_Code

    and the T10 documentation:

    http://www.t10.org/lists/2status.htm
  • SRB status codes can be found on MSDN:

    https://msdn.microsoft.com/en-us/library/dn721875.aspx?f=255&MSPPError=-2147217396
  • SCSI Operation Codes are found in the T10 documentation:

    http://www.t10.org/lists/op-alph.htm


What this means is a write of 16 bytes was sent to the drive and an OS provided driver timed out the command at least once but it finally completed with an error that is not known. The 04 status may indicate it could not determine if the command really completed even though the SCSI command status is good.

In this case, I was getting a lot of them on a Western Digital Green drive where Steam was installed (to isolate my games from the rest of the system storage). Many IO operation errors occurred at various logical blocks on Disk 0. To determine which drive, click on Disk Management in the Manage window and find the disk noted in the Event ID 153. In this case it was my Steam drive.

I have a good image backup so I restored to another drive and verified Steam works properly there. Every download in Steam or Steam disk write generates an event.

I formatted the drive and did a complete surface scan. No errors found but any programs or applications attempting writes trigger the event. New firmware is not available for the drive and I have another like it running the same version of drivers. Time to replace the drive.

Tuesday, November 10, 2015

[UPDATE] PC Software: Steam: DISK WRITE ERROR on Windows 10

Are you getting a disk write error on some Steam games on install or unlock on Windows 10? There is a simple fix for this if other games install without issue.

NOTE: This may or may not apply to earlier Windows versions (Vista, 7, 8, 8.1). I've only seen this on Windows 10.
  1. Close Steam entirely (make sure it is not running).
  2. Open File Explorer and go to the steamapps common directory. The default location is:
    c:\Program Files(x86)\Steam\steamapps\common
  3. Look for files that are 0 KB in size and delete them:

    File listing screen shot
    0 KB file listing in steamapps common folder

  4. Restart steam and try installing or running the game again.
So far this has fixed the issue on my PC.

[UPDATE]

Found two more potential issues.
  1. Corrupt files in the downloading directory

    1. Shut down steam.
    2. Go to your steam installation directory then steamapps in file explorer.
    3. Look for a directory named downloading.
    4. Delete it.
    5. Start steam and retry.


  2. Read only permissions

    1. Shut own steam.
    2. Used file explorer to go the the steam installation directory.
    3. Right click and select Properties.
    4. Uncheck the Read-only option.
    5. Click Apply and allow it to change permissions on all sub-folders and files.

I ran into both new issues after installing the November 2015 Windows 10 update (version 1511). Several games were stuck updating with disk write errors in steam. After fixing permissions and deleting the downloading directory, updates started working again.

Thursday, November 5, 2015

PC Software: Fences move between monitors on SLI or Crossfire changes with multiple monitors

Has this happened to you? A new GPU driver is released, you download it, and install. Then, your Stardock Fences move between monitors. Usually this happens with Fences not created or placed on the primary monitor (monitor number 1).

When SLI or Crossfire (more so with SLI than Crossfire) changes state (i.e. from on to off during driver installation), the monitor resolutions and numbers change temporarily. This may cause Fences, if configured to do so, to move the Fences and resize them to the primary monitor. Occasionally I have seen them move to other than the primary monitor and almost always happens when installing a new driver but not disabling multi-GPU support first. There is an easy work around for this however it disables the auto-layout on resolution changes.
  1. Right click on the desktop or a Fence and select Configure Fences.

  2. Select the Layout and snapping link on the left under Features.
  3. In the Layout auto-adjustments section under On screen resolution changes... select the Don't preserve my desktop layout radio button.
  4. Click the close icon on the title bar to save and exit.

 I've found through experimentation that when SLI mode changes from on to off when installing a new driver or by manually performing the change, the other settings do not work as expected. Your mileage may vary. It could be an issue with my particular set of OS, drivers, hardware, and so on.