Comment obtenir le nom du périphérique MTP

11

... J'ai essayé la recherche mais ça donne une tonne de "comment connecter les appareils MTP"

Je veux juste savoir comment obtenir le nom d'un appareil connecté comme (Nexus 10 ou Galaxy S5), que je peux voir dans la liste des appareils Nautilus.

Andrew Matuk
la source

Réponses:

13

J'ai trouvé cela étonnamment difficile. J'ai un Nexus 5 et KDE (en utilisant libmtp, je pense) l'affiche comme un Nexus 5. Mon premier réflexe était que KDE regardait simplement la base de données matérielle. Cela mappe les chaînes de fournisseurs et de produits des périphériques USB à des noms connus. Voici le problème:

$ lsusb
Bus 002 Device 011: ID 18d1:4ee1 Google Inc. Nexus 4

Mon Nexus 5 vient tout juste d'être rétrogradé! Donc, KDE ne l'obtient pas de là.

Nous pouvons utiliser udevadmpour interroger les appareils. Dans ce cas, nous devons lui transmettre une référence à l'appareil. Je vais utiliser les numéros de bus / périphérique ci-dessus (ils doivent être %03dformatés, donc 1 devient 001, 20 devient 020, etc.):

$ udevadm info --name=/dev/bus/usb/002/011
...
E: ID_MODEL=Nexus_5
E: ID_MODEL_ENC=Nexus\x205
E: ID_MODEL_FROM_DATABASE=Nexus 4
...

Il y a beaucoup d'autres conneries mais cela ID_MODELsemble être ce que nous voulons. Si vous avez besoin d'extraire et de traiter cela, vous pouvez l'exécuter awk(ou un autre) pour le nettoyer et remplacer le trait de soulignement:

$ ... | awk -F'=' '/ID_MODEL=/{gsub("_"," ");print $2}'
Nexus 5
Oli
la source
comme je l'exécute à partir du script udev / rules $ env {ID_MODEL} fonctionne comme un charme, merci
Andrew Matuk
Ah, encore mieux.
Oli
8

Vous pouvez analyser la sortie de mtp-detect.

Première installation mtp-tools:

sudo apt-get install mtp-tools

Et courir:

$ mtp-detect 2>/dev/null | grep Model:
    Model: Nexus 7 (2013) Wi-Fi
Sylvain Pineau
la source
J'ai essayé d'éviter les dépendances, mais toujours merci
Andrew Matuk
J'ai jeté un coup d'œil mtp-detectmais je l'ai trouvé très lent. Il a fallu 40 secondes pour terminer ici.
Oli
@Oli: Avec juste mon Nexus 7 branché, c'est presque instantané, bizarre. Mais regarder udev est aussi un bon choix :)
Sylvain Pineau