Вопрос или проблема
Я пытаюсь настроить Raspberry Pi для автоматического копирования содержимого SD-карты при её вставке. Мне удалось вручную смонтировать карты с помощью команды mount
, однако usbmount
пока совсем не работает. В данный момент я получаю следующие сообщения в логах, когда подключаю новое устройство:
Apr 20 07:43:11 pi3testbench mtp-probe[839]: проверка шины 1, устройство 9: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2.4"
Apr 20 07:43:11 pi3testbench mtp-probe[839]: шина: 1, устройство: 9 не является MTP-устройством
Apr 20 07:43:11 pi3testbench mtp-probe[840]: проверка шины 1, устройство 9: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2.4"
Apr 20 07:43:11 pi3testbench mtp-probe[840]: шина: 1, устройство: 9 не является MTP-устройством
Apr 20 07:43:13 pi3testbench systemd-udevd[844]: sdc: Процесс '/usr/share/usbmount/usbmount add' завершился с кодом выхода 2.
Apr 20 07:43:13 pi3testbench usbmount[870]: /dev/sdd не содержит файловой системы или метки диска
Apr 20 07:43:13 pi3testbench systemd-udevd[846]: sdd: Процесс '/usr/share/usbmount/usbmount add' завершился с кодом выхода 1.
Я могу увидеть диск с помощью lsblk
:
pi@pi3testbench:~ $ lsblk -fp
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
/dev/sdb
└─/dev/sdb1 exfat 1.0
И как я уже сказал, я могу смонтировать его вручную и увидеть файлы.
(следующее может быть лучше как второй вопрос, но я все равно напишу это здесь)
Я ранее замечал, что usbmount
выполняет команды mount
, но содержимое диска никогда не отображается. Я пробовал запускать точно такие же команды монтирования, и они работают нормально, но не работают, когда запускаются usbmount
. Это также было связано с ошибкой “не является MTP-устройством”, так что, возможно, эта проблема будет решена, когда будет исправлена проблема с MTP-устройством.
Я пробовал некоторые предложения, которые нашёл, такие как изменение /etc/usbmount/usbmount.conf
и изменение настроек для разных файловых систем, но это не помогло. Я пробовал несколько разных USB-накопителей и SD-карт от разных производителей, но у всех одна и та же проблема.
/dev/sdb1 exfat 1.0
Вам нужно найти файловую систему exfat, $ sudo apt install exfat-fuse
вероятно, будет подходящим.
С установленным пакетом вы сможете смонтировать SD-карту.
Она может даже автоматически смонтироваться, когда вы вставите её в считыватель. => /media/$USER/
Затем вы сможете зайти в папку DCIM/, чтобы найти свои изображения.
ПРИМЕЧАНИЕ: MTP = Протокол типа медиа, чаще всего используется для устройств через USB-кабель, что распространено среди цифровых камер в наши дни(?).
Старые Nikon D300 отображаются как FAT-устройство, более поздние модели, такие как D700 и D850, имеют только MTP-соединение (я использую кардридер для SD/CF/… карт от них).
Ответ или решение
Проблема с сообщением «Устройство x не является MTP-устройством» при использовании usbmount на Raspberry Pi может возникнуть по нескольким причинам, и ее можно решить, следуя определённым шагам. Давайте разберемся в каждой из этих причин и возможных решениях.
Понимание MTP и USB-Mount
MTP (Media Transfer Protocol) – это протокол, используемый для передачи данных между устройствами, обычно между компьютером и портативным медиаплеером или камерой. Если устройство не поддерживает MTP, оно будет обнаружено как стандартное USB-накопитель, и для автоматической работы с ним с помощью usbmount
необходимо установить соответствующую файловую систему.
Причины возникновения проблемы
-
Отсутствие поддержки файловой системы: Из вывода команды
lsblk
видно, что ваше устройство использует файловую системуexfat
. Для корректной работы с ней на Raspberry Pi необходимо установить пакетexfat-fuse
. Это обеспечит возможность системы автоматически монтировать устройства с файловой системойexfat
. -
Конфигурация usbmount: Необходимо убедиться, что файл конфигурации
/etc/usbmount/usbmount.conf
правильно настроен для работы с вашей файловой системой. Убедитесь, что в нём присутствует запись дляexfat
, и используются правильные параметры монтирования. -
Проблемы с udev: Служба
udev
, отвечающая за управление устройствами в Linux, может иметь проблемы с соответствующими монтированиями. Если служба не может корректно выполнить команду монтирования, это приведет к ошибкам при попытке подключить устройство.
Решение проблемы
-
Установите необходимый пакет для работы с файловыми системами
exfat
:sudo apt install exfat-fuse
-
Проверьте конфигурации
usbmount
:Откройте файл
/etc/usbmount/usbmount.conf
и убедитесь, что в нем есть настройки для файловых систем, которые вы хотите подключать, включаяexfat
. Пример правильной записи:FILESYSTEMS="vfat ext2 ext3 ext4 ntfs exfat"
-
Перезагрузите службу
udev
, чтобы изменения вступили в силу:sudo systemctl restart systemd-udevd
-
Попробуйте снова подключить устройство и проверьте логи на наличие ошибок:
journalctl -f
Вывод
Следуя указанным выше шагам, вы сможете устранить большинство проблем, связанных с автоматическим подключением USB-накопителей на вашей Raspberry Pi. Убедитесь также, что все компоненты системы обнадёживают надёжную работу с различными файловыми системами. Если проблема сохраняется, возможно, стоит проверить другие аспекты системы, такие как наличие обновлений или возможность использования других менеджеров монтирования, таких как udisks2
или gvfs
, которые могут предложить более универсальные решения для вашего устройства.
Не стесняйтесь задавать дополнительные вопросы, если потребуется более глубокая проработка проблемы!