您的位置:首页 > 移动开发 > Android开发

[RK3288][Android6.0] USB UVC Camera是否支持的查询方法

2016-10-12 08:54 471 查看
Platform: ROCKCHIP

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: