Depuis Ubuntu 13.04 , l'accès au stockage des périphériques externes via MTP est supposé fonctionner immédiatement via un module GVFS-MTP.
Bien que cette question concerne le Galaxy Nexus, d'autres appareils Android, ainsi que les téléphones Windows et les lecteurs multimédias compatibles MTP sont également pris en charge .
Pour le dépannage, voir cette réponse .
Je rencontre pas mal de problèmes pour que les transferts de fichiers fonctionnent sur MTP avec le Galaxy Nexus. J'utilise Kubuntu 11.10 64 bits, et voici ce que j'ai fait et les résultats obtenus:
Ajout de la règle pour le périphérique dans
/etc/udev/rules.d/51-android.rules
. La règle est la suivante et fonctionne pouradb
:SUBSYSTEMS=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", MODE="0666", OWNER="leob" #Galaxy Nexus
Redémarré
udev
(et ordinateur juste pour être sûr).
Adb fonctionne et toutes les méthodes de lecture de l'appareil via MTP semblent fonctionner (j'ai essayé de monter avec mtpfs, gmtp et d'utiliser directement le package mtp-tools). Cependant, lorsque j'essaie d'écrire sur le périphérique, rien de ce que j'ai essayé ne fonctionne.
Par exemple, en cours d'exécution mtp-newfolder test_dir 0 0
donne le résultat suivant:
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!
Si je cours mtp-folders
après un mtp-newfolder en échec sans rebrancher le périphérique, j'obtiens le résultat suivant:
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.
Accompagné de ce qui suit dans 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
Est-ce que quelqu'un a une idée de ce qu'il faut faire?
MODIFIER:
J'ai aussi essayé le mode PTP. Encore une fois, la lecture fonctionne bien, mais je ne peux rien écrire sur le périphérique.
Réponses:
Depuis Ubuntu 13.04, l'accès au stockage des périphériques externes via MTP fonctionne immédiatement via un module GVFS-MTP.
Question connexe: Y a-t-il des plans pour améliorer le support mtp sur les futures versions d'Ubuntu?
Pour le dépannage, voir cette réponse .
Pour moi, le problème était de ne pas avoir les derniers
libmtp
fichiers sur mon système. J'ai donc corrigé le problème et créé cet article pour aider les autres .Résumé du lien: Il existait un bogue dans les
libmtp
anciennes versions d’Ubuntu. Ce bogue était déjà corrigé dans la dernière source delibmtp
.la source
Avez-vous essayé la suggestion de Bilal Akhtar à Omgubuntu ?
Connexion de votre téléphone ou tablette Android à Ubuntu avec MTPFS
Installer
Tout d’abord, installez les outils nécessaires avec
sudo apt-get install mtp-tools mtpfs
Connectez votre Galaxy Nexus à votre ordinateur. Sur votre téléphone, ouvrez le tiroir de notification et cliquez sur "Type de connexion USB". Assurez-vous que MTP est sélectionné.
Ensuite, exécutez ces commandes:
Vous obtiendrez une sortie comme celle-ci:
Maintenant, lancez ces commandes:
Une fenêtre Gedit devrait s'ouvrir. Tapez ce texte dedans, le tout sur une seule ligne :
Remplacez-le
VENDORID
par celui queidVendor
vous aviez noté plus tôt. De même, remplacezPRODUCTID
par le queidProduct
vous aviez noté. Dans mon cas, ils l'étaient04e8
et685c
respectivement, mais ils auraient pu être différents pour vous.Enregistrez et fermez le fichier. Ensuite, déconnectez votre téléphone et exécutez les commandes suivantes:
$USER
est une variable shell par défaut et doit être l'utilisateur que vous souhaitez ajouter (généralement vous-même). Maintenant, lancez cette commande:Dans la fenêtre de Gedit, supprimez le
#
au début de la dernière ligne (celle qui commence par#user_allow_other
) comme ceci:Vous avez presque fini! Maintenant, redémarrez votre ordinateur et ensuite exécutez ces trois commandes:
Usage
Connectez votre téléphone, assurez-vous qu'il utilise le protocole MTP et lancez-le
android-connect
.Voila! Vous pouvez maintenant parcourir le contenu de votre téléphone Android à l'aide de Nautilus. Lancez simplement le gestionnaire de fichiers, puis dans la barre latérale, cliquez sur GalaxyNexus pour parcourir le contenu de votre téléphone, comme vous le feriez avec une clé USB. Vous pouvez également ajouter, supprimer et modifier des fichiers comme un système de fichiers normal.
Pour retirer le téléphone en toute sécurité, lancez simplement
android-disconnect
.Conclusion
A partir de maintenant, il vous suffit de courir
android-connect
pour monter votre téléphone, puisandroid-disconnect
de le retirer en toute sécurité. Tout le reste devrait être traité automatiquement. J'ai essayé de nombreuses manières de faire en sorte que le montage et le démontage se produisent automatiquement lors d'une connexion par câble, mais c'était la meilleure solution que je pouvais trouver.Ces deux commandes ne nécessitent pas d'autorisations root pour s'exécuter. Tous les utilisateurs membres du groupe d'utilisateurs de fusible doivent pouvoir exécuter ces commandes sans accès root.
C'est ça! Vous avez connecté avec succès votre téléphone Ice Cream Sandwich à votre ordinateur Ubuntu. Le processus peut être long pour un débutant, mais je suis sûr que quelqu'un va venir et faire une interface graphique pour tout cela afin que tout se passe bien. :)
la source
mtpfs
ou ne prend-il en charge qu'un seul appareil connecté à la fois?Connexion de périphériques via MTP avec GVFS
Depuis Ubuntu 13.04, l’accès de stockage aux périphériques compatibles MTP fonctionne immédiatement grâce à un backend GVFS . S'il vous plaît jeter un oeil sur Y at -il des plans pour améliorer le support mtp sur les futures versions d'Ubuntu? pour les instructions d'installation avant 13.04.
Cette solution devrait fonctionner pour tous les appareils Android offrant une fonctionnalité MTP et probablement tous les appareils non Android dotés de fonctionnalités MTP, tels que les téléphones Windows et les lecteurs multimédias portables .
Ne soyez pas confus
Il y a eu une certaine confusion, essayons de clarifier les choses:
Vous n'avez rien à faire qui puisse annuler votre garantie!
Le déverrouillage fait simplement référence au lockscreen du système d’exploitation dans cette réponse.
Vous n'avez pas besoin de configurer l'accès des développeurs à votre appareil comme ADB, Fastboot ou quelque chose de similaire via certaines règles udev. (Vous pouvez trouver des instructions pour Android dans le chapitre Configuration de l' accès USB son e ou son e .)
Autant que je sache, vous n'avez pas non plus besoin de FUSE ni de configuration d'options liées à FUSE.
Dépannage des problèmes
Je ne peux pas mettre de fichiers sur l'appareil.
Votre appareil doit être déverrouillé pour accéder au stockage de l'appareil avec Ubuntu via MTP.
Je reçois un message d'erreur indiquant que le périphérique ne peut pas être monté.
Si vous obtenez le message d'erreur ci-dessous, essayez de rebrancher le périphérique une fois .
Si le message d'erreur réapparaît, ouvrez une nouvelle fenêtre Nautile à partir du lanceur (de préférence en cliquant sur l'icône du périphérique) et fermez probablement la fenêtre Nautile actuelle. Peut-être lié: Comment créer des règles udev pour désactiver l'un des appareils Android?
Vérifiez s'il existe des règles udev pour votre appareil
Ouvrez un terminal et tapez
lsusb
. Trouvez votre appareil dans la sortie et notez l'ID (par exemple0fce:01b1
). La première partie est l'ID du fournisseur, la dernière partie l'ID du produit.Ouvrez le fichier de règles mtp udev correspondant avec
nano /lib/udev/rules.d/69-libmtp.rules
et recherchez l’ID de votre produit (utilisez Ctrl+ W). Si vous ne le trouvez pas, vous devez créer une entrée personnalisée en/etc/udev/rules.d/69-libmtp.rules
suivant le schéma ci-dessous et redémarrer .Vous devriez envisager de créer un bogue contre le paquetage libmtp (plus précisément libmtp-common ) pour que votre périphérique soit inclus dans les versions futures, si cela vous convient .
Je n'arrive toujours pas à me connecter
Votre appareil n'est pas pris en charge par le sous-jacent
libmtp
ou vous risquez de rencontrer le même problème que mon Lumia 620. Suivez la solution de contournement (étapes à suivre pour la reproduction). J'ai posté dans LP # 1247572: Nokia Lumia 620 (WP8) ne parvient pas à monter de manière fiable via gvfs-mtp dans le nautile . (L'appareil ne fonctionne toujours pas sans problème ici, mais l'utilisationmtp-detect
aide.)Vous devez rechercher le dispositif de suivi des bogues libmtp pour votre périphérique et suivre les instructions relatives aux nouveaux périphériques sur la page du projet pour ouvrir un rapport de bogue.
Le système de suivi des bogues indique que mon périphérique est pris en charge, mais il ne fonctionne toujours pas.
Dans certains cas, un rapport de bogue concernant votre appareil a peut-être déjà été enregistré et résolu dans une version plus récente de libmtp que celle fournie par votre distribution (par exemple: Motorola Moto G ). Si tel est le cas, vous devrez attendre que les référentiels officiels soient mis à jour ou rechercher un PPA mis à jour.
Une liste mise à jour de toutes les versions de libmtp disponibles via les canaux logiciels officiels Ubuntu et les PPA privés est disponible ici (veillez à développer d' autres versions de 'libmtp' dans des archives non fiables ). À partir du 14/02/2014, ce PPA de Matthieu Baerts propose le dernier paquet libmtp disponible pour Ubuntu.
Avertissement : ce PPA contient une variété de paquets différents et éventuellement instables. Je déconseille de l'ajouter à votre système. Au lieu de cela, vous pouvez télécharger les packages libmtp séparément et les installer manuellement sur votre système.
Veuillez vous familiariser avec les AAE et leurs risques avant d'aller plus loin. Veuillez également lire le paragraphe ci-dessous sur la restauration de vos packages d'origine avant de procéder aux étapes suivantes:
Télécharger les packages suivants:
libmtp-common
,libmtp-runtime
,libmtp9
,mtp-tools
. Assurez-vous de choisir la bonne architecture pour votre système (ce sera généralement le casamd64
).Voici les liens de paquetage au 14/02/2013: libmtp-common , libmtp-runtime , libmtp9 , mtp-tools
Procédez à l'installation manuelle des packages mis à jour avec dpkg (accédez
$HOME/Downloads
au dossier de téléchargement et assurez-vous qu'aucun autre fichier deb n'est présent:Une fois que tout est installé avec succès, redémarrez votre ordinateur, déverrouillez votre appareil Android, connectez-le via USB et cela devrait apparaître dans votre gestionnaire de fichiers.
Cela a bien fonctionné pour moi (@ Glutanimate) avec mon Motorola Moto G. Parce que j’utilisais Ubuntu 12.04 LTS, j’ai dû installer une version mise à jour de
gnome-gvfs
. Veuillez consulter les instructions d'installation avant 13.04 en haut pour plus d'informations.Pour annuler les modifications si quelque chose ne va pas ou si le périphérique n'est toujours pas reconnu, vous devrez installer manuellement les packages d'origine. Tête à la vue d' ensemble des sources de libmtp et trouver votre version d' Ubuntu. Développez l'entrée en question et procédez au téléchargement des packages, comme vous l'avez fait à l'étape 2 précédemment. Continuez l’installation comme décrit à l’étape 3 et redémarrez votre système. Tout devrait être revenu à la normale maintenant.
la source
/etc
est entièrement à vous. Comme expliqué ci-dessus, idéalement, toutes les règles udev devraient être fournies ootb. Sinon, il faut créer un bogue pour inclure la règle manquante/lib/.../69-libmtp.rules
afin que tout le monde soit satisfait de la prochaine version./etc
dépend de vous./lib/udev/rules.d/69-libmtp.rules
est ce que les responsables du paquet ont choisi et je suggère de déposer un bogue sur ce paquet (j'ai mis à jour ma réponse) pour les utilisateurs rencontrant ce problème. Si cela vous pose toujours un problème, parlez-en aux responsables ou publiez votre propre réponse. Je me retire maintenant de cette conversation avec vous sur ce sujet.Tous les programmes basés sur
libmtp
semblent toujours avoir des problèmes avec le Galaxy Nexus (à partir de libmtp 1.1.3). Des programmes basés sur legphoto2
travail pour moi.Personnellement, j'utilise
gphotofs
, disponible dans un paquet du même nom.Utilisez
gphotofs ~/mymountpoint
pour monter, puisfusermount -u ~/mymountpoint
pour démonter lorsque vous avez terminé.la source
gphotofs
me laisse avec un seul répertoire vide.Installez ce qui suit et redémarrez:
la source
The following packages have unmet dependencies: gvfs-backends : Depends: gvfs (= 1.28.2-1ubuntu1~16.04.2) but 1:1.20.3-4salbabix27trusty is to be installed Depends: gvfs-daemons (= 1.28.2-1ubuntu1~16.04.2) Depends: gvfs-libs (= 1.28.2-1ubuntu1~16.04.2) but 1:1.20.3-4salbabix27trusty is to be installed Depends: gvfs-common (= 1.28.2-1ubuntu1~16.04.2) but 1:1.20.3-4salbabix27trusty is to be installed E: Unable to correct problems, you have held broken packages.
Dans un premier temps, je voudrais installer
jmtpfs
(sudo apt-get install jmtpfs
dans le terminal - Ctrl+ Alt+ T), puis créer un dossier avecmkdir foldername
puis monter le périphérique avecjmtpfs foldername
, puis aller à Nautilus (Fichiers).Si votre appareil n'est pas compatible avec la
libmtp
version d'ubuntu. Vous devez télécharger et construire une version récentelibmtp
(> 1.1.12), comme dans: Comment puis-je installer la dernière version de libmtp?Vous devriez être capable de voir les dossiers également en utilisant
mtp-folders
dans un terminal ou avec l'interface graphiquegmtp
.Les étapes précédentes peuvent afficher une erreur si vous les exécutez sans
sudo
:Pour éviter d’utiliser sudo, vous devez ajouter votre appareil au
/etc/udev/rules.d/51-android.rules
fichier comme indiqué ci-dessus (voir manuel) et recharger les règles ou redémarrer.la source
Juste une solution de contournement, connectez votre téléphone ICS avec le bon vieux MASS STORAGE http://forum.xda-developers.com/showthread.php?t=1556367
la source