Tidak dapat melakukan data SMART dan Self-Test pada hard drive eksternal

13

Saat ini drive eksternal saya tidak memiliki kesalahan tetapi saya hanya ingin memeriksa secara manual untuk memastikan.
Seperti yang terlihat dari gambar di bawah ini, opsi untuk data SMART dan Self-Test diklik. Lihat juga detail tentang hard drive dalam gambar itu sendiri.

  1. Saya mencoba menjalankan gksu gnome-diskstetapi masih opsi abu-abu.
  2. Aku berlari, sudo smartctl --all /dev/sdb --test=short -T permissiveaku mendapat kesalahan ini:

smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.19.0-15-generic] (versi lokal) Hak cipta (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

Baca Device Identity gagal: bidang scsi error bidang tidak didukung dalam perintah scsi

=== MULAI BAGIAN INFORMASI ===

Model Perangkat: [Tidak Ada Informasi Yang Ditemukan]

Nomor Seri: [Tidak Ada Informasi Yang Ditemukan]

Versi Firmware: [Tidak Ada Informasi Yang Ditemukan]

Perangkat adalah: Tidak ada dalam database smartctl [untuk rincian gunakan: -P showall]

Versi ATA adalah: [Tidak Ada Informasi Ditemukan]

Waktu Setempat adalah: Rabu 17 Juni 11:33:46 IST

Dukungan SMART adalah: Ambigu - ATA IDENTIFY DEVICE kata 82-83 tidak muncul jika SMART didukung.

Dukungan SMART adalah: Ambigu - ATA IDENTIFY DEVICE kata 85-87 tidak muncul jika SMART diaktifkan.

Perintah SMART wajib gagal: keluar. Untuk melanjutkan, tambahkan satu atau lebih opsi '-T permisif'.

masukkan deskripsi gambar di sini

Edward Torvalds
sumber
Masalah yang sama disini. Saya dapat menambahkan bahwa ini terjadi di Ubuntu 14.04 , tetapi TIDAK di Ubuntu 12.04 di mana SMART dibaca dengan benar oleh GUI dan baris perintah. Ada ide?
Alvaro Gutierrez Perez
1
Temukan solusinya, lihat jawaban saya
Alvaro Gutierrez Perez

Jawaban:

13

Saya memiliki masalah yang sama. Dalam kasus saya, SMART telah bekerja dengan baik pada perangkat selama bertahun-tahun saat menggunakan Ubuntu 12,04 , dan kemudian di bawah Ubuntu 14,04 terjadi persis apa yang Anda katakan dalam pertanyaan.

Masalahnya terkait dengan modul kernel baru yang diperkenalkan di Linux Kernel 3.15 disebut uas(USB Attached SCSI ) (lihat pengumuman rilis ).

Modul itu sekarang bertanggung jawab untuk mengelola Perangkat Penyimpanan Massal USB. Ada thread di mana orang mengeluh bahwa uasdi kernel 3.15 menyebabkan perangkat USB mereka gagal. Yang lain mengatakan bahwa itu mungkin menjadi penyebab masalah SMART.

Untungnya, masalah-masalah itu tampaknya hilang pada kernel 3.19 (yang saya gunakan), karena perangkat saya terdeteksi dengan benar. Hanya masalah SMART yang tersisa.

Untuk memperbaikinya, Anda perlu menonaktifkan penggunaan uasmodul untuk perangkat yang diberikan.

Nonaktifkan uastanpa me-reboot

Pertama, cabut semua perangkat USB yang mungkin menggunakannya. Kemudian, lepaskan uasdan usb-storagemodul:

sudo modprobe -r uas
sudo modprobe -r usb-storage

Kemudian, muat usb-storagemodul dengan parameter yang memberitahukannya agar tidak digunakan uasuntuk perangkat yang diberikan:

sudo modprobe usb-storage quirks=VendorId:ProductId:u

VendorIddan ProductIdharus diganti oleh vendor perangkat dan id produk Anda, yang dapat diperoleh dengan lsusbperintah (mereka adalah karakter setelahnya ID).

Sebagai contoh, saya memiliki perangkat berikut:

Bus 002 Device 011: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]

Jadi id vendor saya adalah 0bc2, dan id produk saya adalah 3320. Perintah saya adalah:

sudo modprobe usb-storage quirks=0bc2:3320:u

Yang terakhir umemberitahu usb-storageuntuk mengabaikan uasperangkat (lihat sumber ).

Pada titik ini, Anda dapat memasukkan perangkat USB, dan ia akan tahu untuk tidak menggunakannya uas, membuat SMART berfungsi dengan baik. Anda akan melihat garis-garis seperti ini di dmesgsaat memasukkan perangkat USB:

usb 2-2: UAS is blacklisted for this device, using usb-storage instead
usb-storage 2-2:1.0: USB Mass Storage device detected
usb-storage 2-2:1.0: Quirks match for vid 0bc2 pid 3320: 800000
scsi host12: usb-storage 2-2:1.0

Jadikan perubahan itu permanen

Kesalahan sebelumnya hanya akan berlangsung sampai Anda me-reboot sistem. Untuk membuatnya terus-menerus, Anda harus mengikuti langkah-langkah yang dijelaskan di sini , yang saya salin di bawah ini:

Pertama, buat file bernama ignore_uas.confdi /etc/modprobe.d/direktori dengan konten berikut:

options usb-storage quirks=VendorId:ProductId:u

Seperti sebelumnya, gantikan VendorIddan ProductIdoleh vendor perangkat Anda dan id produk yang diperoleh lsusb.

Selanjutnya, buat ulang ramdisk inital Anda:

mkinitcpio -p linux

atau, pada versi Ubuntu yang lebih baru:

sudo update-initramfs -u

Terakhir, reboot komputer Anda.


Sunting: Lebih banyak latar belakang mengenai masalah ini, dan cara lain untuk mengatasinya tanpa menonaktifkan uas (yang memiliki throughput lebih baik daripada penyimpanan usb) dapat ditemukan di sini: https://www.smartmontools.org/ticket/971#comment:12

Tampaknya kernel masuk daftar hitam SAT ATA PASS-THROUGHpada beberapa perangkat ketika menjalankan dalam mode uas, karena mereka telah merusak firmware.

Jadi, daftar hitam dapat dinonaktifkan (dengan risiko Anda sendiri) dengan menggunakan metode sebelumnya yang saya sebutkan dalam jawaban, tetapi menghapus final udari kekhasan, yaitu:

quirks=VendorId:ProductId:

Harap dicatat, bahwa saya belum menguji pendekatan ini.

Alvaro Gutierrez Perez
sumber
Saya menggunakan Ubuntu 15.10 dengan kernel Linux 4.2, saya melakukan apa yang Anda katakan, tapi saya tidak bekerja untuk saya
Edward Torvalds
@ edwardtorvalds apakah itu GUI yang tidak berfungsi, atau juga smartctl? Dalam kasus saya, GUI tetap berwarna abu-abu (saya belum me-reboot), tetapi smartctlberfungsi.
Alvaro Gutierrez Perez
2
Tidak ada mkinitcpio di 16.04. Bukankah itu "sudo update-initramfs -u" bukan sekarang?
filofel
1
Jawaban bagus! Saya dapat mengakses drive USB Seagate saya dan mendapatkan semua data smartctl darinya. Saya sudah mencoba edit Anda di sana dengan penghapusan udan yang sayangnya tergantung drive sehingga saya tidak bisa mendapatkan data SMART dan waktu boot lambat. Namun, saya menambahkan kembali udan berfungsi dengan sempurna.
Terrance
1
Untuk lebih dari satu, sepertinya:quirks=0bc2:ab24:u,0bc2:ac30:u
Tom Hale
6

Drive eksternal (via USB, saya anggap) rumit dengan SMART. Beberapa tidak berfungsi sama sekali. Orang- smartmontoolsorang memposting daftar hard drive dengan sakelar baris perintah untuk ditambahkansmartctl (lihat kolom kelima).


Khusus untuk drive Ekspansi Seagate, sepertinya Anda memerlukan salah satu -d satatau -d sat,12. Coba yang berikut ini:

sudo smartctl -d sat --all /dev/sdb
sudo smartctl -d sat,12 --all /dev/sdb

Jika salah satu dari itu berfungsi, ini memberitahu Anda yang -dberalih untuk menambahkan smartctlperintah Anda .

Olathe
sumber
keduanya memberi saya tautan
Edward Torvalds
nama hdd eksternal adalah: Seagate Expansion External. tampaknya didukung tetapi masih opsi memberikan kesalahan
Edward Torvalds
3

Hanya pembaruan yang saya tambahkan pada jawaban Alvaro

Baru saja menguji ini di Ubuntu 18.04 untuk drive Seagate eksternal yang saya miliki di mana saya tidak bisa smartctlmembaca drive sama sekali. Itu memang memerlukan reboot karena saya tidak ingin ketinggalan sistem saya dan mengacaukan koneksi USB.

Pertama berlari lsusbdan mendapatkan semua info saya untuk drive:

terrance@terrance-ubuntu:~$ lsusb
Bus 006 Device 002: ID 0bc2:a0a4 Seagate RSS LLC Backup Plus Desktop Drive
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 1532:0118 Razer USA, Ltd 
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 003: ID 046d:c215 Logitech, Inc. Extreme 3D Pro
Bus 003 Device 002: ID 1532:005b Razer USA, Ltd 
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Seperti yang Anda lihat drive saya memiliki nama Seagatedi dalamnya, jadi yang harus saya lakukan adalah menjalankan baris berikut untuk menambahkan info ke /etc/modprode.d/ignore_uas.conffile:

echo options usb-storage quirks=$(lsusb | awk '/Seagate/ {print $6}'):u | sudo tee -a /etc/modprobe.d/ignore_uas.conf

Ingatlah untuk mengganti Seagatedengan nama drive Anda. Sekarang ketika saya melihat /etc/modprode.d/ignore_uas.confsaya melihatnya sebagai:

~$ cat /etc/modprobe.d/ignore_uas.conf 
options usb-storage quirks=0bc2:a0a4:u

Kemudian jalankan saja update-initramfsagar perubahan menjadi permanen:

sudo update-initramfs -u

Kemudian reboot sistem Anda. Sekarang smartctl dapat membaca drive eksternal saya.

$ sudo smartctl -a /dev/sdf
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-43-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.14 (AF)
Device Model:     ST3000DM001-1E6166
Serial Number:    W1F3DNG2
LU WWN Device Id: 5 000c50 06a323610
Firmware Version: SC47
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Fri Jan 11 23:07:43 2019 MST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                    without error or no self-test has ever 
                    been run.
Total time to complete Offline 
data collection:        (  592) seconds.
Offline data collection
capabilities:            (0x73) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   1) minutes.
Extended self-test routine
recommended polling time:    ( 336) minutes.
Conveyance self-test routine
recommended polling time:    (   2) minutes.
SCT capabilities:          (0x3081) SCT Status supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   108   099   006    Pre-fail  Always       -       19766104
  3 Spin_Up_Time            0x0003   094   091   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   097   097   020    Old_age   Always       -       3944
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   052   048   030    Pre-fail  Always       -       231936780154
  9 Power_On_Hours          0x0032   058   058   000    Old_age   Always       -       36793
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   097   097   020    Old_age   Always       -       3942
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   092   000    Old_age   Always       -       894 897 1362
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   056   039   045    Old_age   Always   In_the_past 44 (Min/Max 44/44 #237)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   099   099   000    Old_age   Always       -       3909
193 Load_Cycle_Count        0x0032   020   020   000    Old_age   Always       -       161838
194 Temperature_Celsius     0x0022   044   061   000    Old_age   Always       -       44 (0 13 0 0 0)
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       8558h+07m+38.053s
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       14574986552
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       18776308038

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Semoga ini membantu!

Terrance
sumber
Setelah perubahan ini, drive saya tidak akan dipasang lagi. Mengapa
Philippe Delteil
@ PhilippeDelteil Saya belum pernah mendengar hal itu yang menyebabkan drive tidak dipasang dengan benar. Anda dapat mencoba askubuntu.com/a/952275/231142 untuk mengatur yang lebih permanen jika drive terlihat masuk gnome-disks.
Terrance
3

Saya memiliki dua drive Seagate yang terhubung sehingga saya memodifikasi perintah @Terrance ke:

echo "options usb-storage quirks=$(lsusb | awk '/Seagate/ {print $6":u"}' | tr '\n' ',' | head -c-1)" | sudo tee -a /etc/modprobe.d/ignore_uas.conf

Yang memberikan pemisah yang benar (dan pengulangan flag) untuk banyak elemen:

options usb-storage quirks=0bc2:3320:u,0bc2:2323:u

Substitusi karakter 'baris baru' oleh ',' ini mungkin tidak dibuat dengan cara yang paling elegan (harus menghapus pemisah tambahan menggunakan head), tetapi tampaknya berhasil.

Kemudian:

sudo update-initramfs -u

Dan reboot seperti pada jawaban aslinya.

Bouteille
sumber
Bagus temukan! Saya tidak memikirkan banyak drive pada saat saya menguji drive saya. Saya sangat menyukai ini! +1
Terrance
1

periksa tabel dengan Perangkat USB yang didukung ...

saklar -d satmenunjukkan, bahwa itu seharusnya drive dengan port SATA.

ada saklar khusus untuk jembatan USB tertentu - lsusbmungkin menunjukkan nama konkret. jika pengendali jembatan mungkin memiliki implementasi yang buruk - coba sambungkan itu asli melalui SATA, bukan USB.

SCSI dan ATA (sesuai dengan output shell) mungkin bukan yang Anda cari :)

Martin Zeitler
sumber
Saya menggunakan kabel yang datang dengan hdd ketika saya membelinya. Anda mungkin ingin melihat kesalahan ini: tautan
Edward Torvalds
nama hdd eksternal adalah: Seagate Expansion External. tampaknya didukung tetapi masih opsi memberikan kesalahan
Edward Torvalds
@edwardtorvalds ada dua prasyarat dasar ... memiliki SMART diaktifkan di BIOS / UEFI untuk port (jika ada) dan untuk mengaktifkannya melalui perangkat lunak, sebelum mencoba membacanya ... smartctl -T permissive --smart=on /dev/sdb(sementara log terlihat seperti itu akan berbicara ke port yang salah)
Martin Zeitler
tidak ada opsi boot untuk itu, saya mencoba perintah di atas saya mendapat kesalahan
Edward Torvalds
@edwardtorvalds tampaknya masih mengirimkan perintah SCSI ... bahwa -d sat switch tidak ada smartctl -d sat -T permissive --smart=on /dev/sdb... dan seperti yang saya tulis di atas lsusbharus daftar yang menjembatani itu.
Martin Zeitler