2013-03-01 7 views
9
adb devices -l 
devices [-l]     - list all connected devices 
           ('-l' will also list device qualifiers) 

Wenn ich es ausführen ich erhalte wieWas ist adb Gerät -l-Auflistung?

[email protected]:~$ adb devices -l 
List of devices attached 
Medfield14ABxxxx  device usb:2-1.5 
Ztedfield14Axxxx  device usb:2-1.6 
emulator-5554   device 
015d2994ec2xxx   device usb:2-1.5 product:nakasi model:Nexus_7 device:grouper 


Medfield14ABA072  device usb:1-1.1 (changing to different port) 

, wenn ich zu anderen Port ändern seine mit dem Bus Nummer als 1 Anzeige und 2, wie in lsusb Befehl angezeigt

, was dieses Gerät usb ist: 2- 1.5, 1.6, 1.1?

Also was das -l tun wird, was ist die genaue Bedeutung für die Gerätekennzeichner?

Ich versuchte mit lsusb aber die Information ist unterschiedlich, dass adb Gerät -l.

[email protected]:~$ lsusb 
Bus 002 Device 008: ID 18d1:4e42 Google Inc. 
Bus 002 Device 005: ID 17ef:7470 Lenovo 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
Bus 001 Device 003: ID 046d:c03d Logitech, Inc. M-BT96a Pilot Optical Mouse 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

Antwort

5

Es ist der Pfad des Geräts im USB-Subsystem. Zum Beispiel bedeutet 2-1.5 Controller 2, Port 1, Port 5. Zwischen den beiden Ports muss sich ein Hub befinden. Dies scheint mit Ihrem lsusb Ausgang übereinzustimmen, der anzeigt, dass Bus 002 Device 001 ein Hub ist.

Um dies herauszufinden, hatte ich eine Dig Int den adb Quellcode, und festgestellt, dass dies als devpath bezeichnet wird. Sie können sehen, wie es in usb_linux.c gefunden wird. Zusammenfassend, wenn ein Gerät gefunden wird, löst der Code die symbolische Verbindung bei /sys/dev/char/<major>:<minor> auf und übernimmt die letzte Pfadkomponente als devpath. Wenn Sie laufen:

$ ls -l /sys/dev/char |grep usb 

können Sie die Links verweisen auf /sys/devices/platform/... sehen und Sie sollten einige dieser Pfade enden mit Komponenten passend zu den Geräten sehen. Schließlich fand ich eine Beschreibung dessen, was diese Wege in this posting von Alan Stern bedeuten.

+0

Tolle Sachen. Eine letzte Frage: Wie beziehen Sie das wieder auf die von "lsusb" aufgelisteten Geräte? Zum Beispiel listet "lsusb" "Bus 002 Device 052" und "fastboot devices -l" "usb: 2-1.7" auf, wie verbinde ich die Punkte? –

2

Ich stieß auf das gleiche Problem, wenn viele Geräte automatisch mounten. Nach viel Graben fand ich, wie die Verbindung zwischen dem können

adb devices -l 
List of devices attached 
XXXXXXXX  device usb:9-1.4 product:XXXXXXXXXXX 
............. 
XXXXXXXX  device usb:3-1 product:XXXXXXXXXXX 

und

lsusb 
Bus 009 Device 005: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP) 
............. 
Bus 003 Device 003: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP) 

unsere MTP-Geräte zu sehen, die unter Verwendung von zu finden:

ls /dev | grep libmtp- 
libmtp-3-1 
............. 
libmtp-9-1.4 

und sie auf einem Bus:

ls -l /dev/libmtp-9-1.4 
lrwxrwxrwx 1 root root /dev/libmtp-9-1.4 -> bus/usb/009/005 

ls -l /dev/libmtp-3-1 
lrwxrwxrwx 1 root root /dev/libmtp-3-1 -> bus/usb/003/003 
Verwandte Themen