Come ottenere il nome del dispositivo MTP


11

... Ho provato a cercare ma offre moltissimi "come collegare i dispositivi MTP"

Voglio solo sapere come ottenere il nome del dispositivo collegato come (Nexus 10 o Galaxy S5), che posso vedere nell'elenco dei dispositivi Nautilus.

Risposte:


13

L'ho trovato sorprendentemente difficile. Ho un Nexus 5 e KDE (usando libmtp, credo) lo mostra come un Nexus 5. Il mio primo istinto era che KDE stava semplicemente guardando il database dell'hardware. In questo modo il fornitore e le stringhe di prodotti da dispositivi USB vengono mappati a nomi noti. Ecco il problema:

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

Il mio Nexus 5 ha appena ricevuto un downgrade! Quindi KDE non lo capisce da lì.

Possiamo usare udevadmper interrogare i dispositivi. In questo caso è necessario passargli un riferimento al dispositivo. Userò i numeri di bus / dispositivo dall'alto (devono essere %03dformattati, quindi 1 diventa 001, 20 diventa 020, ecc.):

$ 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
...

Ci sono molte altre schifezze lì dentro ma ID_MODELsembra essere quello che vogliamo. Se è necessario estrarlo ed elaborarlo ulteriormente, è possibile eseguirlo awk(o un altro) per ripulirlo e sostituire il carattere di sottolineatura:

$ ... | awk -F'=' '/ID_MODEL=/{gsub("_"," ");print $2}'
Nexus 5

mentre lo eseguo dallo script udev / rules $ env {ID_MODEL} funziona come un incantesimo, grazie
Andrew Matuk,

Ah, ancora meglio.
Oli

8

È possibile analizzare l'output di mtp-detect.

Prima installazione mtp-tools:

sudo apt-get install mtp-tools

E corri:

$ mtp-detect 2>/dev/null | grep Model:
    Model: Nexus 7 (2013) Wi-Fi

Ho cercato di evitare le dipendenze, ma ancora grazie
Andrew Matuk

Ho avuto uno sguardo mtp-detect, ma l'ho trovato seriamente lento. Ci sono voluti 40 secondi per completare qui.
Oli

@Oli: con solo il mio Nexus 7 collegato, è quasi istantaneo, strano. Ma guardare anche udev è una buona scelta :)
Sylvain Pineau,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.