Thiết lập lại thiết bị USB là gì?


20

Tôi có phần mềm hoàn toàn mới RAID-1 được tích hợp hai ổ USB ngoài WD Elements và tôi có thể thấy rằng Linux lặp lại thông báo sau khá nhiều:

...
[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
...

Vì vậy, nó nói gì? Điều này có bình thường không? Đây có phải là một vấn đề mà tôi nên cố gắng khắc phục?

Cập nhật
Trên thực tế, những tin nhắn này không dành cho các ổ đĩa mà tôi nghĩ là chúng. Tôi cũng có một loạt các ổ USB khác được kết nối với máy tính này thông qua bộ chia USB. Dù sao, câu hỏi của tôi về cơ bản là thông điệp này có nghĩa gì trong tiếng Anh?


3
Làm RAID từ ổ USB nghe có vẻ không hay. RAID là tất cả về đáng tin cậy có tất cả các ổ đĩa của bạn, và USB là tất cả về các thiết bị cắm và rút phích cắm nóng. Vì bạn đang sử dụng RAID-1, nó không quá tệ, nhưng nó cũng không phải là ý kiến ​​hay.
mvp

1
Không có gì sai khi sử dụng các thiết bị USB trong cấu hình RAID. Đó là một ý tưởng hoàn hảo, tất cả đều như vậy khi người ta coi đó là máy tính gia đình, không phải máy chủ doanh nghiệp. Bạn có thể tranh luận giới hạn thông lượng USB, nhưng đó không phải là mối quan tâm đối với cá nhân tôi. Cuộc đột kích này là một cách tiếp cận lười biếng để giải pháp sao lưu hơn bất cứ điều gì khác.
ILIV

1
Bạn đã chỉ ra rằng các ổ đĩa của bạn được kết nối với cổng USB của máy tính xách tay. Nói những gì bạn muốn, nhưng đây chỉ đơn giản là quả bom hẹn giờ đang chờ để tắt. Ngoài ra, nếu thiết bị của bạn là USB3, kernel phải sử dụng xhci_hcd. Nếu nó đang sử dụng ehci_hcd, điều đó có nghĩa là thiết bị của bạn đang chạy ở tốc độ USB2.
mvp

1
Tại sao nó là "quả bom hẹn giờ"?
ILIV

2
Tôi thấy, lần tới, làm ơn, hãy cố gắng đưa ra những lý do thực sự để gọi thứ gì đó là quả bom hẹn giờ. Chỉ để ghi lại, tôi không có mèo, hay bất kỳ thú cưng nào khác, tôi chưa bao giờ kéo dây cáp, cuốn sổ này vẫn còn là văn phòng phẩm trong vài năm nay, khả năng các cổng USB bị cháy là tương đương với cơ hội có kết nối trực tiếp bị hỏng, "một cái gì đó khác" là buồn cười, thậm chí có thể xảy ra ngay cả với máy chủ doanh nghiệp được cấu hình và cài đặt kỹ lưỡng nhất. Vì vậy, hãy ngừng hoang tưởng. Đây là RAID-1. Có 2 đĩa đi ra cùng một lúc, rất khó xảy ra. Đây là một giải pháp vững chắc. Giai đoạn = Stage.
ILIV

Câu trả lời:


22

Để tôi thử.

Theo nghĩa đen, thông báo nói rằng ngăn xếp USB của Linux đã phát hành "USB_RESET" cho thiết bị cụ thể của bạn (thiết bị # 19 và # 20, bất kể chúng là gì). Lỗi dường như xảy ra một lần trong 10-30 giây. Sau khi đặt lại, nhật ký sẽ có thông báo liệt kê mới, vì thiết lập lại USB sẽ buộc thiết bị được kết nối về "trạng thái mặc định". Có vẻ như tính dài dòng của nhật ký của bạn rất giảm.

Đặt lại một thiết bị USB ở giữa hoạt động là một tình huống khá quyết liệt. Bộ điều khiển dùng để thiết lập lại "cổng" này nếu nó gặp "lỗi giao dịch". Lỗi giao dịch xảy ra khi liên kết không hoàn thành tất cả các giai đoạn bắt buộc của giao dịch USB hoặc có lỗi CRC. Trong USB thông thường, bộ điều khiển EHCI sẽ tự động thử lại giao dịch không thành công (tối đa 3 lần điển hình) và sau đó sẽ đặt ngắt XACT_ERROR. Theo thống kê, theo lý thuyết lỗi, nếu một liên kết không đáp ứng đúng với ba lần thử liên tiếp, thì có điều gì đó không đúng với phân khúc USB cụ thể, chủ yếu là bằng điện. Vì vậy, lỗi giao dịch được coi là nghiêm trọng và phần mềm cố gắng khôi phục liên kết. Nếu bốn cây cố gắng khôi phục liên kết không thành công, máy chủ sẽ coi cổng này là đã chết và thoát.

Tuy nhiên, trong Linux, ai đó đã quyết định rằng 3 lần thử lý thuyết là không đủ và phần mềm Linux thực hiện thêm 32 (ba mươi hai) lần thử, làm cho tổng số 96 (!!!). Nếu liên kết phần cứng xảy ra bên lề điện, 96 lần thử có thể thành công trong 99,99% thời gian. Các chuyên gia phần mềm Linux tuyên bố rằng điều này giúp cải thiện khả năng hoạt động của các thiết bị / cáp nghi vấn. Về bản chất, kỹ thuật này che giấu một vấn đề nghiêm trọng với kết nối USB cụ thể này, điều này không giúp người dùng lâu dài.

Vấn đề có thể là do điện áp biên (VBUS) cung cấp cho các ổ đĩa, hoặc các trục trặc VBUS hoặc suy giảm tín hiệu trên dây tín hiệu. Trước tiên tôi sẽ thử cáp được chứng nhận chất lượng cao cực kỳ ngắn và kiểm tra xem số liệu thống kê lỗi có thay đổi không.


Siêu tóm tắt, cảm ơn bạn! Một số nguồn bổ sung sẽ được mát mẻ.
Christian Benke

1
Bạn có biết nếu có thể tăng số lần thử lại được thực hiện bởi ehci_hcdmô-đun không? Hoặc có thể buộc ohci_hcdmột thiết bị cụ thể (ví dụ: /dev/sdađược xử lý bởi ehci_hcdvà "có vấn đề" /dev/sdbđược xử lý bởi ohci_hcd)?
dma_k

5

Lỗi này được mô tả trong bài viết Linux: Đặt lại thiết bị USB tốc độ cao bằng cách sử dụng ehci_hcd Lỗi và giải pháp :

Lỗi này cho thấy USB 2.0 có thể không hoạt động trên hệ thống của bạn hoặc chỉ có thể hoạt động ở tốc độ USB 1.1. Để khắc phục sự cố này:

  1. Thay thế phần cứng: Trong hầu hết các trường hợp, bạn cần thay thế bo mạch chủ.
  2. Xóa trình điều khiển ehci_hcd
  3. Vô hiệu hóa giao diện USB 2.0 của ổ đĩa ehci_hcd và sử dụng như USB 1.1. Trong ngắn hạn, vô hiệu hóa ehci_hcd.

Nếu bạn không muốn thay thế bo mạch chủ, hãy xóa Trình điều khiển ehci_hcd chỉnh sửa tệp /etc/modprobe.d/blacklist.conf và thêm dòng:

blacklist ehci_hcd

Cuối cùng, sử dụng tập lệnh mkinitrd để xây dựng cấu trúc thư mục có thể phục vụ như một hệ thống tệp gốc initrd mà không cần ehci_hcd:

# mkinitrd -o /boot/initrd.$(uname -r).img $(uname -r)

Khởi động lại như thử nghiệm.

Một bài viết có hướng dẫn tương tự là: Tại sao lỗi "kernel: usb 1-2.2: đặt lại thiết bị USB tốc độ cao bằng ehci_hcd và địa chỉ 6" được ghi vào tệp / var / log / message?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.