Начиная с доступ к хранилищу Ubuntu 13.04 для доступа к внешним устройствам через MTP должен работать «из коробки» через модуль GVFS-MTP. 1113]
Хотя этот вопрос касается Galaxy Nexus, другие устройства Android, а также Windows Phone и мультимедийные проигрыватели с поддержкой MTP также поддерживаются .
Для устранения неполадок см. этот ответ .
blockquote>
У меня довольно много проблем с передачей файлов, работающих через 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.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
Кто-нибудь знает, что делать?
РЕДАКТИРОВАТЬ: [ 1124]
Я также попробовал режим PTP. Опять же, чтение работает нормально, но я не могу ничего записать на устройство.
Начиная с Ubuntu 13.04, доступ к хранилищу для внешних устройств через MTP работает из коробки через модуль GVFS-MTP.
Связанный вопрос: Есть ли какие-либо планы по улучшению поддержки mtp в будущих выпусках Ubuntu?
Для устранения неполадок см. этот ответ .
Для меня проблема заключалась в том, что в моей системе не было последних файлов libmtp
. Итак, я исправил проблему и написал эту статью, чтобы помочь другим .
Краткое содержание ссылки: В libmtp
, связанном со старыми выпусками Ubuntu, была ошибка . Эта ошибка уже исправлена в последнем источнике из libmtp
.
Установите и перезагрузите:
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
Все программы, основанные на libmtp
, по-прежнему имеют проблемы с Galaxy Nexus (начиная с libmtp 1.1.3). У меня работают программы на основе gphoto2
.
Лично я использую gphotofs
, доступный в одноименном пакете.
Используйте gphotofs ~ / mymountpoint
для подключения, затем fusermount -u ~ / mymountpoint
для отключения, когда вы закончите.
В качестве первого шага я бы установил jmtpfs
( sudo apt-get install jmtpfs
в терминале - Ctrl + Alt + T ), затем создайте папку с mkdir имя папки
и затем смонтируйте устройство с jmtpfs имя папки
, затем перейдите в nautilus (Файлы ).
Если ваше устройство несовместимо с версией libmtp
в ubuntu.
Вам необходимо загрузить и собрать последнюю версию libmtp
(> 1.1.12), как показано ниже: Как я могу установить последнюю версию libmtp?
Вы также должны увидеть папки с помощью mtp-папок
в терминале или с помощью графического интерфейса gmtp
.
Предыдущие шаги могли показывать ошибку, если вы выполняли их без sudo
:
libusb_open() failed!: Permission denied
Чтобы избежать использования sudo, вам следует добавить свое устройство в /etc/udev/rules.d/51 -android.rules
, как указано выше (см. desgua), и правила перезагрузки или перезапуска.
Просто небольшое обходное решение, подключите свой телефон на базе ICS к старому доброму МАССОВОМ ХРАНИЛИЩУ http://forum.xda-developers.com/showthread.php?t=1556367
adb install UMS1.0.apk
Вы пробовали предложение Билала Ахтара в omgubuntu ?
Настройка
Сначала установите необходимые инструменты с помощью sudo apt-get install mtp-tools mtpfs
Подключите Galaxy Nexus к компьютеру . На телефоне откройте панель уведомлений и нажмите «Тип USB-подключения». Убедитесь, что выбран MTP.
Затем выполните следующие команды:
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 предохранитель
$ USER
- переменная оболочки по умолчанию, и это должен быть пользователь, которого вы хотите добавить (обычно вы сами). Теперь запустите эту команду:
gksu gedit /etc/fuse.conf
В окне Gedit удалите #
в начале последней строки (той, которая начинается с #user_allow_other
) следующим образом:
Вы почти закончили ! Теперь перезагрузите компьютер и выполните следующие три команды:
echo "alias android-connect = \" mtpfs -o allow_other / media / GalaxyNexus \ "" >> ~ / .bashrc
echo "псевдоним android-disconnect = \" fusermount -u / media / GalaxyNexus \ "" >> ~ / .bashrc
источник ~ / .bashrc
Использование
Подключите телефон, убедитесь, что ваш телефон использует MTP, и запустите android-connect
.
Вуаля! Теперь вы можете просматривать содержимое вашего телефона Android с помощью Nautilus. Просто запустите файловый менеджер, а затем на боковой панели нажмите GalaxyNexus, чтобы просматривать содержимое телефона, как если бы вы это делали с USB-накопителем. Вы также можете добавлять, удалять и изменять файлы, как и в обычной файловой системе.
Чтобы безопасно удалить телефон, просто запустите android-disconnect
.
Заключение
С этого момента вы просто необходимо запустить android-connect
, чтобы подключить телефон, а затем android-disconnect
, чтобы безопасно удалить телефон. Все остальное должно обрабатываться автоматически. Я пробовал много способов, чтобы монтирование и размонтирование происходило автоматически при кабельном соединении, но это было лучшее решение, которое я мог придумать.
Эти две команды не требуют прав суперпользователя для запуска. Все пользователи, входящие в группу пользователей fuse, должны иметь возможность запускать эти команды без доступа root.
Вот и все! Вы успешно подключили свой телефон Ice Cream Sandwich к компьютеру с Ubuntu. Процесс может быть долгим для новичка, но я уверен, что кто-нибудь придет и сделает для всего этого графический интерфейс, чтобы все происходило гладко. :)
זינט Ubuntu 13.04 סטאָרידזש אַקסעס צו MTP טויגעוודיק דעוויסעס אַרבעט אויס פון די קעסטל דורך אַ GVFS באַקענד. ביטע קוק אין זענען פּלאַנז צו פֿאַרבעסערן מטפּ שטיצן אויף צוקונפֿט ובונטו ריליסיז? פֿאַר ינסטאַלירונג ינסטראַקשאַנז איידער 13.04.
די לייזונג זאָל אַרבעטן פֿאַר אַלע אַנדרויד דעוויסעס פּראַוויידינג MTP פונקטיאָנאַליטי און מיסטאָמע אַלע ניט-אַנדרויד דעוויסעס מיט MTP פאַנגקשאַנאַליטי ווי Windows Phones און Portable Media Players .
עס איז געווען עטלעכע צעמישונג, לאָזן ס פּרובירן צו ויסמעקן די זאכן:
איר טאָן ניט דאַרפֿן צו טאָן עפּעס וואָס קען פּאָסל דיין וואָראַנטי!
אַנלאַקינג נאָר רעפערס צו די אַפּערייטינג סיסטעמס לאָקקסקרעען אין דעם ענטפער.
איר טאָן ניט דאַרפֿן צו קאַנפיגיער דעוועלאָפּער אַקסעס צו דיין מיטל ווי ADB, פאַסטבאָאָט אָדער עפּעס ענלעך דורך עטלעכע ודעוו כּללים. (איר קענט געפֿינען אינסטרוקציעס פֿאַר אַנדרויד אין קאַפּיטל קאַנפיגיערינג וסב אַקסעס איר e אָדער איר e .)
לויט ווי איך וויסן, איר אויך טאָן ניט דאַרפֿן FUSE אָדער קאַנפיגיער FUSE- פֿאַרבונדענע אָפּציעס.
איך קען נישט שטעלן טעקעס אויף דעם מיטל.
דיין מיטל דאַרף זיין אַנלאַקט צו אַקסעס די סטאָרידזש פון די מיטל מיט ובונטו דורך MTP .
איך באַקומען אַ טעות אָנזאָג אַז די מיטל קען נישט זיין מאָונטעד.
אויב איר באַקומען די אונטן טעות אָנזאָג, פּרובירן צו ריפּלאַג די מיטל אַמאָל .
אויב די טעות אָנזאָג אויס עפן ווידער אַ נייַע Nautilus פֿענצטער פֿון די לאָנטשער (בילכער דורך קליקינג די בילדל פון די מיטל) און מיסטאָמע קלאָוזינג די קראַנט Nautilus פֿענצטער. עפשער פֿאַרבונדענע: ווי אַזוי צו שאַפֿן אַ ודעוו כּללים צו דיסייבאַל איינער פון אַנדרויד דעוויסעס?
טשעק אויב עס זענען ודעוו כּללים פֿאַר דיין מיטל
עפֿענען אַ וואָקזאַל און דרוקן lsusb
. געפֿינען דיין מיטל אין דער רעזולטאַט און טאָן די שייַן (למשל 0fce: 01b1
). דער ערשטער טייל איז דער פאַרקויפער שייַן די לעצטע טייל די פּראָדוקט שייַן.
עפֿן די קאָראַספּאַנדינג מטפּ ודעוו כּללים טעקע מיט nano /lib/udev/rules.d/69-libmtp.rules
און איר זוכט פֿאַר דיין פּראָדוקט שייַן (נוצן קטרל + וו ). אויב איר קען ניט געפֿינען עס, איר מוזן שאַפֿן אַ מנהג פּאָזיציע אין /etc/udev/rules.d/69-libmtp.rules
לויט דעם מוסטער אונטן און רעבאָאָט .
# SONY Xperia Z2 MTP
ATTR {idVendor} == "01b1", ATTR {idProduct} == "01b1", SYMLINK + = "libmtp-% k", MODE = "660", GROUP = "audio", ENV {ID_MTP_DEVICE} = "1", ENV {ID_MEDIA_PLAYER} = "1"
איר זאָל באַטראַכטן פאָרלייגן אַ זשוק קעגן די libmtp פּעקל (מער פּינטלעך libmtp-common ) צו האָבן דיין מיטל אַרייַנגערעכנט אין צוקונפֿט ווערסיעס, אויב דאָס אַרבעט
איך קען נאָך נישט פאַרבינדן
דיין מיטל איז ניט געשטיצט דורך די אַנדערלייינג libmtp
אָדער איר קען דערפאַרונג די זעלבע אַרויסגעבן מיט מיין Lumia 620, ביטע נאָכפאָלגן די וואָרקאַראָונד ( סטעפּס צו רעפּראָדוצירן) איך אַרייַנגעשיקט אין לפּ # 1247572: נאָקיאַ לומיאַ 620 (וופּ 8) קען נישט פאַרלאָזן רילייאַבלי דורך gvfs-mtp אין nautilus . (דער מיטל נאָך קען נישט אַרבעטן פלאָלאַס דאָ, אָבער ניצן mtp-detect
העלפּס.)
איר זאָל זוכן דעם libmtp bug tracker פֿאַר דיין מיטל און נאָכגיין די ינסטראַקשאַנז פֿאַר נייַ דעוויסעס אויף די פּרויעקט בלאַט צו עפֿענען אַ זשוק באַריכט.
די זשוק טראַקער ליסטעד מיין מיטל ווי געשטיצט אָבער עס נאָך וועט נישט אַרבעטן
אין עטלעכע קאַסעס, אַ זשוק באַריכט וועגן דיין מיטל קען האָבן שוין געווען פיילד און סאַלווד אין אַ מער פריש libmtp מעלדונג ווי וואָס דיין פאַרשפּרייטונג איז געשיקט מיט (למשל: Motorola Moto G ). אויב דאָס איז דער פאַל, איר וועט האָבן צו וואַרטן פֿאַר די באַאַמטער ריפּאַזאַטאָריז צו דערהייַנטיקן אָדער זוכן פֿאַר אַ דערהייַנטיקט פּפּאַ.
אַ דערהייַנטיקט רשימה פון אַלע libmtp ווערסיעס בנימצא דורך דער באַאַמטער ובונטו ווייכווארג טשאַנאַלז און פּריוואַט PPAs קען זיין געפֿונען דאָ (מאַכן זיכער צו יקספּאַנד אנדערע ווערסיעס פון 'libmtp' אין ונטראַסטיד אַרקייווז ). זינט 2014/02/13 , דעם PPA פון Matthieu Baerts אָפפערס די לעצטע libmtp פּעקל בנימצא פֿאַר ובונטו.
ווארענונג : דער PPA כּולל פאַרשידן פאַרשידענע און עפשער אַנסטייבאַל פּאַקידזשיז. איך וואָלט רעקאָמענדירן צו לייגן עס צו דיין סיסטעם. אַנשטאָט, איר קען אראפקאפיע די libmtp פּאַקידזשיז סעפּעראַטלי און מאַניואַלי ינסטאַלירן זיי אויף דיין סיסטעם.
ביטע באקענען זיך מיט פּפּאַס און זייער ריסקס איידער איר מאַך ווייַטער. ביטע אויך לייענען די פּאַראַגראַף אונטן צו ומקערן די אָריגינעל פּאַקידזשיז איידער איר גיין צו די פאלגענדע סטעפּס: 11104738] libmtp-common , libmtp-runtime
, libmtp9
, mtp-tools
. מאַכט זיכער צו קלייַבן די רעכט אַרקאַטעקטשער פֿאַר דיין סיסטעם (דאָס וועט יוזשאַוואַלי זיין amd64
).
דאָ זענען די פּעקל לינקס פֿון 2014/02/13: libmtp-common , libmtp-runtime , libmtp9 , mtp-tools
גיינ ווייַטער צו מאַניואַלי ינסטאַלירן די דערהייַנטיקט פּאַקידזשיז מיט dpkg (טוישן $ HOME / Downloads
צו דיין אראפקאפיע טעקע און מאַכן זיכער אַז קיין אנדערע דעב טעקעס זענען פאָרשטעלן:
cd "$ HOME / Downloads"
סודאָ דפּקג -י * .דעב
אַמאָל אַלץ איז אינסטאַלירן הצלחה, ריסטאַרט דיין קאָמפּיוטער, ופשליסן דיין אַנדרויד מיטל,פאַרבינדן עס דורך וסב און עס זאָל זיין געוויזן אין דיין טעקע פאַרוואַלטער.
דאָס איז געווען פייַן פֿאַר מיר (@ גלוטאַנימאַטע) מיט מיין מאָטאָראָלאַ מאָטאָ G. ווייַל איך איז געווען פליסנדיק ובונטו 12.04 לץ איך ערשטער האט צו ינסטאַלירן אַ דערהייַנטיקט ווערסיע פון gnome-gvfs
. ביטע זען ינסטאַלירונג ינסטראַקשאַנז איידער 13.04 אין שפּיץ פֿאַר מער אינפֿאָרמאַציע.
צו ופמאַכן די ענדערונגען אויב עפּעס גייט פאַלש אָדער אויב די מיטל נאָך איז נישט דערקענט, איר וועט האָבן צו מאַניואַלי ינסטאַלירן די אָריגינעל פּאַקידזשיז. גיין צו די libmtp מקור איבערבליק און געפֿינען דיין ובונטו מעלדונג. יקספּאַנד די פּאָזיציע אין די קשיא און אָפּלאָדירן די פּאַקאַדזשאַז, פּונקט ווי אין טרעפּל 2 פריער. פאָרזעצן מיט די ינסטאַלירונג ווי דיסקרייבד אין שריט 3 און רעבאָאָט דיין סיסטעם. אַלץ זאָל זיין צוריק צו נאָרמאַל איצט.