UVC 红外相机初始化流程 setup包解析

UVC 红外相机初始化流程

概述

本文档基于原始数据分析Windows Hello红外相机的UVC初始化流程。

原始数据

复制代码
intf: 0 unit: 8 cs: 9 req: "85" data: "0400"
intf: 0 unit: 8 cs: 9 req: "86" data: "03"
intf: 0 unit: 8 cs: 9 req: "82" data: "00000000"
intf: 0 unit: 8 cs: 9 req: "83" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "87" data: "00000000"
intf: 0 unit: 8 cs: 9 req: "84" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "1" data: "00000000"
intf: 2 unit: 14 cs: 6 req: "85" data: "0900"
intf: 2 unit: 14 cs: 6 req: "86" data: "03"
intf: 2 unit: 14 cs: 6 req: "82" data: "00"
intf: 2 unit: 14 cs: 6 req: "83" data: "010303000000000000"
intf: 2 unit: 14 cs: 6 req: "87" data: "010301000000000000"
intf: 2 unit: 14 cs: 6 req: "84" data: "00"
intf: 2 unit: 14 cs: 6 req: "1" data: "010301000000000000"
intf: 2 unit: 14 cs: 9 req: "85" data: "0400"
intf: 2 unit: 14 cs: 9 req: "86" data: "03"
intf: 2 unit: 14 cs: 9 req: "82" data: "00000000"
intf: 2 unit: 14 cs: 9 req: "83" data: "01000000"
intf: 2 unit: 14 cs: 9 req: "87" data: "00000000"
intf: 2 unit: 14 cs: 9 req: "84" data: "01000000"
intf: 2 unit: 14 cs: 9 req: "1" data: "00000000"
intf: 2 unit: 14 cs: 6 req: "81" data: "010301000000000000"

数据重新分析

正确的请求类型映射

  • req: "1" = SET_CUR (设置当前值)
  • req: "81" = GET_CUR (获取当前值)
  • req: "82" = GET_MIN (获取最小值)
  • req: "83" = GET_MAX (获取最大值)
  • req: "84" = GET_RES (获取分辨率)
  • req: "85" = GET_LEN (获取数据长度)
  • req: "86" = GET_INFO (获取控制信息)
  • req: "87" = GET_DEF (获取默认值)

初始化流程详细分析

阶段1: 颜色相机MSXU_CONTROL_METADATA初始化 (intf:0, unit:8, cs:9)

步骤 请求类型 数据 说明
1 GET_LEN (85) "0400" 获取数据长度(4字节)
2 GET_INFO (86) "03" 获取控制信息(可读写)
3 GET_MIN (82) "00000000" 获取最小值(0)
4 GET_MAX (83) "01000000" 获取最大值(1)
5 GET_DEF (87) "00000000" 获取默认值(0)
6 GET_RES (84) "01000000" 获取分辨率(1)
7 SET_CUR (1) "00000000" 设置当前值为0

阶段2: 红外相机MSXU_CONTROL_FACE_AUTHENTICATION初始化 (intf:2, unit:14, cs:6)

步骤 请求类型 数据 说明
8 GET_LEN (85) "0900" 获取数据长度(9字节)
9 GET_INFO (86) "03" 获取控制信息(可读写)
10 GET_MIN (82) "00" 获取最小值(0)
11 GET_MAX (83) "010303000000000000" 获取最大值{1,3,3}
12 GET_DEF (87) "010301000000000000" 获取默认值{1,3,1}
13 GET_RES (84) "00" 获取分辨率(0)
14 SET_CUR (1) "010301000000000000" 设置当前值为{1,3,1}

阶段3: 红外相机MSXU_CONTROL_METADATA初始化 (intf:2, unit:14, cs:9)

步骤 请求类型 数据 说明
15 GET_LEN (85) "0400" 获取数据长度(4字节)
16 GET_INFO (86) "03" 获取控制信息(可读写)
17 GET_MIN (82) "00000000" 获取最小值(0)
18 GET_MAX (83) "01000000" 获取最大值(1)
19 GET_DEF (87) "00000000" 获取默认值(0)
20 GET_RES (84) "01000000" 获取分辨率(1)
21 SET_CUR (1) "00000000" 设置当前值为0

阶段4: 获取人脸认证当前状态 (intf:2, unit:14, cs:6)

步骤 请求类型 数据 说明
22 GET_CUR (81) "010301000000000000" 获取当前值{1,3,1}
相关推荐
翼龙云_cloud4 小时前
亚马逊云渠道代理商:VPC 教程 利用 EC2 自建 NAT 实例降低私有子网出网成本
网络·云计算·aws
yunlaodacom4 小时前
腾讯云国际版(云老大):TKE Service有Endpoint,为什么请求还是进不了Pod
云计算·腾讯云
Dawn-bit5 小时前
Linux网络进阶:TCP三次握手和四次挥手与TCP连接状态
linux·服务器·网络·tcp/ip·云计算·智能路由器
UseLessQQ12 小时前
云计算k8s集群部署
java·kubernetes·云计算
翼龙云_cloud16 小时前
阿里云国际版代理商:OSS自定义域名绑定与HTTPS配置排障教程
数据库·阿里云·https·云计算
CVer儿16 小时前
ras转为lps坐标系
数码相机
sbjdhjd17 小时前
CTF 技术复盘:从参数类型绕过到正则回溯 | Merry Christmas PHP CTF(gift.php & gift_plus.php)
安全·网络安全·云计算·php·ctf·红队·网络攻防
皮皮虾❀17 小时前
阿里云代理商采购+超额返点一体化实战:从“单次采购无优惠“到“年度合作解锁最高35%专属返点“的成本优化方案
阿里云·云计算
恒锐丰小瑞1 天前
率能SS6810R 40V/1A/双通道H桥驱动芯片,PWM电流控制与混合衰减模式(eTSSOP20),用于POS打印机/安防相机/机器人
单片机·嵌入式硬件·数码相机·机器人
u1301301 天前
GitHub 热榜项目:日榜(2026-08-21)
驱动开发·github