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)
問題は/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"
私の場合、再起動する必要がありましたが、代わりに再起動できるサービスがおそらくあるでしょう。
ENV{MTP_NO_PROBE}="1"
を使用してMTPプローブを停止しました。そうすれば、アーチの/lib/udev/rules.d/69-libmtp.rules
を変更する必要がなくなりました。
export MTP_NO_PROBE="1"
ロギングは、MTPデバイス検出で何かが起こっていることを示しています。
libmtp
をアンインストールしてみてください。問題がなければ、関連ファイルのudevルールをコメント化してください。