There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

Recover USB flash drive from "Sense Key : Not Ready [current]" and "Add. Sense: Medium not present"

Dear Linux-Wizards,

I have some USB flash drive that outputs the following errors, when i plug it in:


<span style="color:#323232;">VGscsi 6:0:0:0: Direct-Access     SMI01    USB DISK01       1100 PQ: 0 ANSI: 6
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] 491520000 512-byte logical blocks: (252 GB/234 GiB)
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] Write Protect is off
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] Mode Sense: 43 00 00 00
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 Sense Key : Not Ready [current] 
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 Add. Sense: Medium not present
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
</span><span style="color:#323232;">VGI/O error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
</span><span style="color:#323232;">VGBuffer I/O error on dev sdc, logical block 0, async page read
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 Sense Key : Not Ready [current] 
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 Add. Sense: Medium not present
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
</span><span style="color:#323232;">VGI/O error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
</span><span style="color:#323232;">VGBuffer I/O error on dev sdc, logical block 0, async page read
</span><span style="color:#323232;">VGldm_validate_partition_table(): Disk read failed.
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 Sense Key : Not Ready [current] 
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 Add. Sense: Medium not present
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
</span><span style="color:#323232;">VGI/O error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
</span><span style="color:#323232;">VGBuffer I/O error on dev sdc, logical block 0, async page read
</span><span style="color:#323232;">VG sdc: unable to read partition table
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] Attached SCSI removable disk
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 Sense Key : Not Ready [current] 
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 Add. Sense: Medium not present
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 1d 4b ff 80 00 00 08 00
</span><span style="color:#323232;">VGI/O error, dev sdc, sector 491519872 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 Sense Key : Not Ready [current] 
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 Add. Sense: Medium not present
</span><span style="color:#323232;">VGsd 6:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 1d 4b ff 80 00 00 08 00
</span><span style="color:#323232;">VGI/O error, dev sdc, sector 491519872 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
</span><span style="color:#323232;">VGBuffer I/O error on dev sdc, logical block 61439984, async page read
</span>

lsblk output looks okayish, disk size is reported correctly.


<span style="color:#323232;">sdc      8:32   1 234,4G  0 disk
</span>

When i first noticed, i hoped maybe only the first Sectors are broken, but now i’m trying with ddrescue and ddrescue -d and see the similar messages:


<span style="color:#323232;">I/O error, dev sdc, sector 237172352 op 0x0:(READ) flags 0x800 phys_seg 15 prio class 2
</span><span style="color:#323232;">sd 6:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
</span><span style="color:#323232;">sd 6:0:0:0: [sdc] tag#0 Sense Key : Not Ready [current] 
</span><span style="color:#323232;">sd 6:0:0:0: [sdc] tag#0 Add. Sense: Medium not present
</span><span style="color:#323232;">sd 6:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 0e 22 f7 00 00 00 80 00
</span>

It’s a USB-3 flash drive, so i also tried an USB-2 port hoping that maybe its some connection thing, but it did not help, I see the same error messages.

Normally USB flash drives warm a bit when reading/writing data, this one ist still cold after 25 minutes of ddrecue

Is there anything else i can do?

Backstory is: I was helping someone with their Windows PC and unplugged the stick without ejecting it, then Windows complained and i pressed to “scan and repair drive” which took a while. At 80% a error message appeared similar to: “insert medium into drive” When clicking OK the message reappeared after one or two seconds. It only stopped after unplugging the flash drive.

The user already said something about folders appearing at wrong locations at the drive, so i hope i did not kill the drive but it was already dying. But still feeling bad about this, so i want to try everything and even reach out to you :-)

possiblylinux127 ,

“It’s dead Jim”

The errors are probably the crappy firmware trying to deal with a broken device. It is probably toast

7EP6vuI OP ,

thanks for your answer. that’s what i feared, but its good to be sure!

rotopenguin ,
@rotopenguin@infosec.pub avatar

You cut off the enumeration bit, but SMI01 USB DISK01 doesn’t look like any brand I recognize. Flash sticks are cheap and pretty amazing, but one thing they are not is “terribly reliable”. Better luck with the next stick, I mildly recommend making it a Samsung or Sandisk.

7EP6vuI OP ,

thanks for your comment and recommendation.

Max_P ,
@Max_P@lemmy.max-p.me avatar

The user already said something about folders appearing at wrong locations at the drive, so i hope i did not kill the drive but it was already dying.

A lot has to go right for files to end up in the wrong folder. Did it also have garbled names and corrupted files? Because corruption don’t just move the files random places, there’s a whole index that needs to be updated correctly for a file to appear in a directory.

That drive sure looks dead though, looks like the controller gets confused and thinks the flash storage is gone. The Windows repair is like an fsck on Linux which would read a lot of the disk to validate it, and that extra strain definitely could have finished it off.

rotopenguin ,
@rotopenguin@infosec.pub avatar

JNot sure if the flash is “gone”, the drive does still believe it has 256GB. I have seen drives die to where they completely forget their identity and are now “Phison controller with 32KB storage”. All they have left is either some absurd concept of falling back to using the controller’s on-die EEPROM, or they’re telling you they have the smallest possible CHS size that isn’t 0 just as a courtesy.

But yeah, the drive does look too mentally broken to continue.

Max_P ,
@Max_P@lemmy.max-p.me avatar

The controller would still know what size should be there because the EEPROM is still fine, but the NAND isn’t. I think that’s what the no media errors would mean, as I’ve seen it plenty with external enclosure where the drive itself was completely dead but the controller still was working fine. I imagine flash controllers report the condition similarly at the protocol level.

Regular flash failures I’ve always seen as corrupted data or IO errors on it, which it also throws plenty of.

7EP6vuI OP ,

thanks for the insight, much appreciated!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines