0XC0000173

Fix STATUS_INVALID_BLOCK_LENGTH (0xC0000173) on tape drives

This error hits when your backup software changes tape blocksize mid-operation. Happens mostly with multi-volume backups on old SCSI tape drives. Fix is to reset the blocksize.

When this error shows up

You're running a backup job, maybe with NTBackup or a modern tool like Veeam. The first tape fills up. The software asks you to insert tape 2. You swap tapes, press OK, and then bam — STATUS_INVALID_BLOCK_LENGTH (0xC0000173). The job dies. Or it happens on restore: you load the first tape fine, but when you load the second, the drive refuses.

What's actually happening here

The tape drive remembers the block size from the previous tape. When you insert a new tape (or a different volume in a set), the drive still expects data in the old block size. The new tape might use a different block size — or the drive just didn't reset. Windows throws 0xC0000173 because the block length in the request doesn't match what the drive has cached.

On older SCSI tape drives (like HP DAT, IBM LTO-1/2/3), this is common. Modern LTO-5+ handle it better, but still can trip up if the backup software doesn't send a proper MODE SENSE command between tapes.

The fix — reset the blocksize

The real fix is to force the drive to re-read the block size from the tape. Skip the GUI tools — they often hide this. Use the command line.

Step 1: Find your tape device path

Open an admin command prompt and run:

wmic tape drive get name, deviceid

Look for something like \\.\TAPE0 or TAPE1. Write that down.

Step 2: Use tapeinfo to check current block size

If you have mt (from Windows Server backup tools or a freeware package) or tapeinfo, run:

tapeinfo -f \\.\TAPE0

Look for "Block size" in the output. If it shows 0 (variable) or some fixed number like 1024, that's your problem.

Step 3: Reset the block size

Tell the drive to use variable block size (most common for backup tapes):

mt -f \\.\TAPE0 setblk 0

The number after setblk is the block size in bytes. 0 means variable — the drive negotiates with the tape. This fixes most cases. For fixed-block tapes (like old QIC drives), you'd put the exact size (e.g., 1024).

Step 4: Verify the change

tapeinfo -f \\.\TAPE0 | findstr Block

Should now show "Block size: 0" (or whatever you set).

Step 5: Retry your backup/restore

Don't close the command window. Start your backup software again and try the operation. If it still fails, go to What to check if it still fails below.

Why step 3 works

The drive stores the block size in its internal state. When you change tapes, the drive doesn't automatically clear that state — it's a design quirk of SCSI tape drives. By setting block size to 0, you force a MODE SELECT command that resets the cache. The next read/write triggers a MODE SENSE, and the drive picks up the correct block size from the tape's media header.

What to check if it still fails

  • Driver: Update the tape device driver. On Windows 10/11 and Server 2016+, old driver stack can cause this. Go to Device Manager, find your tape drive under Tape drives, right-click, Update driver.
  • Firmware: Check the manufacturer's site (HP, IBM, Quantum) for firmware updates. I've seen LTO-4 drives hang on block size after firmware version 1.20 or older.
  • Backup software config: Some apps like Backup Exec have a "Logical Block Size" override. Set it to 0 (auto) or match your tape media.
  • SCSI cable or HBA: Loose termination on an external SCSI chain can corrupt mode page requests. Reseat cables, check termination.
  • Tape itself: Rare, but a damaged tape header can report wrong block size. Try a different tape from the same set.

Pro tip for regular backups

If this keeps happening, add the mt setblk 0 command to your backup script before every tape change. Most backup software has a pre-tape-change script hook. Use it. It's a band-aid, but it works until you replace the drive.

Related Errors in Hardware – Hard Drives
0XC00D1B97 Fix NS_E_NO_MULTIPASS_FOR_LIVEDEVICE (0XC00D1B97) in Windows Invalid Class Name Hard Drive Error: Invalid Class Name — 3 Fixes That Actually Work 0X00000911 Fix 0x00000911 drive error on Dell and HP servers 0XC00D273C NS_E_DRM_GET_LICENSESTRING_ERROR 0xC00D273C: License storage broken

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.