[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
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
相关文章推荐
- [RK3288][Android6.0] USB UVC Camera 功能支持的添加
- [RK3288][Android6.0] 调试笔记 --- 同时支持两颗USB UVC Camera
- [RK3288][Android6.0] USB UVC Camera 功能支持的添加
- [RK3288][Android6.0] 调试笔记 --- USB Camera旋转图像方法
- [RK3288][Android6.0] 调试笔记 --- 如何区分两颗相同的USB UVC Camera
- [RK3288][Android6.0] 调试笔记 --- UVC Camera jpg和yuv数据帧dump
- [RK3288][Android6.0] 调试笔记 --- Camera配置信息dump方法
- [RK3288][Android6.0] 调试笔记 --- Camera HAL固定fps的方法
- [RK3288][Android6.0] 调试笔记 --- 同时支持多颗Camera打开的问题
- [RK3288][Android6.0] 调试笔记 --- ECHI上的USB Camera无法打开
- [RK3288][Android6.0] USB UVC 驱动小结
- [RK3288][Android6.0] USB UVC 协议简结
- [RK3288][Android6.0] 调试笔记 --- Camera动态热插拔支持
- [RK3288][Android6.0] Camera HAL ION 使用小结
- [RK3288][Android6.0] 调试笔记 --- 读取GPU当前频率方法
- [RK3288][Android6.0] 调试笔记 --- 隐藏系统状态栏的方法
- [RK3288][Android6.0] 调试笔记 --- kill掉service后不重启方法
- [RK3288][Android6.0] 调试笔记 --- 静态库编译覆盖使用方法
- [RK3288][Android6.0] Camera HAL流程小结
- [RK3288][Android6.0] 调试笔记 --- 系统识别不同硬件版本方法【转】