adb devices -l
devices [-l] - list all connected devices
('-l' will also list device qualifiers)
Run Code Online (Sandbox Code Playgroud)
当我执行它时,我变得喜欢
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)
Run Code Online (Sandbox Code Playgroud)
当我改变到不同的端口时,它显示的总线编号为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
Run Code Online (Sandbox Code Playgroud)
它是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
Run Code Online (Sandbox Code Playgroud)
您可以看到链接指向/sys/devices/platform/...,您应该看到其中一些路径以与设备匹配的组件结束.最后,我在Alan Stern的帖子中找到了这些路径的含义.
| 归档时间: |
|
| 查看次数: |
42537 次 |
| 最近记录: |