5 votes

Comment faire pour que mon PC Linux monte mon téléphone Android 4.2.2 en utilisant MTP ?

Je viens d'acheter un nouveau téléphone TCL (S950) Idol x et je cherche à résoudre un problème pour le rendre visible sur mon système.

Ce téléphone utilise Android 4.2.2 et je suppose que c'est la cause du problème : mon précédent téléphone avec Android 4.1 s'affichait correctement dans nautilus/dolphin ( avec mtpfs )

Maintenant, j'ai essayé d'installer mtp-tools mais rien n'a changé.

lsusb me donne cette liste (T & A Mobile Phones devrait être mon téléphone)

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 1bbb:0168 T & A Mobile Phones 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1bcf:2b80 Sunplus Innovation Technology Inc. 
Bus 002 Device 003: ID 8086:0189 Intel Corp. 

dmesg me donne cette sortie :

[15780.855333] usb 3-2: new high-speed USB device number 2 using xhci_hcd
[15780.874336] usb 3-2: New USB device found, idVendor=1bbb, idProduct=0168
[15780.874348] usb 3-2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[15780.874354] usb 3-2: Product: TCL S950
[15780.874359] usb 3-2: Manufacturer: TCT
[15780.874364] usb 3-2: SerialNumber: FESKMRSOYLW8RKSK

Une idée de ce qui pourrait clocher ici ?

UPDATE : J'ai ajouté les règles suivantes à udev ( /etc/udev/rules.d/11-android.rules ) et maintenant au moins adb shell fonctionne bien :

## TLC
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1bbb", ATTRS{idProduct}==”0167, MODE="0777", OWNER="fra"

( changement OWNER nom d'utilisateur avec le vôtre )

3voto

Logos Points 3841

J'ai écrit un tutoriel sur la manière de faire reconnaître les périphériques MTP sous Ubuntu . Si vous avez déjà installé mtptools et ajouté la règle udev, vous devez encore créer un point de montage statique pour votre périphérique et faire savoir à mtp que c'est là qu'il se trouve. Assurez-vous que vous avez redémarré votre ordinateur ou le service udev depuis que vous avez ajouté la règle udev (sudo service udev restart), puis

  1. sudo mkdir /media/MTPdevice (appelez le répertoire comme vous le souhaitez)
  2. sudo chmod 775 /media/MTPdevice
  3. sudo mtpfs -o allow_other /media/MTPdevice

Attachez votre téléphone (assurez-vous qu'il est déverrouillé, si vous disposez d'un code PIN ou d'un code de balayage). Vous devriez alors être en mesure de voir les cartes internes et externes. Notez que vous ne pourrez pas ouvrir les fichiers directement à partir des cartes, vous devrez d'abord les copier localement.

2voto

Francesco Points 192

Comme suggéré par @Logos, cela fonctionne (attention à l'utilisation de sudo ) :

sudo mtpfs -o allow_other /media/MTPdevice

Cependant mtpfs est très instable sur ce téléphone donc j'ai essayé go-mtpfs et j'ai découvert que ça marche mieux. Vous pouvez installer go-mtpfs en utilisant le informations fournies dans leur site

La commande pour monter le téléphone est très similaire (changez le chemin du bin selon le vôtre) :

sudo /usr/lib/go/bin/go-mtpfs /media/MTPdevice/

Automount
Une fois que vous êtes en mesure de monter le périphérique avec la commande ci-dessus, vous pouvez faire en sorte que le téléphone se monte automatiquement : Il suffit d'ajouter quelques règles à udev.

Vous aurez besoin de ces informations :

  • ID_MODEL (le mien est TCL_S950 )
  • ID_MODEL_ID ( le mien est 0167 )
  • Chemin d'installation de go-mtpfs ( le mien est /usr/lib/go/bin/go-mtpfs )

Vous pouvez trouver ces infos en exécutant cette commande dans un terminal udevadm monitor --environment --udev et brancher/débrancher votre téléphone.

Maintenant, vous pouvez créer/modifier les règles udev. /etc/udev/rules.d/99-android.rules et ajoutez ces lignes (changez ID_MODEL et ID_MODEL_ID par les vôtres) :

 # Mount  
ENV{ID_MODEL}=="TCL_S950", ENV{ID_MODEL_ID}=="0167", ACTION=="add", RUN+="/usr/bin/sudo -b  /usr/lib/go/bin/go-mtpfs -allow-other=true /media/MTPdevice"
# Umount 
ENV{ID_MODEL}=="TCL_S950", ENV{ID_MODEL_ID}=="0167", ACTION=="remove", RUN+="/bin/umount /media/MTPdevice"

À ce stade, tout devrait fonctionner, consultez ce fil de discussion pour plus de détails : source

0voto

smonff Points 113

En supposant que vous utilisez une distribution basée sur Ubuntu 12.04 ou 12.10 (les versions 13 et supérieures prennent en charge cette fonctionnalité de manière native) et que gvfs-mtp est déjà installé :

  1. Ajouter le dépôt de backport pour le support MTP dans GVFS :

    sudo add-apt-repository ppa:langdalepl/gvfs-mtp
    sudo apt-get update
  2. Mettez le système à niveau, vous devriez voir de nombreux paquets gvfs dans la liste :

    sudo apt-get upgrade
  3. Redémarrage.

Source : http://blog.sukria.net/2013/03/09/support-for-nexus-4-in-ubuntu-12-10/

0voto

Yarik Points 332

En fait, le plus simple est de modifier /usr/lib/udev/rules.d/69-libmtp.rules en ajoutant votre ID de produit car il est probable qu'il contienne déjà votre ID de vendeur, donc créez une nouvelle ligne pour votre appareil avec votre VID et PID, redémarrez udev et ça marche !

androidalle.com

AndroidAlle est une communauté de androiders 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