인식되지 않는 USB 드라이브 장착


23

Arch Linux / XFCE를 사용하면 제대로 마운트되지 않은 USB 드라이브에 문제가 자주 발생합니다. 때로는 Thunar에 자동으로 표시되며 한 번의 클릭으로 마운트 할 수 있습니다. 그러나 다른 경우 (약 50/50) 드라이브는 인식되지 않습니다. USB 외장 하드 드라이브, USB 메모리 스틱 및 카메라에서이 문제가 발생했습니다. 외장 드라이브가 인식되지 않으면 다음과 같은 상황이 발생합니다.

  • 드라이브가 전혀 표시되지 않습니다 fdisk -l(내 하드 드라이브 만 표시 함)
  • 드라이브가 나타나지 않습니다 /dev/disk
  • 드라이브는 않습니다 실행할 때 표시lsusb

그래서 어떤 종류의 인식이 있지만, 왜 그런지 이해하지 못하며, 이것이 일어날 때 드라이브를 마운트하는 방법을 모릅니다. 방금 재부팅하고 다음에 작동하기를 바랍니다.

최신 정보

모니터링 할 때 /var/log/everything.log(syslog에 정보가 없음) USB를 연결할 때 이런 일이 발생합니다.

Dec 14 15:36:32 localhost kernel: [ 6591.042911] usb 1-3: new high speed USB device number 9 using ehci_hcd
Dec 14 15:36:32 localhost mtp-probe: checking bus 1, device 9: "/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-3"
Dec 14 15:36:32 localhost mtp-probe: bus: 1, device: 9 was not an MTP device

이것은 또 다른 요청 출력입니다.

$udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[6809.192268] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-3 (usb)
KERNEL[6809.193421] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0 (usb)
UDEV  [6809.299246] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-3 (usb)
UDEV  [6809.306074] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0 (usb)

이 명령을 실행 udevadm monitor한 다음 USB 장치를 플러그인하고 찾은 문제를 게시하십시오.
Hanan N.

@HananN. 알았다; 나는 이것을 추가했다

1
단지 생각 : 외부 전원이 공급되지 않은 USB 허브를 통해 연결할 때 때때로이 문제가 발생했습니다
erch

답변:


12

이 문제는 다음의 포괄 규칙으로 보입니다 /lib/udev/rules.d/69-libmtp.rules.

# Autoprobe vendor-specific, communication and PTP devices
ENV{ID_MTP_DEVICE}!="1", ENV{MTP_NO_PROBE}!="1", ENV{COLOR_MEASUREMENT_DEVICE}!="1", ENV{libsane_matched}!="yes", ATTR{bDeviceClass}=="00|02|06|ef|ff", PROGRAM="/usr/lib/udev/mtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}", RESULT=="1", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

아래에 표시된 것처럼 해당 줄을 주석 처리하면 문제가 해결되었습니다.

# Autoprobe vendor-specific, communication and PTP devices
ENV{ID_MTP_DEVICE}!="1", ENV{MTP_NO_PROBE}!="1", ENV{COLOR_MEASUREMENT_DEVICE}!="1", ENV{libsane_matched}!="yes", ATTR{bDeviceClass}=="00|02|06|ef|ff", PROGRAM="/usr/lib/udev/mtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}", RESULT=="1", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

내 경우에는 재부팅해야했지만 대신 다시 시작할 수있는 서비스가있을 수 있습니다.


이 데이터는 /var/log/everything.log에 있지만 볼 수 있듯이 드라이브 문자가 할당되어 있지 않습니다 (fdisk에도 표시됨). 출력이 거의 없지만 일부가 있습니다. 나는 이것을 맨 위에 추가했습니다.

5
이제는 고정 된 것처럼 보입니다! 로그에서 나는 이것을 발견했다 : 12 월 14 일 15시 36 분 32 초 localhost mtp-probe : bus : 1, device : 9는 MTP 장치가 아니 었으며, 이것을 검색 한 후 bbs.archlinux.org/viewtopic 스레드를 찾았 습니다. php? id = 119676 -MTP 규칙에서 catch-all 라인을 주석 처리하여 해결할 수 있었지만 이제는 작동하는 것으로 보입니다. 감사!

4
@ user11780 : 실제 답변이 귀하의 의견에 제시된 답변 인 경우 제공된 답변을 수락하는 대신 찾은 정보를 사용하여 직접 새로운 답변을 작성한 다음 수락하십시오. 그렇지 않으면, 캐주얼 독자들은 kbyrd의 답변 (정답보다 의견이 더 많음)이 올바른 것이라고 생각하는 데 오해하게됩니다.
Teemu Leisti

@TeemuLeisti에 전적으로 동의합니다. 정답을 여기에 넣고 올바른 것을 내 것에서 새로운 것으로 바꾸십시오.
kbyrd

아, 기사에 링크하는 대신 여기에 정보를 반복하십시오. 링크 끝에있는 페이지가 사라져서 답을 쓸모 없게 만듭니다.
Teemu Leisti

7

나는 ENV{MTP_NO_PROBE}="1"MTP 프로브를 멈 추곤했다. 그렇게하면 아치를 수정하지 않았습니다 /lib/udev/rules.d/69-libmtp.rules.

export MTP_NO_PROBE="1"

감사. 짧고 멋진 솔루션export MTP_NO_PROBE="1"
kyb

그러나 USB3.0 포트에서 USB2.0으로 작동하는 것 같습니다.
kyb

0

로깅은 MTP 장치 감지에 문제가 있음을 나타냅니다.

libmtp빠져 나갈 수 있다면 제거를 시도 하거나 관련 파일에서 udev 규칙을 주석 처리하십시오.

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