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
命令所示
这个设备是什么usb:2- 1.5 , 1.6 , 1.1 ?
那么-l会做什么,具体是设备限定符的含义吗?
我尝试使用lsusb
,但信息与adb设备-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
答案 0 :(得分:5)
这是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在this posting中对这些路径的含义的描述。
答案 1 :(得分:2)
我在自动挂载许多设备时遇到了同样的问题。经过多次挖掘后,我发现了如何找到
之间的联系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