วิธีรับชื่ออุปกรณ์ MTP


11

... ฉันลองใช้การค้นหา แต่มันให้ "วิธีเชื่อมต่ออุปกรณ์ MTP" มากมาย

ฉันแค่อยากรู้วิธีเชื่อมต่อชื่ออุปกรณ์เช่น (Nexus 10 หรือ Galaxy S5) ที่ฉันเห็นในรายการอุปกรณ์ของ Nautilus

คำตอบ:


13

ฉันพบว่ามันยากอย่างน่าประหลาดใจ ฉันมี 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

ในขณะที่ฉันใช้งานจาก udev / rules script $ env {ID_MODEL} ทำงานเหมือนมีเสน่ห์ขอบคุณ
Andrew Matuk

ดีกว่านี้อีก
Oli

8

mtp-detectคุณสามารถแยกการส่งออกของ

ติดตั้งครั้งแรกmtp-tools:

sudo apt-get install mtp-tools

และเรียกใช้:

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

ฉันพยายามหลีกเลี่ยงการพึ่งพา แต่ก็ยังขอบคุณ
Andrew Matuk

ฉันไม่ได้ดูที่mtp-detectแต่พบว่ามันอย่างจริงจังช้า ใช้เวลา 40 วินาทีในการทำให้เสร็จที่นี่
Oli

@Oli: เพียงแค่เสียบ Nexus 7 ของฉันมันเกือบจะทันทีและแปลก แต่กำลังมองหาที่ udev ยังเป็นทางเลือกที่ดี :)
Sylvain Pineau
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.