70 votes

Faire fonctionner les appareils activés MTP avec Ubuntu ?

Depuis Ubuntu 13.04, l'accès au stockage des périphériques externes via MTP est censé fonctionner immédiatement grâce à un module GVFS-MTP.

Alors que cette question concerne le Galaxy Nexus, d'autres appareils Android ainsi que les téléphones Windows et les lecteurs multimédias activés en MTP sont également pris en charge.

Pour des remèdes, consultez cette réponse.


Je rencontre pas mal de problèmes pour faire fonctionner les transferts de fichiers en MTP avec le Galaxy Nexus. J'utilise Kubuntu 11.10 64 bits, voici ce que j'ai fait et les résultats obtenus :

  1. Ajouté une règle pour le périphérique dans /etc/udev/rules.d/51-android.rules. La règle est la suivante et fonctionne pour adb :

    SUBSYSTEMS=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", MODE="0666", OWNER="leob" #Galaxy Nexus
  2. Redémarré udev (et l'ordinateur juste pour être sûr).

Adb fonctionne, et toutes les méthodes pour lire depuis le périphérique via MTP semblent fonctionner (j'ai essayé de monter avec mtpfs, gmtp et en utilisant 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, exécuter mtp-newfolder test_dir 0 0 donne la sortie suivante :

libmtp version: 1.1.0
Device 0 (VID=04e8 et PID=6860) est un Samsung GT-P7510/Galaxy Tab 10.1.
La création de dossier a échoué.
ERREUR : Impossible de fermer la session !

Si j'exécute mtp-folders après un échec de mtp-newfolder sans rebrancher le périphérique, j'obtiens la sortie suivante :

Attempting to connect device(s)
Device 0 (VID=04e8 et PID=6860) est un Samsung GT-P7510/Galaxy Tab 10.1.
PTP_ERROR_IO : échec de l'ouverture de la session, nouvelle tentative après avoir réinitialisé l'interface USB
LIBMTP libusb : tentative de réinitialisation du périphérique 
mtp-folders : Connecté avec succès.
Nom convivial : (NULL)
Erreur 1 : Impossible d'obtenir les informations de stockage.
Erreur 2 : Erreur de la couche PTP 02fe : get_all_metadata_fast() : impossible d'obtenir la liste de propriétés de tous les objets.
Erreur 2 : (Consultez ptp.h pour une explication).
Erreur 2 : Erreur de la couche PTP 02fe : get_handles_recursively() : impossible d'obtenir les poignées d'objet.
Erreur 2 : (Consultez ptp.h pour une explication).
LIBMTP_Get_Storage()
: Ressource temporairement indisponible
OK.

Ainsi que ce qui suit dans dmesg :

[ 1000.912082] usb 2-4 : réinitialisation du périphérique USB haute vitesse numéro 7 à l'aide de ehci_hcd
[ 1001.045877] usb 2-4 : usbfs : le processus 3166 (mtp-folders) n'a pas revendiqué l'interface 0 avant utilisation

Est-ce que quelqu'un a une idée de ce qu'il faut faire ?

ÉDIT :

J'ai également essayé le mode PTP. Encore une fois, la lecture fonctionne bien, mais je ne peux rien écrire sur le périphérique.

0voto

Ferroao Points 521

Comme première étape, je souhaiterai installer jmtpfs (sudo apt-get install jmtpfs dans le terminal - Ctrl+Alt+T), puis créer un dossier avec mkdir nomdudossier et ensuite monter le périphérique avec jmtpfs nomdudossier, puis allez dans nautilus (Fichiers).

Si votre périphérique n'est pas compatible avec la version de libmtp dans ubuntu. Vous devez télécharger et construire une version récente de libmtp (> 1.1.12), comme décrit ici: Comment puis-je installer la dernière version de libmtp?

Vous devriez être capable de voir les dossiers en utilisant également mtp-folders dans un terminal ou avec l'interface graphique gmtp.

Les étapes précédentes pourraient afficher une erreur si vous les exécutez sans sudo:

libusb_open() a échoué!: Permission refusée

Pour éviter d'utiliser sudo, vous devriez ajouter votre périphérique au fichier /etc/udev/rules.d/51-android.rules comme mentionné ci-dessus (voir desgua) et recharger les règles ou redémarrer.

-1voto

RainyRat Points 3680

Juste une petite solution de contournement, connectez votre téléphone basé sur ICS avec le bon vieux mode STOCKAGE DE MASSE http://forum.xda-developers.com/showthread.php?t=1556367

adb install UMS1.0.apk

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X