У меня довольно много проблем с получением файлов-передач, работающих над 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!
Если я запустил [ f9] после неудачной 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
Кто-нибудь
EDIT:
Я также пробовал режим PTP. Опять же, чтение отлично работает, но я ничего не могу записать на устройство.
Вы попробовали предложение Билала Ахтара на omgubuntu?
mtp-detect | grep idVendor
mtp-detect | grep idProduct
Вы получите такой вывод: Теперь запустите следующие команды: gksu gedit /etc/udev/rules.d/51-android.rules
Должно открыться окно Gedit. Введите этот текст в нем, все в одной строке: SUBSYSTEM=="usb", ATTR{idVendor}=="VENDORID", ATTR{idProduct}=="PRODUCTID", MODE="0666"
Замените VENDORID на idVendor, который вы отметили ранее. Аналогичным образом замените PRODUCTID на idProduct, который вы отметили. В моем случае они были 04e8 и 685c соответственно, но они могли быть разными для вас. Сохраните и закройте файл. Затем отключите телефон и выполните следующие команды: sudo service udev restart
sudo mkdir /media/GalaxyNexus
sudo chmod a+rwx /media/GalaxyNexus
sudo adduser $USER fuse
$USER является переменной оболочки по умолчанию и должен быть пользователем, которого вы хотите добавить (обычно сами). Теперь запустите эту команду: gksu gedit /etc/fuse.conf
В окне Gedit удалите # в начале последней строки (тот, который начинается с #user_allow_other) следующим образом: вы почти закончили! Теперь перезагрузите компьютер и выполните следующие три команды: echo "alias android-connect=\"mtpfs -o allow_other /media/GalaxyNexus\"" >> ~/.bashrc
echo "alias android-disconnect=\"fusermount -u /media/GalaxyNexus\"" >> ~/.bashrc
source ~/.bashrc
Использование Подключите телефон, убедитесь, что ваш телефон использует MTP и запускает android-connect. Вуаля! Теперь вы можете просматривать содержимое своего телефона Android с помощью Nautilus. Просто запустите диспетчер файлов, а затем в боковой панели нажмите GalaxyNexus, чтобы просмотреть содержимое вашего телефона так же, как и с USB-накопителем. Вы также можете добавлять, удалять и изменять файлы, как обычную файловую систему. Чтобы безопасно удалить телефон, просто запустите android-disconnect. Заключение С этого момента вам просто нужно запустить android-connect, чтобы смонтировать свой телефон, а затем android-disconnect, чтобы безопасно удалить телефон. Все остальное должно обрабатываться автоматически. Я пробовал много способов получить монтировку и размонтировать автоматически при подключении кабеля, но это было лучшее решение, которое я мог бы придумать. Для этих двух команд не требуются права root. Все пользователи, входящие в группу пользователей предохранителей, должны иметь возможность запускать эти команды без доступа root. Это оно! Вы успешно подключили свой сэндвич-телефон с мороженым к компьютеру Ubuntu. Процесс может быть длинным для новичков, но я уверен, что кто-то придет и сделает GUI для всего этого, чтобы все происходило гладко. :) начиная с Ubuntu 13.04 доступ к хранилищу для устройств, способных ССП работает из коробки через в серверной. Пожалуйста, посмотрите есть ли планы по улучшению поддержки MTP на будущих версий Ubuntu? инструкции по установке до 13.04.
это решение должно работать на всех Android устройств, обеспечивающих функциональность MTP и, наверное, все не-Android устройств с функцией ССП, как Windows телефонов и портативных Медиа-плееров.
там была какая-то путаница, давайте попробуем внести ясность:
Вы не должны делать ничего, что может привести к аннулированию гарантии! Вам не нужно искоренить устройства. Вам не нужно разблокировать загрузчик. (Вы можете найти инструкции для Android здесь.) Разблокирование раз относится к операционным системам lockscreen в этот ответ. Вам не нужно настроить доступ к разработчику устройства, как АБР, быстрой загрузки или что-то подобное с помощью определенных правил udev. (Вы можете найти инструкции для Android в разделе Настройка доступа по USB здесь или здесь.) Насколько я знаю, не должно быть предохранителей или настроить взрыватель параметры.Все программы на основе libmtp по-прежнему имеют проблемы с Galaxy Nexus (с libmtp 1.1.3). Программы, основанные на gphoto2, работают для меня.
Лично я использую gphotofs, доступный в пакете с тем же именем.
Используйте gphotofs ~/mymountpoint для монтирования, затем fusermount -u ~/mymountpoint для размонтирования, когда вы закончите.
Установите следующее и перезагрузитесь:
sudo apt-get install gvfs-backends mtpfs jmtpfs libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9 gmtp libdbus-cpp5 libgflags2v5 libgoogle-glog0v5 libmtp-dbg libmtp-doc libmtpserver-dev libmtpserver1 libprocess-cpp3 mtp-server
Просто небольшое решение, подключите свой телефон на основе ICS с хорошим старым МАССОВЫМ ХРАНЕНИЕМ http://forum.xda-developers.com/showthread.php?t=1556367
adb install UMS1.0.apk