Cómo obtener el nombre del dispositivo MTP


11

... He intentado buscar, pero me da un montón de "cómo conectar dispositivos MTP"

Solo quiero saber cómo conectar el nombre del dispositivo como (Nexus 10 o Galaxy S5), que puedo ver en la lista de dispositivos Nautilus.

Respuestas:


13

Esto me pareció sorprendentemente difícil. Tengo un Nexus 5 y KDE (usando libmtp, creo) lo muestra como un Nexus 5. Mi primer instinto fue que KDE simplemente estaba mirando la base de datos de hardware. Esto asigna cadenas de proveedores y productos de dispositivos USB a nombres conocidos. Aquí está el problema:

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

¡Mi Nexus 5 acaba de rebajarse! Entonces KDE no lo está obteniendo desde allí.

Podemos usar udevadmpara consultar dispositivos. En este caso, debemos pasarle una referencia al dispositivo. Voy a usar los números de bus / dispositivo de arriba (deben %03dformatearse, por lo que 1 se convierte en 001, 20 se convierte en 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
...

Hay muchas otras tonterías allí, pero ID_MODELparece ser lo que queremos. Si necesita extraer y procesar más, puede ejecutarlo awk(u otro) para limpiarlo y reemplazar el guión bajo:

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

como lo estoy ejecutando desde udev / rules script $ env {ID_MODEL} funciona de maravilla, gracias
Andrew Matuk

Ah, incluso mejor.
Oli

8

Puede analizar la salida de mtp-detect.

Primera instalación mtp-tools:

sudo apt-get install mtp-tools

Y correr:

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

He tratado de evitar las dependencias, pero aún así, gracias
Andrew Matuk

Eché un vistazo, mtp-detectpero lo encontré muy lento. Tomó 40 segundos completarlo aquí.
Oli

@Oli: con solo mi Nexus 7 conectado, es casi instantáneo, extraño. Pero mirar a udev también es una buena opción :)
Sylvain Pineau
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.