Как получить имя устройства MTP

... Я пробовал поиск, но он дает массу «как подключить устройства MTP»

Я просто хочу знать, как получить имя подключенного устройства, например (Nexus 10 или Galaxy S5), что я могу видеть в списке устройств Nautilus.

11
задан 12 September 2015 в 12:28

2 ответа

Я нашел это удивительно жестким. У меня есть Nexus 5 и KDE (использующий libmtp, я думаю), отображает его как Nexus 5. Мой первый инстинкт был то, что KDE просто смотрел на аппаратную базу данных. Это отображает поставщика и строки продукта от USB-устройств до известных имен. Вот проблема:

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

Мой Nexus 5 просто получил снижение! Таким образом, KDE не получает его оттуда.

Мы можем использовать udevadm для запросов устройств. В этом случае мы должны передать его ссылка на устройство. Я собираюсь использовать шину/номера устройств сверху (они должны быть %03d отформатированы, таким образом, 1 становится 001, 20 становится 020, и т.д.):

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

существует много другого дерьма там, но ID_MODEL, кажется, то, что мы хотим. Если необходимо далее извлечь и обработать это, Вы могли бы выполнить его до awk (или другой), чтобы очистить его и заменить подчеркивание:

$ ... | awk -F'=' '/ID_MODEL=/{gsub("_"," ");print $2}'
Nexus 5
13
ответ дан 12 September 2015 в 12:28

Можно проанализировать вывод mtp-detect.

Первая установка mtp-tools:

sudo apt-get install mtp-tools

И выполненный:

$ mtp-detect 2>/dev/null | grep Model:
    Model: Nexus 7 (2013) Wi-Fi
8
ответ дан 12 September 2015 в 12:28

Другие вопросы по тегам:

Похожие вопросы: