13
adb devices -l
devices [-l]                  - list all connected devices
                                ('-l' will also list device qualifiers)

当我执行它时,我越来越喜欢

padmakumar@padmakumar-desktop:~$ 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)

当我更改为不同的端口时,它显示总线号为 1 和 2,如lsusb命令中所示

这个设备是什么USB2-1.5、1.6、1.1

那么这个 -l 会做什么,设备限定符的确切含义是什么?

我试过了,lsusb但信息与 adb device -l 不同。

padmakumar@padmakumar-desktop:~$ 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
4

2 回答 2

6

它是 USB 子系统中设备的路径。例如2-1.5表示控制器 2、端口 1、端口 5。这两个端口之间必须有一个集线器。这似乎与您的lsusb输出相匹配,这表明Bus 002 Device 001是一个集线器。

为了弄清楚这一点,我对源代码进行了挖掘adb,发现它被称为devpath. 您可以查看它是如何在usb_linux.c. 总之,当找到一个设备时,代码会解析符号链接/sys/dev/char/<major>:<minor>并将最后一个路径组件作为devpath. 如果你运行:

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

您可以看到链接指向,/sys/devices/platform/...并且您应该看到其中一些路径以与设备匹配的组件结尾。最后,我在Alan Stern的这篇文章中找到了对这些路径含义的描述。

于 2013-03-01T08:43:17.317 回答
3

自动挂载许多设备时,我遇到了同样的问题。经过大量挖掘,我找到了如何找到两者之间的联系

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

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)

我们的 MTP 设备可以通过以下方式查看:

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

他们在公共汽车上:

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
于 2016-10-17T15:27:07.070 回答