Eu achei isso surpreendentemente difícil. Eu tenho um Nexus 5 e KDE (usando libmtp
, eu acho) exibe como um Nexus 5. Meu primeiro instinto foi que o KDE estava simplesmente olhando para o banco de dados de hardware. Isso mapeia cadeias de produtos e produtos de dispositivos USB para nomes conhecidos. Aqui está o problema:
$ lsusb
Bus 002 Device 011: ID 18d1:4ee1 Google Inc. Nexus 4
Meu Nexus 5 acaba de receber um downgrade! Então o KDE não está conseguindo de lá.
Podemos usar udevadm
para consultar dispositivos. Neste caso, precisamos passar uma referência para o dispositivo. Eu vou usar os números de barramento / dispositivo acima (eles precisam ser %03d
formatados, então 1 se torna 001, 20 se torna 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
...
Há muitas outras porcarias lá, mas ID_MODEL
parece ser o que queremos. Se você precisar extrair e processar isso, você pode executá-lo através de awk
(ou outro) para limpá-lo e substituir o sublinhado:
$ ... | awk -F'=' '/ID_MODEL=/{gsub("_"," ");print }'
Nexus 5