Подключение USB-накопителя, который не распознается

23

При использовании Arch Linux / XFCE у меня часто возникают проблемы с USB-дисками, которые неправильно смонтированы. Иногда они автоматически появляются в Thunar, и я могу смонтировать их одним щелчком мыши. Однако в другое время (это примерно пятьдесят на пятьдесят) диск просто не распознается. У меня была эта проблема с внешними жесткими дисками USB, картами памяти USB и камерами. Если внешний диск не распознается, это ситуация:

  • Диск вообще не отображается fdisk -l(он показывает только мои жесткие диски)
  • Диск не отображается на /dev/disk
  • Привод НЕ появляется при запускеlsusb

Так что есть какое-то признание, но я не понимаю, почему, и я не знаю, как монтировать диски, когда это происходит. Я просто перезагружаюсь и надеюсь, что это сработает в следующий раз, что явно не удобно ...

ОБНОВИТЬ

Когда я наблюдаю /var/log/everything.log(нет информации в системном журнале), я вижу это при подключении 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-устройство и опубликуйте все найденные проблемы.
Ханан Н.
@HananN. скопируй это; Я добавил это
1
Просто мысль: у меня иногда возникала такая проблема при подключении через USB-концентратор, который не был подключен к внешнему
источнику

Ответы:

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"

В моем случае мне пришлось перезагрузиться, но, вероятно, вместо этого можно было бы перезапустить службу.

kbyrd
источник
эти данные были в /var/log/everything.log, но, как вы можете видеть, буква диска не назначена (что также видно при использовании fdisk). Выводов очень мало, но есть. Я добавил это наверху.
5
Ну, теперь, похоже, это исправлено! В журнале я нашел это: 14 декабря 15:36:32 localhost mtp-probe: шина: 1, устройство: 9 не было устройством MTP, и после поиска этого я нашел эту тему: bbs.archlinux.org/viewtopic. php? id = 119676 - и я смог решить эту проблему, закомментировав строку catch-all в правилах MTP, теперь она, похоже, работает. Благодарность!
4
@ user11780: если фактический ответ - тот, который вы дали в своем комментарии, тогда вместо того, чтобы принять предложенный ответ, вы должны сами написать новый ответ с найденной вами информацией и затем принять ее. В противном случае случайные читатели будут введены в заблуждение, думая, что ответ kbyrd - который на самом деле является скорее комментарием, чем ответом - является правильным.
Теему Лейсти
Полностью согласен с @TeemuLeisti. Поставьте правильный ответ здесь, затем измените правильный с моего на новый.
kbyrd
Да, и вместо простой ссылки на статью, пожалуйста, повторите информацию здесь - страница в конце ссылки может исчезнуть, делая ваш ответ бесполезным.
Теему Лейсти
7

Я использовал, ENV{MTP_NO_PROBE}="1"чтобы остановить MTP Probe. Таким образом, у меня не было модификации Арки /lib/udev/rules.d/69-libmtp.rules.

export MTP_NO_PROBE="1"
Деннис Андерсон
источник
Спасибо. Короткое и приятное решениеexport MTP_NO_PROBE="1"
17
Но, похоже, USB2.0 работает в порту USB3.0.
17
0

Регистрация показывает, что что-то происходит с обнаружением устройства MTP.

Попробуйте удалить, libmtpесли вам это сойдет с рук, или просто закомментируйте правило udev в соответствующем файле.

purple_arrows
источник