MTP cihaz adı nasıl alınır?


11

... aramayı denedim ama tonlarca "MTP cihazlarını bağlama"

Sadece Nautilus cihaz listesinde görebildiğim (Nexus 10 veya Galaxy S5) gibi bağlı cihaz adını nasıl alacağımı bilmek istiyorum.

Yanıtlar:


13

Bunu şaşırtıcı derecede zor buldum. Bir Nexus 5 var ve (kullanarak libmtp, sanırım) bir Nexus 5 olarak görüntüler. İlk içgüdüm KDE sadece donanım veritabanına bakıyordu. Bu, USB aygıtlarındaki satıcı ve ürün dizelerini bilinen adlarla eşler. Sorun şu:

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

Nexus 5 cihazımın sürümü düştü! Yani KDE oradan alamıyor.

udevadmCihazları sorgulamak için kullanabiliriz . Bu durumda, cihaza referans göndermemiz gerekir. Yukarıdan otobüs / cihaz numaralarını kullanacağım ( %03dbiçimlendirilmesi gerekiyor , bu yüzden 1 001, 20 020, vb.):

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

Orada bir sürü başka saçmalık var ama ID_MODEListediğimiz gibi görünüyor. Bunu daha fazla çıkarmanız ve işlemeniz gerekiyorsa, awktemizlemek ve alt çizgiyi değiştirmek için (veya başka bir yöntemle) çalıştırabilirsiniz :

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

udev / rules script $ env'den çalıştırdığım için {ID_MODEL} bir cazibe gibi çalışıyor, teşekkür ederim
Andrew Matuk

Ah, daha iyi.
Oli

8

Çıktısını ayrıştırabilirsiniz mtp-detect.

İlk kurulum mtp-tools:

sudo apt-get install mtp-tools

Ve koş:

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

Bağımlılıklardan kaçınmaya çalıştım, ama yine de teşekkür ederim
Andrew Matuk

Bir göz attım mtp-detectama ciddi yavaş buldum . Burada tamamlanması 40 saniye sürdü.
Oli

@Oli: Sadece Nexus 7 cihazım takılıyken, neredeyse anlık, garip. Ama udev'e bakmak da iyi bir seçim :)
Sylvain Pineau
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.