smartctl на внешнем жестком диске внутри корпуса ide-to-usb

34

У меня есть очень старый 2,5 "IDE-накопитель внутри корпуса USB, который выдает ошибку буфера ввода-вывода. Я пытался использовать, smartctlчтобы увидеть, что SMART говорит об этом, но мне не удается заставить его работать. Будучи root, если я просто записывать:

#> smartctl --all /dev/sde

smartctl ответы:

/dev/sde: Unknown USB bridge [0x14cd:0x6600 (0x201)]
Smartctl: please specify device type with the -d option.

Итак, я перепробовал все -d TYPEдоступные в сводке справки, и лучший результат достигается с:

#> smartctl --all -d scsi /dev/sde

что выводит:

Vendor:               IC25N030
Product:              ATMR04-0
User Capacity:        30,005,821,440 bytes [30,0 GB]
Logical block size:   512 bytes
scsiModePageOffset: response length too short, resp_len=4 offset=4 bd_len=0
>> Terminate command early due to bad response to IEC mode page
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

Если я также добавлю, -T permissiveпоследняя строка заменяется на:

Error Counter logging not supported
Device does not support Self Test logging

Кажется , что только несколько моделей USB корпусов являются официально поддерживаются на smartmontools. Я что-то упускаю или просто устройство реализует архаичную версию SMART без каких-либо счетчиков (и, следовательно, почти бесполезную)?

Avio
источник
6
Для тех, кто прибывает из Google: проверьте -dпараметры -d sat, а также посмотрите список поддерживаемых устройств . Довольно много USB-адаптеров будут работать с SMART.
Заз

Ответы:

38

Существует независимый от поставщика стандарт SAT (передача SCSI / ATA), но AFAIK это не широко поддерживается на (более дешевых) мостах.

Существует несколько специальных команд АТА, которые вы можете выбрать с smartctlпомощью -dопции:

-d TYPE, --device=TYPE
    Specify device type to one of: ata, scsi, sat[,N][+TYPE], 
    usbcypress[,X], usbjmicron[,x][,N], usbsunplus, marvell, 
    areca,N, 3ware,N, hpt,L/M/N, megaraid,N, cciss,N, auto, test

где -d satдля SAT-совместимых устройств.

В разделе «Поддержка устройств USB» перечислены устройства и параметры их командной строки, поэтому, если вы получите контроллер USB с одним из устройств, перечисленных там как поддерживаемые, у вас будет больше шансов заставить работать вещи.

Timo
источник
3
Это решает мой вопрос (см. ОБНОВЛЕНИЕ 1 до ОП). Кажется, что даже дешевые мосты, такие как моя, поддерживают SAT. Благодарность!
Landroni
1
Да, использование «sudo smartctl -d sat -a / dev / sdb» работает на моем USB-корпусе, и есть другие предложения на официальной вики - sourceforge.net/apps/trac/smartmontools/wiki/USB
valentt
1
sudo smartctl -i -d sat /dev/sdfиспытано и одобрено с корпусом JBOD: коробка для льда IB-3640SU3 .
ibizaman
Теперь он находится по адресу: smartmontools.org/wiki/Supported_USB-Devices
landroni
8

SMART через USB, как правило, либо невозможен, либо выполняется с помощью (моста) специфичных для поставщика команд, поэтому единого способа добиться цели не существует. smartctlзнает о нескольких конкретных чипах моста. Проверьте man-страницу для списка.

Это ужасно, но единственный 100% надежный способ получить доступ к SMART на диске - это отсоединить его от моста и подключить к соответствующему хост-адаптеру (например, встроенному контроллеру SATA или порту eSATA).

С современной абстракцией ОС так легко забыть, насколько эти шины хранения отличаются друг от друга.

Алексиос
источник
2
Официальная документация с вами не согласна - sourceforge.net/apps/trac/smartmontools/wiki/USB
valentt
Неправильно. Я получил это работает, используя этот ответ .
Том Хейл
6

Там нет подходящего значения -d.

Проблема в том, что вы используете мост SATA↔USB для запоминающих устройств, а запоминающее устройство USB не имеет стандартного способа запроса данных ATA / SATA SMART. Таким образом, вместо этого у контроллера нет ни способа, ни какого-либо конкретного поставщика для получения данных. smartctlзнает несколько из них; примеры включают usbjmicronи usbsubplus.

Таким образом, если ваш USB-мост не является одним из тех, о которых он знает (и не использует точно такие же команды, специфичные для поставщика), smartctlпросто не можете прочитать данные.

derobert
источник
Любопытно. Тогда какой внешний корпус (или другое решение) я мог бы использовать для чтения данных SMART? Я не могу просто подключить диск Mac OS X к своему ноутбуку HP. И у меня нет места для 2,5 "диска в моем настольном компьютере.
Landroni
3
@landroni Вы можете использовать адаптер от 2,5 до 3,5 дюймов, чтобы установить его на свой настольный компьютер. Или, если на вашем компьютере есть eSATA, используйте его (с корпусом eSATA + адаптером). Или вы можете найти корпус, в котором используется один из USB-чипов, поддерживаемых smartctl. AFAIK, нет лучших ответов :-( ... но не
стесняйся
Благодарность! Очень полезный. Я буду ждать дальнейшего ввода, прежде чем принять ваш ответ, но это уже ставит меня на правильный путь (в частности, переходник с 2,5 "на 3,5").
Ландрони
1

Ваше аппаратное обеспечение " VID: 14CD, PID: 6600 Moai M110E / Super Top USB 2.0 для IDE " не способно выполнять USB-передачу через команды ATA, которые разрешают SMART-диск, например, smartctl (или по этой ссылке hdsentinel, http : //www.hdsentinel.com/compatibility_usbharddisks.php, где приведен список совместимого и неработоспособного оборудования).

«Невозможно означает, что в чипе отсутствует требуемая функция, поэтому дальнейшая информация о диске, контролируемом этим чипом, не отображается». (там же)

pbhj
источник