не удалось открыть устройство mtp linux mint
Как передавать файлы между Android и Linux
В настоящее время многие дружественные к пользователю дистрибутивы уже настроены на загрузку файлов на телефон Android с Linux и для скачивания фотографий и любых других файлов с телефона на Linux. Поэтому достаточно подключить телефон к компьютеру по USB кабелю, затем в телефоне разрешить обмен данными по USB и в Linux вы увидите содержимое телефона, а также его карты памяти прямо в файловом менеджере (проводнике).
Тем не менее эта функциональность присутствует не на всех версиях Linux, либо вы можете столкнуться с проблемами, что что-то не работает. Эта инструкция поможет вам настроить с нуля обмен файлами между Android и Linux, а также разобраться в возможных проблемах, почему Linux не видит телефон.
Linux не видит Android телефон
Если вы подключили Android телефон к Linux, но ничего не происходит и, в особенности, телефон не спрашивает разрешение на передачу данных, то начните с самого простого — попробуйте использовать другой USB провод. Некоторые кабели просто не способны передавать данные, так как там отсутствуют необходимые для этого контакты. Также выполните такие простые действия как перезагрузка компьютера и перезагрузка телефона.
Если там будет показано что-то вроде:
То есть если будет строка «No raw devices found.», значит нужно обратить внимание на кабель.
Если появится сообщение об ошибке (команда не найдена), то в Debain и производных (Ubuntu, Linux Mint, Kali Linux) установите необходимые пакеты:
В Arch Linux и производных:
Передача файлов с/на телефон без провода
Прежде всего, отметим, что вам не нужен USB для передачи файлов с телефона и на телефон. Вы можете передавать файлы с/на Android устройства используя Wi-Fi сеть вашего устройства — то есть вам не нужно настраивать роутер или что-то ещё. Просто установите приложение Airdroid на ваше устройство Android. Затем активируйте Мобильную точку доступа Wi-Fi на вашем устройстве и откройте программу Airdroid.
Теперь с вашего компьютера подключитесь к точке доступа, которую создал ваш телефон. На компьютере в любом веб-браузере откройте URL адрес, которую вам даст Airdroid. Будут запрошены разрешения, нажмите Подключить.
Вот и всё! Работает на любом операционной системе, у которой есть веб-браузер, то есть везде.
Настройка автоматического подключения телефона
В настоящее время окружения рабочего стола сами монтируют телефон при его подключению к Linux. Если этого не происходит, значит не хватает каких-то необходимых пакетов.
В Debain и производные (Ubuntu, Linux Mint, Kali Linux) проверьте и, в случае отсутствия, устаовите:
В Arch Linux и производных установите:
Обратите внимание, что в репозиториях Arch Linux также присутствует пакет fuse3 — можете попробовать установить его вместо fuse2.
Подключите телефон к компьютеру и на телефоне разрешить обмен данными:
Если установка пакетов не помогла, попробуйте перезагрузить компьютер, также проверьте файл fuse.conf:
Найдите строку с #user_allow_other и убедитесь, что она раскомментирована, то есть выглядит так:
Настройка автоматического монтирования флешек телефона
Если вы отключили автоматическое монтирование устройств на уровне системы, то вы можете настроить автоматическое монтирования телефона с помощью правил udev.
В выводе команды mtp-detect найдите значение idVendor и idProduct.
Можно использовать следующие команды для ускорения процесса
Создайте файл с udev правилом:
в нём разместите следующее содержимое:
К примеру, мои данные:
Тогда моё правило выглядит так:
Чтобы это правило вступило в силу без перезагрузки компьютера выполните:
Отредактируйте файл fuse.conf:
Найдите строку с #user_allow_other и раскомментируйте её, чтобы получилось:
Как подключить телефон с Android к Ubuntu как MTP устройство
Один из способов подключить Android к Ubuntu Linux
Данное руководство проверено для телефонов Samsung Galaxy Nexus и Samsung Galaxy S 2 (в дальнейшем «телефон» или «Android«). Думаю, и для многих других будет также справедливо.
Телефон при подключении к компьютеру по USB кабелю информирует пользователя и предлагает выбрать: подключиться как MTP-устройство (это различные музыкальные плееры, хранилища музыки и просто файлов), или же подключиться как камера.
Кстати, на месте «Ubuntu» тут можно написать «Linux Mint» — для него всё ровно то же. А при должной замене названий команд установки пакетов — это будет работать на большинстве Linux-based систем (названия самих пакетов обычно совпадают).
Итак, чтобы можно было использовать в Ubuntu телефон с Android в качестве MTP-устройства, нужно установить пакеты mtpfs — для того, чтобы можно было использовать телефон, как обычный примонтированный диск. mtp-tools также окажется полезным.
Далее вводим команду mtp-detect для выяснения подробностей о телефоне, что мы подключили:
Здесь для нас важны 2 числа: VID и PID. Это vendor id и product id — идентификатор производителя и идентификатор продукта (модели устройства).
Теперь нам нужно отредактировать конфигурационный файл:
Тут то нам и пригодятся VID и PID! Пишем в файле:
Не забыть заменить 04e8 и 685c на нужные VID и PID — соответственно!
Чтобы правило из конфигурационного файла вступило в силу — перезапускаем udev:
Создаём папку, в которую будет монтироваться (подключаться Android). Например так:
Теперь добавим себя в группу тех, кто может подключать устройства:
На всякий случай проверим, можно ли пользователям вообще подключать подобные устройства:
Строчка «#user_allow_other» должна быть раскоментирована (без решётки спереди), то есть «user_allow_other».
После перезагрузки можно будет подключать устройство с помощью довольно длинной команды. Однако, для удобства создадим свои команды, делающие то же самое:
После перезагрузки можно будет выполнить команду «android-on«, чтобы подключить телефон. И команду «android-off«, чтобы отключить.
Как заставить работать MTP
Ubuntu обновить. Использовать попсовое DE – GNOME
И всё будет более-менее из коробки.
Забей на это поделие проприетарщмков, покусанных копирастами. Используй kdeconnect, он рулит и педалит.
У меня были похожие проблемы, только несколько лет назад.
Пользуюсь KDE, оно там вроде встроено, никаких проблем с MTP.
Ну и конечно KDEConnect рулит и педалит.
А что, MTP уже умеет не зависать намертво при передаче >10 файлов?
И в последних версиях жрёт батарею на телефоне. А ещё скорость ниже, чем по MTP.
По теме: использую Android File Transfer; просто установил — просто работает (Fedora, KDE).
Вот сколько лет пользуюсь, такого не видел.
Хотя, конечно, доступ к хранилищу как к стандартной флешке был бы лучше.
Использую тот что в KDE. Бажный, но в целом терпимо.
Если все установлено и настроено, после подключения, устройство нужно разблокировать и в шторке ткнуть в уведомление «Зарядка через USB» изменить на «Передача файлов по MTP».
Соответствующие пользователи должны находиться в группе storage (в gentoo это группа plugdev).
Media Transfer Protocol (MTP)[1] — основанный на PTP[en] аппаратно-независимый протокол, разработанный компанией Microsoft для подключения цифровых плееров к компьютеру.
«это наверно самое глючное подделие на Linux» разработанный компанией Microsoft ну ты понил да.
Скажите, что еще надо сделать, чтоб этот MTP заставить работать?!
Не знаю у меня оно просто работает. И да не без глюков но это зависит от множества вещей засим похрен. И да adb никто не запрещал если что.
Не знаю как у вас в криокамере, а на Ubuntu 18.x всё Ок с MTP. На той, что уже с Gnome вместо Unity. На arch с последним гномом тоже MTP пашет на ура из коробки.
В консоли пердоль mtp-send или как там его.
В консоли пердоль
mtp-sendadb push или как там его.
Android MTP и Linux
Добрый день. Как вы работаете с android устройствами, подключающимися по протоколу MTP(в которых нет возможности подключиться в качестве обычного usb накопителя)? В Kubuntu 16.04 данные устройства определяются и можно скопировать данные. Но копирование крайне нестабильно. То обрывается ошибкой копирования, то вообще висит и список файлов не выводит. А как с этой чудо технологией работаете вы?
У меня в Debian 9 Xfce поставлены пакеты libmtp9 и gvfs-backends, thunar норм подхватывает. Проблемы с отваливанием были, но я заменил USB кабель и они исчезли.
Лучше всего установить SSHDroid (работает даже без рута), и копируй что хочешь хоть по WiFi, хоть по usb шнурку, подключив телефон в режиме модема, через sshfs.
Android File Transfer наиболее стабильный ИМХО. Но лучше вместо MTP использовать sshfs (KDE Connect для удобного подключения) или FTP (свободный файловый менеджер Amaze поволяет поднять сервер).
ага, вот как раз amaze спасаюсь. но и он иногда падает.
В Kubuntu 16.04 данные устройства определяются и можно скопировать данные. Но копирование крайне нестабильно. То обрывается ошибкой копирования, то вообще висит и список файлов не выводит.
В Windows оно работает точно также. Это не зависит от ОС.
Поставь себе kdeconnect и не мучайся.
Не то чтобы так же, в целом лучше. Но иногда появляются дебильные баги, типа ошибок чтения или записи. Иногда спасает плагин к тоталкоммандеру, который тоже по своему глючен.
В Kubuntu 16.04 данные устройства определяются и можно скопировать данные. Но копирование крайне нестабильно. То обрывается ошибкой копирования, то вообще висит и список файлов не выводит. А как с этой чудо технологией работаете вы?
Тоже мучаюсь, тоже KDE. Но это не важно, на Win10 такие же баги с MTP.
Пару раз из-за того, что каталог /sdcard1 каким-то чудном образом в этом MTP попадал в корень флеш-карты, я терял данные.
В итоге ушел на ADB Pull/Push и доставалку файлов из Android Studio.
Ужасная хрень. Ужасная.
И да, для kde-хейтеров есть похожая софтина на gtk, только вот название подзабыл.
Зачастую проще через дропбокс туда файлы заливать. Или не заливать, а использовать тот же дропбокс. Я только стратегический запас музыки для поездок за бугор, где нет интернета, храню. А так шарах из дропбокса файл и все.
Нет, все так и есть.
Не замечаю разницы. Везде использование MTP для доступа через файловый менеджер несет боль и страдания.
у меня тоже с MTP была проблема. именно из-за конкретного телефона. То есть эти проблемы с бОльшей вероятностью проблема девайса самого, а не компа.
На своём аппарате проблем с MTP ни на онтопике, ни тем более на оффтопике не имел.
Копируй по сети. Зачем тебе тормозной МТП?
MTP убог, я гоняю файлы через rsync поверх SSH.
Умвр и под линаксом.
Висело только один раз и под вендой. Очень смешно система повела себя при копировании файла размером в 6GB (флешка была в FAT32 с лимитом в 4GB). Ползунок просто завис на 4GB, и не ошибки и ничего, как будто процесс продолжается 😀 (на линуксе подобное не пробовал)
Атенсьён! Поганный вантузятник на борту! Срочно сбросить его в винфак!
Отваливается, когда либо шнур плохой, либо штекер в гнезде не плотно сидит.
Пробовал разные кабели. Результат один.
Попробуй разные материнские платы.
мой глючит рандомно, возможно из за самого телефона.
Плюнул, поставил «root ftp server» и «samba filesharing for android» и по wifi. Хотя если единоразово скачать, то можно и MTP.
А как с этой чудо технологией работаете вы?
Нет, так как я на кедах сижу и соответственно kdekonnect.
А как с этой чудо технологией работаете вы?
стараюсь всячески избегать.. на маке с официальным Android File Transfer те же грабли.
Через связку mconnect и gnome-shell-extension-mconnect работают только оповещения, статус батареи, remote input и пересылка файлов с мобильного. Найти телефон, управление плеером, отсылка смс (но можно в консоли mconnectctl send-sms ), шаринг и т.п. пока не работают. Т.ч. это не замена.
Лучше всего установить SSHDroid (работает даже без рута), и копируй что хочешь хоть по WiFi, хоть по usb шнурку
А как при работе по шнурку локальная сеть поднимается? Это делается автоматически, или надо какие-то телодвижения предпринимать? Ну там IP выделить и др. Кто за это отвечает?
традиционный (и гораздо более гибкий) USM большинство производителей андроидфонов просто выпилили.
без этого не получится сделать встроенную флешку, которую можно монтировать через сеть, не размонтируя rootfs на девайсе.
(другой вопрос, что лучше бы гугол придумал свой проприетарный велосипед, чем внедрять не менее проприетарный и говенный MTP)
Спасибо за наводку! Потыкаю.
Тот же вопрос, что и предыдущему оратору: IP-сеть при этом кем создаётся? IP ведь всё равно нужен, что для SSH, что для FTP. Я в тонкостях низкого уровня андроидоподключения к компу, к сожалению, слабо разобрался (а придётся).
Ведроидосмартфоны (с 4 версии ЕМНИП) все умеют поднимать WiFi-сеть или раздавать соединение по USB. В любом случае оба устройства будут в одной сети.
А как при работе по шнурку локальная сеть поднимается? Это делается автоматически, или надо какие-то телодвижения предпринимать? Ну там IP выделить и др. Кто за это отвечает?
В телефоне есть DHCP, поэтому все автоматически. Достаточно его воткнуть и выбрать режим модема в телефоне. Это если использовать DE. Если нет network manager, то надо dhcp сеть на интерфейсе телефона в ручную поднять.
SSHDroid при запуске высвечивает ip, к которому коннектиться с компа.
В случае с WiFi через общеквартирный роутер еще проще, ничего поднимать и не надо.
Во времена 4 андроида какая-то особая повальная мода была на MTP онли. А сейчас, я смотрю, в современных, особенно не самсунгах, режим флешки есть обычно.
SSHDroid при запуске высвечивает ip, к которому коннектиться с компа.
Судя по всему, годнота, попробую.
Работает даже без рута, но тогда не на 22 порту, а на 2222 например. То есть при подключении тогда нужно указывать порт, потому что не дефолтный.
В X-plore есть режим wifi-сервера. У самсунга есть аж две утилиты для доступа к файлам smart switch (по шнурку) и side sync (по вайфаю и можно экран смарта шарить и уведомления принимать).
Linux: подключение флешки – mtp-probe bus: 2, device: 110 was not an MTP device и версия ядра
Имеется новая флешка – Kingston DataTraveler SE9 (DTSE9H/32GB).
Ниже описаны попытки заставить систему её увидеть – и фееричная причина “проблемы”.
Проблема возникла на Arch Linux (причём на двух ноутбуках – рабочем, и домашнем), но не связана с дистрибутивом.
Суть проблемы
При подключении – флешка не монтируется, и в Dolphin не появляется:
Apr 04 20:29:58 setevoy-arch-home kernel: usb 2-1.2: new high-speed USB device number 110 using ehci-pci
Apr 04 20:29:58 setevoy-arch-home kernel: usb 2-1.2: New USB device found, idVendor=0930, idProduct=6544
Apr 04 20:29:58 setevoy-arch-home kernel: usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 04 20:29:58 setevoy-arch-home kernel: usb 2-1.2: Product: DataTraveler 2.0
Apr 04 20:29:58 setevoy-arch-home kernel: usb 2-1.2: Manufacturer: Kingston
Apr 04 20:29:58 setevoy-arch-home kernel: usb 2-1.2: SerialNumber: 50E54951377FC160390C635E
Apr 04 20:29:58 setevoy-arch-home mtp-probe[29850]: checking bus 2, device 110: “/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2”
Apr 04 20:29:58 setevoy-arch-home mtp-probe[29850]: bus: 2, device: 110 was not an MTP device
Apr 04 20:29:58 setevoy-arch-home upowerd[11980]: unhandled action ‘bind’ on /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
Но само устройство USB видно:
Решение 1 – игнорировать mtp-probe
Сейчас не могу найти обсуждение, где нашёл этот вариант – но некоторым, вроде, помогает (хотя не в этом случае, см. далее)
Попробуем добавить условие, что бы при обнаружении этой флешки – libmtp пропускал его, и ядро само начинало монтировать флешку.
Копируем /lib/udev/rules.d/69-libmtp.rules в /etc/udev/rules.d/ (если внести изменения в /lib/udev/rules.d/69-libmtp.rules – они перезапишутся при следующем обновлении пакета libmtp ):
Находим ID вендора и устройства.
Ещё раз смотрим вывод lsusb :
Другой вариант – посмотреть dmesg :
Ну и в выводе journalctl ID тоже указываются:
Apr 04 20:29:58 setevoy-arch-home kernel: usb 2-1.2: New USB device found, idVendor=0930, idProduct=6544
Сохраняем, переподключаем флешку, проверям journalctl :
Apr 04 20:40:30 setevoy-arch-home kernel: usb 2-1.2: new high-speed USB device number 112 using ehci-pci
Apr 04 20:40:30 setevoy-arch-home kernel: usb 2-1.2: New USB device found, idVendor=0930, idProduct=6544
Apr 04 20:40:30 setevoy-arch-home kernel: usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 04 20:40:30 setevoy-arch-home kernel: usb 2-1.2: Product: DataTraveler 2.0
Apr 04 20:40:30 setevoy-arch-home kernel: usb 2-1.2: Manufacturer: Kingston
Apr 04 20:40:30 setevoy-arch-home kernel: usb 2-1.2: SerialNumber: 50E54951377FC160390C635E
Apr 04 20:40:31 setevoy-arch-home upowerd[11980]: unhandled action ‘bind’ on /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
ОК, флешку видит, ошибки mpt-probe теперь нет, но не монтирует – не создаётся устройство /dev/sdb :
Проверяем dmesg – тут тоже ничего:
Интересно, почему дата в dmesg неправильная – но тут ответ нашёлся в man dmesg :
-T, –ctime
Print human-readable timestamps.
Be aware that the timestamp could be inaccurate! The time source used for the logs is not updated after system SUSPEND/RESUME.
Драйвер usb-storage
Тут пришлось немного почитать про USB subsystem в Linux вообще – довольно интересно.
Несколько полезных ссылок:
ОК, проверяем наличие драйвера usb-storage :
usb-storage нет… Хотя файл драйвера – есть:
Или в выводе самого modprobe :
Тут я ещё пробовал добавить правило для udev:
Но это не помогло, потому останавливаться на этом не буду.
True “решение”
А теперь – внимание.
4.15.14-1-ARCH и 4.15.9-1-ARCH.
Первая мысль – “Да ладно, б***. Всё оказалось так просто?”…
Систему я обновляю регулярно, каждую неделю, а вот перезагружать ноутбук – не хочется, ибо вкладки в браузере и вообще…
В результате, получаем ситуацию, когда файл ищется по пути текущей версии ядра – 4.15.9-1-ARCH, а расположен в каталоге /lib/modules/4.15.14-1-ARCH …
Удвило, что о проблеме с загрузкой драйвера никаких сообщений в логах.
Хорошо – пробуем загрузить модуль вручную, и только теперь увидим ошибку:
В man modprobe даже указывается – как именно он ищет файлы:
Можно было бы попробовать добавить модуль с помощью insmod (который и вызывается modprobe ) – но и тут ошибки:
Собственно, решение – перезагрузить систему, что бы применить новое ядро и каталог поиска драйверов:
Подключаем флешку, проверяем вывод dmesg :
Apr 04 21:14:42 setevoy-arch-home kernel: usb 2-1.2: new high-speed USB device number 7 using ehci-pci
Apr 04 21:14:42 setevoy-arch-home kernel: usb 2-1.2: New USB device found, idVendor=0930, idProduct=6544
Apr 04 21:14:42 setevoy-arch-home kernel: usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 04 21:14:42 setevoy-arch-home kernel: usb 2-1.2: Product: DataTraveler 2.0
Apr 04 21:14:42 setevoy-arch-home kernel: usb 2-1.2: Manufacturer: Kingston
Apr 04 21:14:42 setevoy-arch-home kernel: usb 2-1.2: SerialNumber: 50E54951377FC160390C635E
Apr 04 21:14:42 setevoy-arch-home kernel: usb-storage 2-1.2:1.0: USB Mass Storage device detected
Apr 04 21:14:42 setevoy-arch-home kernel: scsi host6: usb-storage 2-1.2:1.0
Apr 04 21:14:42 setevoy-arch-home kernel: usbcore: registered new interface driver usb-storage
Apr 04 21:14:42 setevoy-arch-home kernel: usbcore: registered new interface driver uas
Apr 04 21:14:42 setevoy-arch-home upowerd[4262]: unhandled action ‘bind’ on /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
Apr 04 21:14:42 setevoy-arch-home upowerd[4262]: unhandled action ‘bind’ on /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0
Apr 04 21:14:43 setevoy-arch-home kernel: scsi 6:0:0:0: Direct-Access Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 4
Apr 04 21:14:43 setevoy-arch-home kernel: sd 6:0:0:0: [sdb] 60620800 512-byte logical blocks: (31.0 GB/28.9 GiB)
Apr 04 21:14:43 setevoy-arch-home kernel: sd 6:0:0:0: [sdb] Write Protect is off
Apr 04 21:14:43 setevoy-arch-home kernel: sd 6:0:0:0: [sdb] Mode Sense: 45 00 00 00
Apr 04 21:14:43 setevoy-arch-home kernel: sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn’t support DPO or FUA
Apr 04 21:14:43 setevoy-arch-home kernel: sdb: sdb1
Apr 04 21:14:43 setevoy-arch-home kernel: sd 6:0:0:0: [sdb] Attached SCSI removable disk