MTP не работает после обновления Ubuntu 18.04
Я мог подключиться к своему Android Alcatel Pixi 4 (5) через MTP в Ubuntu 16.04 (была ошибка, когда протокол "неожиданно умер", если после удаления файла следовала копия файла, но в остальном это работало).
После обновления до Ubuntu 18.04 я получаю "протокол неожиданно умер" в Dolphin всякий раз, когда я пытаюсь просмотреть устройство.
#> mtp-detect
libmtp version: 1.1.13
Listing raw device(s)
Device 0 (VID=1bbb and PID=0167) is a Alcatel/TCT 6010D/TCL S950.
Found 1 device(s):
Alcatel/TCT: 6010D/TCL S950 (1bbb:0167) @ bus 3, dev 2
Attempting to connect device(s)
ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
ignoring libusb_claim_interface() = -6LIBMTP PANIC: failed to open session on second attempt
Unable to open raw device 0
OK.
Dmesg содержит:
[ 471.588800] usb 3-4: usbfs: process 9290 (gmtp) did not claim interface 0 before use
[ 471.715547] usb 3-4: reset high-speed USB device number 3 using xhci_hcd
[ 471.864513] usb 3-4: usbfs: process 9290 (gmtp) did not claim interface 0 before use
[ 471.864735] usb 3-4: usbfs: process 2562 (events) did not claim interface 0 before use
Я пытался собрать libmtp-1.1.15 из исходного кода, проблема сохраняется. Устройство работает через MTP-доступ в Windows на той же машине.
5 ответов
У меня была похожая проблема с моим openSUSE. После того как я установил jmtpfs
, kio-mtp
mtp-tools
проблема исчезла, и все стало работать правильно.
Если вы уже использовали jmtpfs
или аналогичный инструмент с точкой монтирования ~/android_mount/
Затем убедитесь, что он не установлен:
# unmount previously mounted device
fusermount -u ~/android_mount/
# this should show empty directory
ls -la ~/android_mount/
Вы также можете использовать вывод df
чтобы увидеть, может быть, он установлен в другом месте.
В противном случае создайте новую точку монтирования, скажем, ~/android_mount/
и подключите свой телефон Android, после того как вы подключили его с помощью USB-кабеля и переключили его в режим "Передача файлов" (обычно по умолчанию это "Зарядка"):
# make directory to mount
mkdir -p ~/android_mount/
# mount the device (can take several minutes)
# it will also show device information while mounting
jmtpfs ~/android_mount/
# now you should see internal storage if you don't have an SD card
ls -la ~/android_mount/
drwxrwxr-x 12 login login 0 Jan 3 44248648 Internal storage
# if it has an SD card too, then it'll show 2 entries
# look inside
ls -la ~/android_mount/Internal\ storage/
Теперь вы можете работать с файлами так же, как на любом USB-устройстве.
# when finished, unmount the device
fusermount -u ~/android_mount/
Не могли бы вы добавить jmtpfs -l
на ваш вопрос?
Сделать каталог для монтирования
mkdir -p ~/android_mount/
смонтировать устройство (может занять несколько минут), оно также покажет информацию об устройстве во время монтажа
jmtpfs ~/android_mount/
теперь вы должны увидеть внутреннюю память, если у вас нет SD-карты
ls -la ~/android_mount/
drwxrwxr-x 12 login login 0 Jan 3 44248648 Internal storage
если у него тоже есть SD-карта, то там будет 2 записи
Загляни внутрь
ls -la ~/android_mount/Internal\ storage/
Мой мобильный телефон начинает работать...
Посмотрите на пакеты gvfs, mtp *, в Synaptic, и в package-> force package version вы должны установить (кодовое имя) -updates. Если это не удается, удалите пакет и переустановите все пакеты, которые вы удаляете. Пакеты, вероятно, не были обновлены до соответствующей версии.
Перезагрузитесь, и вы увидите, что устройства Android открыты.
Если MTP не работает, вы можете попробовать вместо этого KDE Connect.
Смотрите эти ссылки:
У меня 2 Galaxy (один Note4 и один S8), и, как ни странно, эта проблема возникла только с моим S8. Мне удалось это исправить, установив go-mtpfs gvfs-fuse и, в основном, jamsuite-udev.