MTP/PTP sous Centos 7 (android Media/Photo Tranfer Protocol)

De TechWik
Révision datée du 12 octobre 2015 à 20:25 par Toine (discussion | contributions) (accès aux dossiers Android via la connexion USB et le protocole MTP / PTP)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

Android à partir de Kitkat introduit MTP/PTP au lieu du montage "USB mass storage". Essentiellement pour des limiter les conflits d'accès entre android et le PC. Pour accéder en MTP/PTP depuis CentOS-7:

  • installer jmtpfs depuis le dépôt nux-sdesktop:
 $ sudo yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
 $ sudo yum -y install jmtpfs                                                                             
  • choisir le mode de connexion USB
  • monter le périphérique
 $ mkdir -p ~/mtpfs
 $ jmtpfs ~/mtpfs
  • Si on a en réponse
 "No mtp devices found."
 alors, le produit android n'est peut-être pas reconnu, trouver ses identifiants par lsusb / dmseg
 => repérer selon que "connexion USB a l'ordi" en mode MTP ou PTP (voir menu Android de paramètres => stockage )
 $ sudo lsusb:
 par exemple:
   PTP:   Bus 002 Device 011: ID 22b8:2e83 Motorola PCS
   MTP:   Bus 002 Device 022: ID 22b8:2e82 Motorola PCS
   ici, 22b8 : id-fabriquant, 2e82,2e83: id produit. 
   * NB: pour le moto-G, le mode PTP est pris en charge nativement par Linux, même sans jmtpfs => accès aux photos de l'appareil
   * mode MTP : rien ne se passe. 
   
 $ rpm -ql libmtp
 /usr/lib/udev/mtp-probe
 /usr/lib/udev/rules.d/69-libmtp.rules
 /usr/lib64/libmtp.so.9
 /usr/lib64/libmtp.so.9.1.0
 $ grep 22b8 /usr/lib/udev/rules.d/69-libmtp.rules
 ATTR{idVendor}=="22b8", ATTR{idProduct}=="2a65", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
 .. 
 ATTR{idVendor}=="22b8", ATTR{idProduct}=="710f", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
 ici d'idproduct avec 2e82 => on ajoute la ligne
    ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e82", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
 puis:
 $ sudo udevadm control --reload-rules
 $ jmtpfs ~/mtpfs
     Device 0 (VID=22b8 and PID=2e82) is UNKNOWN.
     Please report this VID/PID and the device model to the libmtp development team
     Android device detected, assigning default bug flags
 
  • accès désormais ok, on accède aux fichiers dans ~/mtpfs, puis on démonte quand on a fini:
   fusermount -u ~/mtpfs
   
  • voir ensuite le bugtracker libmtp: le produit a peut-être été déclaré entretemps dans une version plus récente...

cf pour mémoire : http://nuxref.com/2013/10/15/upgrading-the-mtp-support-on-centos-6/