Как заставить Samsung Galaxy S5 работать с MTP на Debian 9?

8

Поэтому я пытаюсь обмениваться файлами между Samsung Galaxy S5 с Android и моей машиной Debian9 / KDE, используя MTP вместо KDE Connect.

Проблема в том, что я продолжаю получать:

Процесс для протокола mtp неожиданно умер.

При попытке скопировать файлы.

Это также часто говорит

Хранилища не найдены. Может быть, вам нужно разблокировать устройство?

Я могу просмотреть некоторое содержимое телефона в Dolphin после некоторой попытки: нажать «Разрешить» всякий раз, когда диалоговое окно телефона запрашивает его, при попытке открыть его в Dolphin, который правильно определяет его как Samsung Galaxy S5.

Однажды я мог успешно скопировать кучу изображений.

Я уже попробовал sudo apt-get install --reinstall libmtp-common. В системном журнале есть такие вещи:

usb 1-5: usbfs: process 7907 (mtp.so) did not claim interface 0 before use
usb 1-5: reset high-speed USB device number 35 using xhci_hcd
usb 1-5: usbfs: process 7909 (mtp.so) did not claim interface 0 before use
colord-sane: io/hpmud/pp.c 627: unable to read device-id ret=-1
usb 1-5: USB disconnect, device number 35
usb 1-5: new high-speed USB device number 36 using xhci_hcd
usb 1-5: usbfs: process 7930 (mtp.so) did not claim interface 0 before use
usb 1-5: usbfs: process 7930 (mtp.so) did not claim interface 0 before use
usb 1-5: usbfs: process 7930 (mtp.so) did not claim interface 0 before use
mYnDstrEAm
источник
1
Проблема в MTPтом, что некоторые телефоны, возможно, особенно от Samsung, используют MTP несовместимыми способами. Некоторые комментарии (и ссылки) на другой вопрос, связанный с устройством Samsung на этом сайте, могут быть полезны. И ответ GAD3R тоже стоит попробовать ( jmtpfs).
njsg
Нельзя забывать: «Экран устройства должен быть разблокирован (по соображениям безопасности)». В этом-то и дело!
Гилберто

Ответы:

5

Установить jmtpfsпакет

apt install jmtpfs

Отредактируйте ваш /etc/fuse.confследующим образом

# Allow non-root users to specify the allow_other or allow_root mount options.

user_allow_other

Создайте правило udev. Используйте lsusbили, mtp-detectчтобы получить идентификатор вашего устройства

nano /etc/udev/rules.d/51-android.rules

со следующей строкой:

SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666", OWNER="[username]"

Замените 04e8и своим 6860, затем запустите:

udevadm control --reload

Переподключите ваше устройство, откройте терминал и запустите:

mkdir ~/mtp
jmtpfs ~/mtp
ls ~/mtp

образец вывода:

Card  Phone

Чтобы размонтировать устройство, используйте следующую команду:

fusermount -u ~/mtp

Также вы можете использовать go-mtpfsинструмент:

Монтирование MTP-устройств через FUSE

mkdir ~/mtp
go-mtpfs ~/mtp

Графический инструмент для монтирования вашего устройства gmtp:

простая программа передачи файлов для устройств на базе MTP

sudo apt install gmtp
gmtp

КИО-мтп

доступ к устройствам MTP для приложений, использующих платформу KDE

GAD3R
источник
2
Мне бы очень хотелось отметить ваш ответ как решение, но оно просто не работает для меня. Поэтому мне пришлось использовать KDE Connect. После того , как перезапускать команды много раз я получаю ошибки вкл: jmtpfs ~/mtp2 ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface LIBMTP libusb: Attempt to reset device ls: cannot access '/home/username/mtp': Input/output error fusermount: failed to unmount /home/username/mtp: Device or resource busy. Однажды ls ~/mtpпоказал правильные вещи, и однажды я мог просматривать файлы на SD-карте в Dolphin.
МИНСТРОМ