인식할 수 없는 USB 드라이브 마운트

인식할 수 없는 USB 드라이브 마운트

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)

답변1

이 질문은 포괄적인 규칙인 것 같습니다 /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"

제 경우에는 다시 시작해야 했는데, 다시 시작할 수 있는 서비스가 있을 수도 있습니다.

답변2

한 번 ENV{MTP_NO_PROBE}="1"MTP Probe를 중지했습니다. 이런 식으로 나는 Arch 를 수정하지 않았습니다 /lib/udev/rules.d/69-libmtp.rules.

export MTP_NO_PROBE="1"

답변3

로깅에 MTP 장치 감지 문제가 표시됩니다.

libmtp가능하다면 제거해 보거나 관련 파일의 udev 규칙을 주석 처리하세요.

관련 정보