Saya memiliki perangkat lunak baru RAID-1 yang dibangun dengan dua drive USB eksternal WD Elements, dan saya dapat melihat bahwa Linux mengulangi pesan berikut sedikit:
...
[302148.036912] usb 1-3.1: reset high-speed USB device number 19 using ehci_hcd
[302153.052029] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302186.031481] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302217.050210] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302281.043543] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302312.090158] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302351.076851] usb 1-3.1: reset high-speed USB device number 19 using ehci_hcd
...
Jadi, apa isinya? Apakah ini normal? Apakah ini masalah yang harus saya coba perbaiki?
Perbarui
Sebenarnya, pesan-pesan ini bukan untuk drive yang saya pikir. Saya memiliki banyak drive USB lain yang terhubung ke komputer ini melalui hub USB juga. Lagi pula, pertanyaan saya pada dasarnya adalah apa arti pesan ini dalam bahasa Inggris yang sederhana?
Jawaban:
Biarkan aku mencoba.
Secara harfiah pesan mengatakan bahwa Linux USB stack telah mengeluarkan "USB_RESET" ke perangkat khusus Anda (perangkat # 19 dan # 20, apa pun itu). Kesalahan tampaknya terjadi sekali per 10-30 detik. Setelah reset, log harus memiliki pesan enumerasi baru, karena reset USB akan memaksa perangkat yang terhubung ke "keadaan default". Sepertinya verbositas log Anda sangat berkurang.
Menyetel ulang perangkat USB di tengah operasi adalah situasi yang cukup drastis. Controller menggunakan reset "port" ini jika mengalami "kesalahan transaksi". Kesalahan transaksi terjadi ketika tautan tidak menyelesaikan semua fase transaksi USB yang disyaratkan, atau memiliki kesalahan CRC. Pada USB normal, pengontrol EHCI secara otomatis akan mencoba kembali transaksi gagal (tipikal maksimum 3 kali), dan kemudian akan mengatur interupsi XACT_ERROR. Secara statistik, berdasarkan teori kesalahan, jika tautan tidak merespons dengan baik tiga upaya berturut-turut, ada yang salah dengan segmen USB tertentu, sebagian besar elektrik. Jadi kesalahan transaksi dianggap fatal, dan perangkat lunak mencoba memulihkan tautan. Jika pohon-empat upaya untuk memulihkan tautan gagal, tuan rumah menganggap port ini sudah mati, dan berhenti.
Namun di Linux, seseorang telah memutuskan bahwa 3 upaya teoritis tidak cukup, dan perangkat lunak Linux melakukan 32 upaya tambahan (tiga puluh dua), menjadikannya 96 (!!!) total. Jika tautan perangkat keras secara elektrik marjinal, upaya 96 mungkin berhasil dalam 99,99% dari waktu. Pakar perangkat lunak Linux mengklaim bahwa ini membantu meningkatkan operabilitas perangkat / kabel yang dipertanyakan. Intinya, teknik ini menyembunyikan masalah serius dengan koneksi USB khusus ini, yang tidak membantu pengguna dalam jangka panjang.
Masalahnya bisa pada pasokan tegangan marginal (VBUS) ke drive, atau gangguan VBUS, atau degradasi sinyal pada kabel sinyal. Saya akan mencoba kabel bersertifikasi berkualitas tinggi yang sangat pendek terlebih dahulu, dan memeriksa apakah statistik kesalahannya berubah.
sumber
ehci_hcd
modul? Atau mungkinkah untuk memaksaohci_hcd
perangkat tertentu (mis./dev/sda
Ditangani olehehci_hcd
dan "bermasalah"/dev/sdb
ditangani olehohci_hcd
)?Kesalahan ini dijelaskan dalam artikel Linux: Reset Perangkat USB Berkecepatan Tinggi Menggunakan ehci_hcd Kesalahan dan Solusi :
Jika Anda tidak ingin mengganti motherboard, untuk menghapus Driver ehci_hcd edit file
/etc/modprobe.d/blacklist.conf
dan tambahkan baris:Akhirnya, gunakan skrip mkinitrd untuk membangun struktur direktori yang dapat berfungsi sebagai sistem file root initrd tanpa ehci_hcd:
Reboot sebagai tes.
Artikel dengan instruksi serupa adalah: Mengapa kesalahan "kernel: usb 1-2.2: reset perangkat USB kecepatan tinggi menggunakan ehci_hcd dan alamat 6" ditulis ke file / var / log / messages?
sumber