MTP/PTP sous Centos 7 (android Media/Photo Tranfer Protocol)
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/