Начиная с Ubuntu 13.04, доступ к внешним устройствам через MTP должен работать "из коробки" через модуль GVFS-MTP.
Хотя этот вопрос касается Galaxy Nexus, также поддерживаются другие устройства Android, а также Windows Phone и медиаплееры с поддержкой MTP .
Для устранения неисправностей см. Этот ответ .
У меня довольно много проблем с передачей файлов, работающих через MTP с Galaxy Nexus. Я использую Kubuntu 11.10 64-bit, и это то, что я сделал, и результаты, которые я получаю:
Добавлено правило для устройства в
/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.0
Device 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 interface
LIBMTP libusb: Attempt to reset device
mtp-folders: Successfully connected
Friendly 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 unavailable
OK.
Сопровождается следующим в 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. Опять же, чтение работает нормально, но я не могу ничего записать на устройство.