J'ai un Google Pixel 5 qui a récemment été mis à jour vers Android 12.
Depuis lors, il n'a pas pu se connecter à mon bureau Debian 11 Linux pour transférer des fichiers de la manière habituelle.
La "méthode habituelle" est la suivante : j'active le débogage USB, je connecte le périphérique à l'ordinateur par USB, je sélectionne "Utiliser l'USB pour" -> "Transfert de fichiers" dans la boîte de dialogue des préférences USB qui est disponible à partir des notifications. Ensuite, sur le bureau Linux, je fais jmtpfs
et transférer des fichiers. (
Cela ne fonctionne plus. Le site jmtpfs
rapports d'invocation :
$ jmptfs /mnt/android
Device 0 (VID=18d1 and PID=4ee2) is a Google Inc Nexus/Pixel (MTP+ADB).
error returned by libusb_claim_interface() = -6LIBMTP PANIC: Unable to initialize device
terminate called after throwing an instance of 'MtpErrorCantOpenDevice'
what(): Can't open device
Aborted
Si je change la sélection de "Transfert de fichiers / Android Auto" dans les préférences USB, je n'obtiens que les résultats suivants No mtp devices found
.
J'ai aussi un mtp-detect
qui signale la même erreur :
$ mtp-detect
libmtp version: 1.1.17
Listing raw device(s)
Device 0 (VID=18d1 and PID=4ee2) is a Google Inc Nexus/Pixel (MTP+ADB).
Found 1 device(s):
Google Inc: Nexus/Pixel (MTP+ADB) (18d1:4ee2) @ bus 2, dev 92
Attempting to connect device(s)
error returned by libusb_claim_interface() = -6LIBMTP PANIC: Unable to initialize device
Unable to open raw device 0
I peut utiliser le adb
outil. adb devices
rapporte l'ID du dispositif et le "dispositif", et adb pull /path/to/file destination
fonctionne, donc c'est toujours possible pour faire les opérations de fichiers que je veux faire, mais je suis mystifié par le changement de comportement.
Cette activité est un peu irrégulière, donc je ne peux pas prouver c'est la mise à jour Android 12 qui l'a provoqué, il y a également eu des mises à jour de paquets de routine sur le bureau, mais la mise à jour Android semble être le suspect logique, étant donné que les mises à jour de paquets Debian provoquent rarement des pannes.
Le fait que adb fonctionne suggère que les éléments fondamentaux (matériel, câbles, détection des périphériques, pilotes Linux) sont probablement corrects.
Peut-être une sorte de couche supplémentaire de permissions MTP dans Android 12 ? Un changement dans le protocole MTP qui a pris de l'avance sur les outils de la ligne de commande Linux ?
Toute aide est la bienvenue.
La version Android est #SP2A.220505.002.
jmtpfs
est la version empaquetée de Debian-11, et les rapports :
$ jmtpfs --version
jmtpfs version: 0.5
FUSE library version: 2.9.9
fusermount3 version: 3.10.3
using FUSE kernel interface version 7.19
mtp-detect
provient de la version Debian-11 mtp-tools
version 1.1.17-3.