С Ubuntu 13.04 доступ к хранилищу данных на внешних устройствах через MTP предполагается, что работайте "из коробки" через модуль GVFS-MTP.
В то время как этот вопрос касается Galaxy Nexus, других устройств Android, а также Телефоны с Windows и медиаплееры с поддержкой MTP также поддерживаются.
Для диагностика видеть этот ответчик.
У меня довольно много проблем с передачей файлов, работающих по протоколу MTP с Galaxy Nexus. Я использую 64-разрядную версию Kubuntu 11.10, и это то, что я сделал, и результаты, которые я получаю:
-
Добавлено правило для устройства в
/etc/udev/rules.d/51-android.rules
. Правило заключается в следующем и работает дляadb
:SUBSYSTEMS=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", MODE="0666", OWNER="leob" #Galaxy Nexus
Перезапущенный
udev
(и компьютер, просто чтобы убедиться).
Adb работает, и все методы чтения с устройства через MTP, похоже, работают (я пробовал монтировать с помощью mtpfs, gmtp и напрямую использовать пакет mtp-tools). Однако, когда я пытаюсь записать данные на устройство, ничто из того, что я пробовал, не работает.
В качестве примера, запуск mtp-newfolder test_dir 0 0
выдает следующий результат:
libmtp version: 1.1.0Device 0 (VID=04e8 and PID=6860) is a Samsung GT-P7510/Galaxy Tab 10.1.Folder creation failed.ERROR: Could not close session!
Если я убегу mtp-folders
после сбоя mtp-newfolder без повторного подключения устройства я получаю следующий вывод:
Attempting to connect device(s)Device 0 (VID=04e8 and PID=6860) is a Samsung GT-P7510/Galaxy Tab 10.1.PTP_ERROR_IO: failed to open session, trying again after resetting USB interfaceLIBMTP libusb: Attempt to reset devicemtp-folders: Successfully connectedFriendly name: (NULL)Error 1: Get Storage information failed.Error 2: PTP Layer error 02fe: get_all_metadata_fast(): could not get proplist of all objects.Error 2: (Look this up in ptp.h for an explanation.)Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.Error 2: (Look this up in ptp.h for an explanation.)LIBMTP_Get_Storage(): Resource temporarily unavailableOK.
Сопровождается следующим в dmesg:
[ 1000.912082] usb 2-4: reset high speed USB device number 7 using ehci_hcd[ 1001.045877] usb 2-4: usbfs: process 3166 (mtp-folders) did not claim interface 0 before use
У кого-нибудь есть какие-нибудь идеи о том, что делать?
РЕДАКТИРОВАТЬ:
Я также попробовал режим PTP. Опять же, чтение работает нормально, но я не могу ничего записать на устройство.