USB 장치 재설정이란 무엇입니까?


20

두 개의 WD Elements 외장 USB 드라이브로 구축 된이 새로운 소프트웨어 RAID-1을 가지고 있으며 Linux가 다음 메시지를 약간 반복한다는 것을 알 수 있습니다.

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

그래서 무엇을 말합니까? 이것이 정상입니까? 이 문제를 해결해야합니까?

업데이트
사실, 이러한 메시지 나는 그들이라고 생각하는 드라이브 수 없습니다. USB 허브를 통해이 컴퓨터에 연결된 다른 USB 드라이브가 많이 있습니다. 어쨌든 내 질문은 기본적 으로이 메시지가 일반 영어로 무엇을 의미합니까?


3
USB 드라이브에서 RAID를 만드는 것은 좋은 생각처럼 들리지 않습니다. RAID는 모든 드라이브를 안정적으로 사용하는 것이며 USB는 장치를 핫 플러그 ​​및 언 플러그하는 것입니다. RAID-1을 사용하고 있기 때문에 나쁘지는 않지만 그다지 좋은 생각은 아닙니다.
mvp 2013

1
RAID 구성에서 USB 장치를 사용하는 데 아무런 문제가 없습니다. 엔터프라이즈 서버가 아닌 가정용 컴퓨터라고 생각하면 완벽하게 올바른 아이디어입니다. USB 처리량 제한에 대해 논쟁 할 수는 있지만 개인적으로는 문제가되지 않습니다. 이 공격은 무엇보다도 백업 솔루션에 대한 게으른 접근 방식입니다.
ILIV

1
드라이브가 노트북의 USB 포트에 연결되어 있음을 나타냅니다. 원하는 것을 말하십시오. 그러나 이것은 단순히 시한 폭탄이 사라지기를 기다리는 것입니다. 또한 장치가 USB3 인 경우 커널은 xhci_hcd를 사용해야합니다. ehci_hcd를 사용하는 경우 장치가 USB2 속도로 실행되고 있음을 의미합니다.
mvp

1
왜 "시한 폭탄"입니까?
ILIV

2
다음 번에는 시한 폭탄이라고 부르는 진짜 이유를 생각해보십시오. 단지 기록을 위해, 나는 고양이 나 다른 애완 동물이없고, 케이블을 뽑아 본 적이 없습니다.이 노트북은 몇 년 동안 문구류로 남아 있습니다. USB 포트가 타 버릴 가능성은 직접 연결이 끊어지면 "다른 것"이 재미 있으며, 가장 철저하게 구성 및 설치된 엔터프라이즈 서버에서도 발생할 수 있습니다. 그래서 편집증적인 행동을 멈추십시오. 이것이 RAID-1입니다. 2 개의 디스크가 동시에 나올 가능성은 거의 없습니다. 이것은 견고한 솔루션입니다. 기간.
ILIV

답변:


22

나 해보자.

문자 적으로 Linux USB 스택이 특정 장치 (장치 # 19 및 # 20)에 "USB_RESET"을 발행했다는 메시지가 표시됩니다. 오류는 10-30 초마다 한 번 발생하는 것 같습니다. USB를 재설정하면 연결된 장치가 "기본 상태"가되므로 재설정 후에는 로그에 새로운 열거 메시지가 표시됩니다. 로그의 상세도가 매우 감소 된 것 같습니다.

작동 중에 USB 장치를 재설정하는 것은 매우 과감한 상황입니다. "트랜잭션 오류"가 발생하면 컨트롤러는이 "포트"재설정에 의존합니다. 링크가 USB 트랜잭션의 모든 필수 단계를 완료하지 못하거나 CRC 오류가있는 경우 트랜잭션 오류가 발생합니다. 일반 USB에서 EHCI 컨트롤러는 실패한 트랜잭션을 자동으로 다시 시도한 후 (일반적으로 최대 3 번) XACT_ERROR 인터럽트를 설정합니다. 통계적으로, 오류 이론에 의해, 링크가 연속 3 번의 시도에 제대로 응답하지 않으면, 특정 USB 세그먼트, 대부분 전기적으로 문제가있는 것입니다. 따라서 트랜잭션 오류는 치명적인 것으로 간주되며 소프트웨어는 링크를 복구하려고 시도합니다. 트리 4가 링크 복구 시도에 실패하면 호스트는이 포트를 사용 불능으로 간주하고 종료합니다.

그러나 Linux에서는 누군가 3 번의 이론적 시도로는 충분하지 않다고 결정했으며 Linux 소프트웨어는 추가로 32 번 (32 번)의 시도를 수행하여 총 96 (!!!)이되었습니다. 하드웨어 링크가 전기적으로 한계가있는 경우 96 회 시도가 99.99 %의 시간 내에 성공할 수 있습니다. Linux 소프트웨어 전문가들은 이것이 의심스러운 장치 / 케이블의 작동 성을 향상시키는 데 도움이된다고 주장합니다. 본질적으로이 기술은이 특정 USB 연결에 심각한 문제를 숨기므로 사용자가 장기적으로 도움이되지 않습니다.

드라이브에 한계 전압 (VBUS)이 공급되거나 VBUS 글리치가 발생하거나 신호선에서 신호가 저하 될 수 있습니다. 먼저 초 고품질 인증 케이블을 사용 해보고 오류 통계가 변경되는지 확인합니다.


슈퍼 요약, 감사합니다! 일부 추가 소스는 시원 할 것입니다.
Christian Benke

1
ehci_hcd모듈 에서 재시도 횟수를 늘릴 수 있는지 알고 있습니까? 아니면 ohci_hcd특정 장치에 대해 강제 할 수 있습니까 (예 : /dev/sda에 의해 처리되고 ehci_hcd"문제" /dev/sdb에 의해 처리됨 ohci_hcd)?
dma_k

5

이 오류는 Linux : ehci_hcd 오류 및 솔루션을 사용하여 고속 USB 장치 재설정 기사에 설명되어 있습니다 .

이 오류는 시스템에서 USB 2.0이 작동하지 않거나 USB 1.1 속도에서만 작동 할 수 있음을 나타냅니다. 이 문제를 해결하려면

  1. 하드웨어 교체 : 대부분의 경우 마더 보드를 교체해야합니다.
  2. ehci_hcd 드라이버 제거
  3. ehci_hcd 드라이브 USB 2.0 인터페이스를 비활성화하고 USB 1.1로 사용하십시오. 간단히 말해 ehci_hcd를 비활성화하십시오.

마더 보드를 교체하지 않으려면 ehci_hcd 드라이버를 제거하려면 파일을 편집하고 /etc/modprobe.d/blacklist.conf 다음 줄을 추가하십시오.

blacklist ehci_hcd

마지막으로 mkinitrd 스크립트를 사용하여 ehci_hcd없이 initrd 루트 파일 시스템으로 사용할 수있는 디렉토리 구조를 구성하십시오.

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

테스트로 재부팅하십시오.

유사한 지침을 가진 기사는 다음과 같습니다. 왜 "커널 : usb 1-2.2 : ehci_hcd 및 주소 6을 사용하여 고속 USB 장치 재설정"오류가 / var / log / messages 파일에 기록됩니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.