USB VID与PID属性详解

17次阅读
没有评论

问题描述

发现了一个名为 ro.usb.vid=2970 的属性,并提问此属性的含义及存储位置。该属性似乎不在常见的 build.prop 或者 default.prop 文件中。

解决方案

方案1

背景介绍

USB设备拥有一个唯一的Vendor ID (VID) 和 Product ID (PID),用于主机识别不同型号的设备。这两个值都是2字节整数,分别表示厂商和产品标识。ro.usb.vid 属性就是指设备的USB VID。

存储位置与访问方法
  • VID值:在Android系统中,你可以通过文件系统来查看这些属性的具体存储位置。
  • 系统路径为 /sys/class/android_usb/android0/idVendor。使用 cat 命令可以读取此路径下的VID值;使用 echo 可以修改该值,但仅在下次启动前有效。
  • PID值:类似地,设备的PID值存储在 /sys/class/android_USB/android0/idProduct 路径下,其对应的属性文件可能被命名为 ro.usb.pid
访问示例
# 查看VID值示例
cat /sys/class/android_usb/android0/idVendor

# 修改VID值(例如改为2971)
echo 2971 > /sys/class/android_usb/android0/idVendor

方案2

建议方法

如果你不希望通过修改文件系统直接操作这些属性,也可以通过编写简短的脚本来获取和设置这些属性值。

设备信息打印示例
#!/bin/bash

# 读取VID值
vid=$(cat /sys/class/android_usb/android0/idVendor)
echo "当前 VID 值: $vid"

# 设置新的VID(例如2971)
new_vid=2971
echo $new_vid > /sys/class/android_usb/android0/idVendor

# 校验修改后的VID值是否正确
new_vid=$(cat /sys/class/android_usb/android0/idVendor)
echo "新的 VID 值: $new_vid"

通过上述方案,你能够更好地理解并操作USB设备的属性。

注意事项

  • 修改这些设备属性可能会导致设备识别错误等问题,请确保在了解详情后再进行相关操作。
  • 通常情况下,我们不建议用户直接修改系统存储位置的内容,除非有特殊的调试需求。请谨慎操作避免影响系统的正常运行。

正文完