[Linux Camera Driver] Android 10 USB Camera 不识别

0. 前提

USB camera功能可以使用专门的APK,或者集成到骁龙里面,本文介绍的是使用专门APK遇到的问题。

1. 测试报了一个BUG

在这里插入图片描述

我慌的一比,先根据经验用U盘试了下,发现U盘连OTG是可以识别的,然后插入USB Camera。

在这里插入图片描述

在这里插入图片描述

喵喵喵? 这看起来没问题啊。

在这里插入图片描述

在这里插入图片描述
(胖虎眉毛一皱,发现问题并不简单.jpg)

结果发现并不出图-_-++;

console:/ # ls -l /dev/v*
……
crw-rw---- 1 system camera 81, 137 1970-01-01 00:17 /dev/v4l-subdev9
crw------- 1 root   root   10,  95 1970-01-01 00:17 /dev/vga_arbiter
crw-rw---- 1 system camera 81,   0 1970-01-01 00:17 /dev/video0
crw-rw---- 1 system camera 81,   1 1970-01-01 00:17 /dev/video1
crw-rw---- 1 system camera 81,   2 1970-01-01 00:17 /dev/video2
crw-rw---- 1 system camera 81,   3 2020-08-13 17:33 /dev/video3
crw-rw---- 1 system camera 81,  32 1970-01-01 00:17 /dev/video32
crw-rw---- 1 system camera 81,  33 1970-01-01 00:17 /dev/video33
crw-rw-rw- 1 root   root   10,  48 1970-01-01 00:17 /dev/vndbinder

Video 的节点是有的。

cat /sys/kernel/debug/usb/devices
T:  Bus=03 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  3 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2bc5 ProdID=050e Rev= 1.00
S:  Manufacturer=Sonix Technology Co., Ltd.
S:  Product=USB 2.0 Camera
S:  SerialNumber=SN0001
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
…
…

我在串口里面cat那个结点,发现USB camera识别到了;卧槽,这咋就是不出图呢。

2. 检查config配置

先看看用的是哪个config,

 android10\LA.UM.8.2\device\qcom\sdm660_64\ AndroidBoard.mk

在这里插入图片描述
Kernel是msm-4.4,那就走下面的。然后debug 版本是用的sdm660_defconfig。

android10\LA.UM.8.2\kernel\msm-4.4\arch\arm64\configs\sdm660_defconfig

打开发现下面的宏都开了,没发现啥问题啊…

CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_VIDEO_ADV_DEBUG=y
CONFIG_VIDEO_FIXED_MINOR_RANGES=y
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=y

3. 继续分析

然后我用串口线, 抓了插入USB camera时的getevent对比log,发现USB camera也是识别的。(和android 9的作了对比,android 9的没问题)

add device 6: /dev/input/event5
  name:     "USB 2.0 Camera"

上报的log都特么和android 9一样。

然后我向一位不愿意透露姓名的大佬,问了下这个问题。大佬说他很忙,还批评我不够收敛,然后他建议我找找别的APK,可能是APK有问题,驱动不可能有问题的,人家都搞好了…

在这里插入图片描述
(做一个收敛的人.jpg)

这个我百度了一下:

USB摄像头UVC兼容(如今大部分兼容),UVC,全称:USB video class,是Microsoft与另外几家设备厂商联合退出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一。主流操作系统 (如Windows XP SP2 and later, Linux 2.4.6 and later, MacOS 10.5 and later) 都已提供UVC设备驱动,符合UVC规格的硬件设备在不需要安装任何驱动程序下即可在主机中正常使用。

(参考链接:https://www.cnblogs.com/alanfang/p/6726755.html)

android10\LA.UM.8.2\kernel\msm-4.4\drivers\media\usb\uvc

在这里插入图片描述
这个也是有的,我百度下了几个APK装了都不行-_-++ ,

在这里插入图片描述

后来在小米商店下了这个,果然是APK问题,用这个可以出图。
http://app.mi.com/details?id=com.shenyaocn.android.usbcamera

在这里插入图片描述

又水了一篇文章,我很羞愧…本文到此结束,感谢您的阅读。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值