web-dev-qa-db-ja.com

認識されないUSBドライブのマウント

Arch Linux/XFCEを使用すると、適切にマウントされていないUSBドライブで問題が頻繁に発生します。時々それらはThunarに自動的に現れ、ワンクリックでマウントできます。ただし、それ以外の場合(約50/50)、ドライブは認識されません。 USB外付けハードドライブ、USBメモリスティック、カメラでこの問題が発生しました。外付けドライブが認識されない場合、これは状況です。

  • ドライブがfdisk -lにまったく表示されない(ハードドライブのみが表示される)
  • ドライブが/dev/diskに表示されない
  • ドライブ[〜#〜] does [〜#〜]を実行すると表示されます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)
23
user11780

問題は/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"

私の場合、再起動する必要がありましたが、代わりに再起動できるサービスがおそらくあるでしょう。

12
kbyrd

ENV{MTP_NO_PROBE}="1"を使用してMTPプローブを停止しました。そうすれば、アーチの/lib/udev/rules.d/69-libmtp.rulesを変更する必要がなくなりました。

export MTP_NO_PROBE="1"
8
Dennis Anderson

ロギングは、MTPデバイス検出で何かが起こっていることを示しています。

libmtpをアンインストールしてみてください。問題がなければ、関連ファイルのudevルールをコメント化してください。

0
purple_arrows