The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Монтирование устройств Android 4 в Ubuntu Linux при помощи go-mtpfs
Начиная с третьей ветки в платформе Android изменился метод организации
внешнего доступа к накопителю мобильного устройства. Если раньше устройство
маскировалось под USB-накопитель, который воспринимался внешними системами как
обычный USB Flash, то начиная с выпуска Android 3 для доступа к данным
предлагается использовать разработанный компанией Microsoft протокол MTP
(Media Transfer Protocol), поддержка которого в большинстве Linux-дистрибутивов
недоступна из коробки. Причиной перехода на MTP является желание избавиться от
основного недостатка старой реализации - необходимости размонтирования раздела
перед его экспортом, из-за чего во время подключения раздела к ПК он становился
недоступным для мобильного устройства.

Наиболее простым способом обеспечения работы с Android 4 в Linux является
установка из репозиториев или сборка из исходных текстов GTK-приложения gMTP
(http://gmtp.sourceforge.net/), которое предоставляет графический интерфейс для
работы с файлами на устройстве, в том числе даёт возможность перемещать файлы
между gMTP и файловым менеджером в режиме Drag and Drop. При сборке
рекомендуется использовать самую свежую версию библиотеки  libmtp
(http://libmtp.sourceforge.net/), иначе в процессе работы время от времени
приходится сталкиваться с проблемами. Готовые свежие сборки gMTP для Ubuntu
можно загрузить из специального PPA-репозитория, а libmtp - здесь.


Другим способом является монтирование MTP-устройств в виде дисковых разделов
при помощи FUSE-модулей mtpfs или mtp-fuse. Следует отметить, что
работают данные модули с некоторыми устройствами весьма нестабильно и оставляют
желать лучшего в плане скорости копирования данных. Относительно недавно для
решения проблем с ранее доступными FUSE-реализациями был создан FUSE-модуль [[https://github.com/hanwen/go-mtpfs
Go-mtpfs]], из особенностей которого можно отметить необходимость установки для
сборки компилятора языка программирования Go.


Готовые сборки Go-mtpfs отныне доступны через PPA для Ubuntu 13.04, 12.10 и
12.04. Unstable PPA используется для задействования самой свежей версии
libmtp. Кроме того, подготовлен специальный апплет для оболочки Unity,
позволяющий быстро монтировать и отмонтировать MTP-разделы.

Установим Go-mtpfs из PPA:

   sudo add-apt-repository ppa:webupd8team/unstable
   sudo apt-get update
   sudo apt-get install go-mtpfs

Установим дополнение для Unity:

   sudo apt-get install go-mtpfs-unity

Для монитрования раздела вручную следует использовать команду:

   go-mtpfs /media/MyAndroid

Для отмонтирования:

   fusermount -u /media/MyAndroid


Для самостоятельной сборки go-mtpfs из Git-репозитория можно использовать
следующую инструкцию, в результате которой будет подготовлен исполняемый файл /tmp/go/bin/go-mtpfs:

   sudo apt-get install golang fuse git-core libmtp-dev libfuse-dev
   sudo adduser $USER fuse
   mkdir /tmp/go 
   GOPATH=/tmp/go go get github.com/hanwen/go-mtpfs
  

Кроме того, в состав libmtp входит несколько полезных утилит:

Определение устройства:

   mtp-detect

Подсоединение к устройству:

   mtp-connect

Манипуляции с контентом на устройстве:

   mtp-albumart 
   mtp-getplaylist
   mtp-albums
   mtp-files
   mtp-sendfile
   mtp-folders  
   mtp-newfolder
   mtp-delfile
   mtp-newplaylist
   mtp-getfile
   mtp-playlists    
   mtp-tracks


   
 
Ключи: mtp, android, mount, linux, disk / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Файлы, копирование, архивация

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Anonim, 18:14, 26/12/2012 [ответить] [смотреть все]
  • +/
    В кеды что-нибудь возможно нормально интегрирать? А то при подключении смартфона предлагает только просмотреть на нем фотки через какую-то кривую прогу, и то не работает.
     
     
  • 2.2, Имя, 20:21, 26/12/2012 [^] [ответить] [смотреть все]
  • +/
    А в mate работает как просто новый ресурс в системе.
     
  • 1.3, pavlinux, 23:46, 27/12/2012 [ответить] [смотреть все]
  • +/
    А чё, самба/nfs уже не феншует?
     
  • 1.4, Tyuiop, 01:14, 28/12/2012 [ответить] [смотреть все]
  • +/
    Использую jmtpfs, работает.
     
     
  • 2.5, Andrey Mitrofanov, 15:03, 28/12/2012 [^] [ответить] [смотреть все]
  • +/
    > Использую jmtpfs, работает.

    Cyanogenmod (Версия Andriod [B]4[/B].0.4) и Debian. Протоколы Майкрософт не беспокоят.

     
  • 1.6, polkan, 04:30, 29/12/2012 [ответить] [смотреть все]  
  • +/
    > Причиной перехода на MTP является желание избавится от основного недостатка старой реализации - необходимости размонтирования раздела

    перед его экспортом, из-за чего во время подключения раздела к ПК он становился недоступным для мобильного устройства.

    хм... а что нибудь типа unionfs для монтирования не тру разве нежели блобы от мс?

     
     
  • 2.10, ABATAPA, 09:50, 06/01/2013 [^] [ответить] [смотреть все]  
  • +/
    Как Вы себе это представляете? Unionfs _объединяет_ разные fs в одной виртуальной точке монтирования. Тут же нужно ОДНО блочное устройство отдать ДВУМ операционным системам, каждая из которых будет считать себя вправе владеть им монопольно.
    Вот потому и размонтируется перед эмуляцией UMS...
     
  • 1.7, drurus, 12:56, 29/12/2012 [ответить] [смотреть все]  
  • +/
    Используйте ADB
     
  • 1.8, ., 06:31, 05/01/2013 [ответить] [смотреть все]  
  • +/
    Как использовать adb с устройством без root ?
     
     
  • 2.9, Andrey Mitrofanov, 14:17, 05/01/2013 [^] [ответить] [смотреть все]  
  • +/
    > Как использовать adb с устройством без root ?

    Да, так же. Включить USB Debugging. Без root-а не будет root-а в этом adb. Вроде как... Впрочем, не все прошивки созданы равными, ymmv.

     
  • 2.11, ABATAPA, 09:52, 06/01/2013 [^] [ответить] [смотреть все]  
  • +/
    > Как использовать adb с устройством без root ?

    Точно так же. Всё, не требующее root (доступ к /system и другим системным разделам) будет работать. По-вашему, создавая SDK и, в частности, иструмент ADB, Google считал, что все устройства обязаны быть рутованы?

     
  • 1.12, Аноним, 23:40, 06/01/2013 [ответить] [смотреть все]  
  • +/
    Только вот работает эта штука плохо go-mtpfs сначала выкачивает файл целиком, а... весь текст скрыт [показать]
     
  • 1.13, ruslja, 00:34, 04/03/2013 [ответить] [смотреть все]  
  • +/
    Спасибо за статью. В результате смог нормально завести Pixus 4, без использования дополнительной флешки. Не знаю, что там в качестве ОС, но похоже работает через MTP
     
  • 1.14, Александр Зайцев, 16:45, 08/04/2013 [ответить] [смотреть все]  
  • +/
    Долго мучался (LMDE 64) пока не сдалал

    $ modprobe ohci_hcd
    $ modprobe uhci_hcd

    в добавление к сказанному в статье.

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor