вторник, 12 ноября 2013 г.

Подключение MTP-устройств в Kubuntu

Для многих MP3-устройств встроен протокол передачи  данных MTP (Media Transfer Protocol), который не всегда хорошо работает в Kubuntu и на это есть причины... И если ваш андроидфон или плеер не может подключиться к ОС, то эта инструкция для вас.






Вот о чем нам пишет вики:

Media Transfer Protocol (MTP) - основанный на PTP аппаратно-независимый протокол, разработанный компанией Microsoft для подключения цифровых плееров к компьютеру. Первая версия вышла в 2004 году. В первую очередь MTP рассчитан на передачу данных через USB - но он пригоден и под TCP, и под Bluetooth.

На той же вики указаны достоинства и недостатки протокола, поэтому я не буду повторяться, а скажу в который раз, что Microsoft опять вставляет палки в колеса другим ОС. И если у вас будет тормозить копирование или передача файлов, то все претензии к разработчикам этого протокола. Многие медиаустройства (Creative Technology, Intel, iRiver и Samsung)  используют этот протокол и с этим ничего не поделаешь.

Подготовление

Сначала нужно убедится, что устройство определилось как MTP-девайс.
Для этого устанавливаем необходимые пакеты:
sudo apt-get install libmtp9 mtp-tools

Узнаем в Терминале PID и VID нашего устройства:
mtp-detect

Из сриншота видно, что:
  • VID=04e8
  • PID=6860
Если у вас не определилось устройство, то нужно создать правило в udev и пречислить устройство к MTP:
sudo kate /etc/udev/rules.d/69-libmtp.rules
И добавляем туда строчку, согласно вашим данным VID и PID (одной строчкой):
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"


Теперь создадим правило в udev для монтирования устройства.
Открываем правила udev:
sudo kate /etc/udev/rules.d/51-android.rules
И добавляем туда строчку, согласно вашим данным VID и PID (одной строчкой):
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666", OWNER="ИМЯ_ПОЛЬЗОВАТЕЛЯ"

Сохраняем документ(ы) и перезагружаем правила:
sudo service udev restart
Теперь добавим пользователя в группу fuse:
sudo adduser $USER fuse
Раскомментируем правила для использования подключения пользователями устройств:
sudo kate /etc/fuse.conf
 Удалите # перед строчкой user_allow_other и сохраните документ и перезагрузите компьютер.

В состав Kubuntu входит программа KIO-MTP для работы с MTP-устройствами и теперь при подключении ваше устройство должно определиться и вы сможете с ним работать. Если ваше устройство не хочет работать с KIO-MTP, то попробуйте программы ниже.


Вариант GVFS-MTP

Установка для Kubuntu 12.04 - Kubuntu 13.04:
sudo add-apt-repository ppa:langdalepl/gvfs-mtp
sudo apt-get update
sudo apt-get install gvfs libmtp9 mtp-tools 
Установка для Kubuntu 13.10:
sudo apt-get install gvfs libmtp9 mtp-tools
 

Вариант GMTP

Установка:
sudo apt-get install gmtp
Для использования запустите программу и вы сможете работать с вашим устройством.


Вариант MTPFS

Установка:
sudo apt-get install mtpfs
Создаем каталог для монтирования нашего устройства:
sudo mkdir /media/mtp-device
Устанавливаем права на каталог:
sudo chmod 775 /media/mtp-device
Монтируем устройство:
mtpfs -o allow_other /media/mtp-device
Для отмонтирования устройства выполните команду:
fusermount -u /media/mtp-device
Для удобства можно создать кнопку запуска или прописать команды в ~/.bashrc:
kate ~/.bashrc
Вставляем туда наши команды для монтирования и сохраняем документ:
mtp on="mtpfs -o allow_other /media/mtp-device"
mtp off="fusermount -u /media/mtp-device"
  

Вариант JMTPFS

Установка (из исходиков):
mkdir jmtpfs && cd jmtpfs
wget http://research.jacquette.com/wp-content/uploads/2012/05/jmtpfs-0.4.tar.gz
tar -xf jmtpfs-0.4.tar.gz
cd jmtpfs-0.4
sudo apt-get install libmtp-dev libfuse-dev libmagic-dev checkinstall build-essential
./configure
make
sudo make install

Создаем каталог для монтирования нашего устройства:
mkdir ~/mtp-device
Монтируем устройство:
jmtpfs ~/mtp-device
Для отмонтирования устройства выполните команду:
fusermount -u ~/mtp-devicee


Так же доступны другие программы для работы с MTP-устройствами, такие как:
simple-mtpfs
go-mtpfs
gvfs-mtp

Источник:
wiki.archlinux.org

2 комментария: