Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Retrieving S.M.A.R.T. data from USB hard drives

40 views
Skip to first unread message

Franc Zabkar

unread,
Mar 11, 2009, 3:03:04 PM3/11/09
to
External USB HD enclosures have a USB-to-SATA/PATA IDE bridge chip
that passes ATA/ATAPI commands to the enclosed hard drive. In my case
the chip is a JMicron JM20337. Unfortunately there is no standard way
of passing SMART commands via USB. However, some chips have vendor
specific ATA pass-through commands and these are listed here:

http://smartmontools.wiki.sourceforge.net/overview_USB-Support
http://www.hdsentinel.com/usbharddisks.php

Compiled Windows versions of smartmontools are here:
http://smartmontools-win32.dyndns.org/smartmontools/

According to Christian Franke ...

"Access to USB devices requires OS support to send SCSI commands
through USB. The only SCSI pass through support available on 9x/ME is
the old ASPI layer. The pseudo-device names used by smartctl to access
ASPI are 'scsi[0-9][0-f]'".

Eventually I found that the following command worked, but only after
editing the registry:

smartctl -a -d usbjmicron scsi10

I couldn't use scsi00 or scsi01 as these were assigned to my two
optical drives (DVD-ROM and DVD writer).

Instead I modified the following registry key by changing SCSILUN from
0 to 1. For some reason Win98 chose a non-unique SCSILUN and
SCSITargetID (0,0) for my external USB drive. This registry
modification did not persist after disconnecting and reconnecting the
USB HDD -- the original 0,0 values returned. BTW I don't have any real
SCSI devices or adapters.

[HKEY_LOCAL_MACHINE\Enum\SCSI\ST332062________5QF53Q22E\USBSTOR&JMDISK&0000USB&VID_152D&PID_2338&222251F5312200]
"Capabilities"=hex:14,00,00,00
"SCSITargetID"="0"
"SCSILUN"="1"
"RevisionLevel"="E "
"ProductId"=" 5QF53Q22"
"Manufacturer"="ST332062"
"DeviceType"=hex:00
"Int13"=hex:01
"PModeInt13"=hex:01
"CurrentDriveLetterAssignment"="HI"
"HardwareID"="ST332062________5QF53Q22E,GenDisk,SCSI\\ST332062________5QF53Q22E"
"Class"="DiskDrive"
"ClassGUID"="{4d36e967-e325-11ce-bfc1-08002be10318}"
"Driver"="DiskDrive\\0017"
"Mfg"="(Standard disk drives)"
"DeviceDesc"="ST332062 5QF53Q22"
"ConfigFlags"=hex:00,00,00,00

Here are the relevant data for my Athlon XP machine using a JMicron
driver under Windows 98SE:

http://www.users.on.net/~fzabkar/Smartctl/reg_usbstor.txt
http://www.users.on.net/~fzabkar/Smartctl/reg_usb.txt
http://www.users.on.net/~fzabkar/Smartctl/reg_scsi.txt
http://www.users.on.net/~fzabkar/Smartctl/reg_mod.txt
http://www.users.on.net/~fzabkar/Smartctl/jmicron.log

This is the debug log file for my AMD K6-2 Win98SE box using a generic
Microsoft NUSB mass storage driver:

smartctl -a -r ioctl,2 -d usbjmicron scsi10

http://www.users.on.net/~fzabkar/Smartctl/320GB_all.log

BTW, HD Sentinel 2.81 Standard version does not see my external
physical USB HD, even after the registry hack. It does see the logical
volumes, though.

- Franc Zabkar
--
Please remove one 'i' from my address when replying by email.

0 new messages