Masalah ini biasanya disebabkan oleh implementasi jembatan USB-SATA dan harus terlihat hanya dengan penutup disk yang terhubung USB.
Dalam hal disk USB eksternal, sistem perlu berbicara dengan drive SATA di dalam enklosur menggunakan protokol UAS (USB Attached SCSI) melalui SAT (Terjemahan SCSI / ATA) untuk mengirim perintah ATA melalui SCSI melalui USB. Alasan mengapa hal ini sangat kompleks adalah karena alasan historis.
Di suatu tempat di rantai USB → UAS → SCSI → SAT → SATA beberapa perangkat keras memiliki implementasi yang salah. Biasanya semua ini dilakukan oleh microchip tunggal di dalam kandang yang disebut jembatan USB-SATA dan beberapa varian terkenal adalah ASM1051, ASM1053 dan ASM1153. Dari jumlah tersebut, ASM1051 diketahui bermasalah dan UAS harus dihindari dengan perangkat keras apa pun yang mengandung chip ini. ASM1053 dan ASM1153 mungkin atau mungkin tidak bekerja tergantung pada firmware aktual di dalam chip (pabrikan diizinkan untuk menyesuaikan firmware, implementasi referensi tidak berfungsi dengan benar). Misalnya, banyak penutup yang dibuat oleh Seagate menggunakan ASM1153 dengan firmware khusus dan memiliki masalah dengan beberapa perintah ATA bahkan jika chip yang sama tidak bekerja dengan benar dengan firmware referensi. (Misalnya, beberapa penutup oleh Seagate berfungsi selama OS tidak pernah mengirim perintah 12 atau 16 bit. Linuxusb_storage
mendukung quirk t
untuk tujuan ini.) Pengguna akhir biasanya tidak dapat mengganti firmware, jadi jika Anda memiliki chip / firmware yang buruk, satu-satunya pilihan Anda adalah mengeluh kepada pabrikan. Dalam hal Seagate, mereka "memperbaiki" masalah dengan menyatakan bahwa mereka secara resmi hanya mendukung Windows dan OS X. Seagate saat ini secara resmi bekerja dengan komunitas Linux, jadi mungkin produk mereka akan benar-benar berfungsi di masa depan.
Satu-satunya cara nyata untuk mengetahui chip jembatan adalah dengan membongkar penutup dan memeriksa tanda-tanda di microchip yang sebenarnya.
Mutakhirkan: "Seagate Backup Plus Hub" enklosur telah berfungsi dengan benar jembatan USB-SATA dan UAS berfungsi dengan benar (Perhatikan bahwa ini adalah produk yang berbeda dari "Seagate Backup Plus"!) Namun, karena riwayat buruk oleh lampiran Seagate, kernel Linux menerapkan quirk t
secara default yang mencegah enklosur ini dari menggunakan semua fitur SATA. Anda dapat mengaktifkan dukungan SATA penuh termasuk fitur SMART dengan perintah berikut:
echo "0bc2:ab38:" > /sys/module/usb_storage/parameters/quirks
Perhatikan tanda titik dua dan setelah itu tidak ada - itu menonaktifkan semua kebiasaan bawaan untuk vendor yang dipilih: produk. Periksa vendor dan id produk Anda lsusb
jika perlu.
Jika perangkat Anda cukup bermasalah, Anda mungkin perlu menonaktifkan dukungan UAS sepenuhnya. Ini bisa dilakukan dengan u
quirk. Misalnya, jika saya ingin menonaktifkan dukungan UAS di Seagate Backup Plus Hub, saya akan menjalankan yang berikut sebagai root:
echo "0bc2:ab38:u" > /sys/module/usb_storage/parameters/quirks
Setelah itu, disk eksternal hanya akan menggunakan fitur perangkat penyimpanan USB yang lebih lambat tetapi biasanya berfungsi dan semuanya berjalan dengan lambat ... Jika Anda hanya perlu mentransfer beberapa file besar perbedaannya tidak terlalu buruk. Jika Anda memiliki banyak file kecil, perbedaan antara memiliki dukungan UAS yang berfungsi mungkin lebih dari 10x perbedaan kecepatan.