Je pouvais me connecter à mon Android Alcatel Pixi 4 (5) via MTP sous Ubuntu 16.04 (il y avait un bug où le protocole "était inattendu" si une suppression de fichier était suivie d'une copie de fichier, mais cela fonctionnait autrement).
Après la mise à niveau vers Ubuntu 18.04, je reçois le message "Le protocole est mort inopinément" dans Dolphin chaque fois que j'essaie de parcourir le périphérique.
#> mtp-detect
libmtp version: 1.1.13
Listing raw device(s)
Device 0 (VID=1bbb and PID=0167) is a Alcatel/TCT 6010D/TCL S950.
Found 1 device(s):
Alcatel/TCT: 6010D/TCL S950 (1bbb:0167) @ bus 3, dev 2
Attempting to connect device(s)
ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
ignoring libusb_claim_interface() = -6LIBMTP PANIC: failed to open session on second attempt
Unable to open raw device 0
OK.
dmesg contient:
[ 471.588800] usb 3-4: usbfs: process 9290 (gmtp) did not claim interface 0 before use
[ 471.715547] usb 3-4: reset high-speed USB device number 3 using xhci_hcd
[ 471.864513] usb 3-4: usbfs: process 9290 (gmtp) did not claim interface 0 before use
[ 471.864735] usb 3-4: usbfs: process 2562 (events) did not claim interface 0 before use
J'ai essayé de construire libmtp-1.1.15 à partir de la source, le problème persiste. Le périphérique fonctionne via un accès MTP sous Windows sur le même ordinateur.
J'ai eu un problème similaire avec mon openSUSE. Après avoir installé jmtpfs
, kio-mtp
mtp-tools
, le problème a disparu et tout a commencé à fonctionner correctement.
Si vous avez déjà utilisé jmtpfs
ou un outil similaire avec un point de montage de ~/Android_mount/
, assurez-vous d'abord qu'il n'est pas monté:
# unmount previously mounted device
fusermount -u ~/Android_mount/
# this should show empty directory
ls -la ~/Android_mount/
Vous pouvez également utiliser la sortie de df
pour voir si elle est peut-être montée ailleurs.
Sinon, créez un nouveau point de montage, par exemple ~/Android_mount/
et montez votre téléphone Android, après l'avoir connecté avec un câble USB et passé en mode 'Transfert de fichier' (le paramètre par défaut étant 'Charge'):
# make directory to mount
mkdir -p ~/Android_mount/
# mount the device (can take several minutes)
# it will also show device information while mounting
jmtpfs ~/Android_mount/
# now you should see internal storage if you don't have an SD card
ls -la ~/Android_mount/
drwxrwxr-x 12 login login 0 Jan 3 44248648 Internal storage
# if it has an SD card too, then it'll show 2 entries
# look inside
ls -la ~/Android_mount/Internal\ storage/
Vous pouvez maintenant utiliser les fichiers comme vous le feriez avec n'importe quel périphérique USB.
# when finished, unmount the device
fusermount -u ~/Android_mount/
Pourriez-vous ajouter jmtpfs -l
à votre question?
Examinez les packages gvfs, mtp *, dans Synaptic et sous package-> forcer la version du package, définissez-le sur (nom de code) -updates. Si cela échoue, supprimez le package et réinstallez tous les packages que vous supprimez. Les paquets n'ont probablement pas été mis à niveau vers la version appropriée.
Redémarrez et vous devriez voir les appareils Android ouverts.
faire un répertoire pour monter
mkdir -p ~/Android_mount/
monter le périphérique (peut prendre plusieurs minutes), il affichera également les informations relatives au périphérique lors du montage
jmtpfs ~/Android_mount/
maintenant, vous devriez voir la mémoire interne si vous n'avez pas de carte SD
ls -la ~/Android_mount/
drwxrwxr-x 12 login login 0 Jan 3 44248648 Internal storage
si elle a aussi une carte SD, elle affichera 2 entrées
regarde à l'intérieur
ls -la ~/Android_mount/Internal\ storage/
Mon mobile commence à fonctionner maintenant ...
Si MTP ne fonctionne pas, essayez plutôt KDE Connect.
Voir ces références: