Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92
1. 插拔usb camera前后得知USB的bus,device number,VID和PID.
//没插USB Camera
root@rk3288:/data # lsusb
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0002
//插上USB Camera
root@rk3288:/data # lsusb
Bus 003 Device 006: ID 18ec:3399
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0002
//没插USB Camera
root@rk3288:/sys/bus/usb/devices # ls
1-0:1.0
2-0:1.0
3-0:1.0
usb1
usb2
usb3
//插上USB Camera
root@rk3288:/sys/bus/usb/devices # ls
1-0:1.0
2-0:1.0
3-0:1.0
3-1
3-1:1.0
3-1:1.1
3-1:1.2
3-1:1.3
usb1
usb2
usb3
因此是插在Bus 003上的VID为0x18ec PID为0x3399的USB Camera.
2. 确认对应USB路径
上一步可以看到多了3-1目录,也就是当前插上的USB Camera,3是bus number, 1是port number.
root@rk3288:/sys/bus/usb/devices/3-1 # cat idProduct
3399
root@rk3288:/sys/bus/usb/devices/3-1 # cat idVendor
18ec
和第一步得到的VID和PID一致.
3. 查看InterfaceClass
root@rk3288:/sys/bus/usb/devices/3-1/3-1:1.1 # cat bInterfaceClass
0e
0x0e在drvier中的定义是:
#define USB_CLASS_VIDEO 0x0e
因此表明此USB 设备就是UVC Camera了!
此过程不复杂,也可以用脚本实现来实现用于项目需求.
参考:
http://blog.csdn.net/orz415678659/article/details/9981879
OS: Android 6.0
Kernel: 3.10.92
有看到其他文章判断是否支持UVC Camera是通过lsusb -t以及lsusb -d命令实现,
但Android的lsusb命令并没有提供-t参数.不过我们可以可以通过读sysfs文件的方式实现.方法如下:
1. 插拔usb camera前后得知USB的bus,device number,VID和PID.
//没插USB Camera
root@rk3288:/data # lsusb
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0002
//插上USB Camera
root@rk3288:/data # lsusb
Bus 003 Device 006: ID 18ec:3399
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0002
//没插USB Camera
root@rk3288:/sys/bus/usb/devices # ls
1-0:1.0
2-0:1.0
3-0:1.0
usb1
usb2
usb3
//插上USB Camera
root@rk3288:/sys/bus/usb/devices # ls
1-0:1.0
2-0:1.0
3-0:1.0
3-1
3-1:1.0
3-1:1.1
3-1:1.2
3-1:1.3
usb1
usb2
usb3
因此是插在Bus 003上的VID为0x18ec PID为0x3399的USB Camera.
2. 确认对应USB路径
上一步可以看到多了3-1目录,也就是当前插上的USB Camera,3是bus number, 1是port number.
root@rk3288:/sys/bus/usb/devices/3-1 # cat idProduct
3399
root@rk3288:/sys/bus/usb/devices/3-1 # cat idVendor
18ec
和第一步得到的VID和PID一致.
3. 查看InterfaceClass
root@rk3288:/sys/bus/usb/devices/3-1/3-1:1.1 # cat bInterfaceClass
0e
0x0e在drvier中的定义是:
#define USB_CLASS_VIDEO 0x0e
因此表明此USB 设备就是UVC Camera了!
此过程不复杂,也可以用脚本实现来实现用于项目需求.
参考:
http://blog.csdn.net/orz415678659/article/details/9981879