USB网络控制通讯NCM
+ -

NCM SetNtbInputSize

2025-07-08 0 0

SET_NTB_INPUT_SIZE 请求格式

字段 描述
bmRequestType 00100001B 请求类型:
• 位7:0 = 主机到设备
• 位6-5:00 = 标准请求
• 位4:0 = 主机到设备
• 位3-0:0001 = 接口
bRequest SET_NTB_INPUT_SIZE 请求代码: 86h (134)
wValue Zero 值字段: 必须为0
wIndex NCM Communications Interface 索引字段: NCM通信接口号
wLength 4 or 8 长度字段: 4或8字节
Data NTB Input Size Structure 数据字段: NTB输入大小结构体

请求详情

bmRequestType 位字段解析

位7: 0 = 主机到设备 (OUT)
位6-5: 00 = 标准请求类型
位4: 0 = 主机到设备方向
位3-0: 0001 = 接口请求

典型值示例

  • bmRequestType: 21h (00100001B)
  • bRequest: 86h (SET_NTB_INPUT_SIZE)
  • wValue: 0000h (0)
  • wIndex: 0001h (接口1,具体值取决于NCM接口号)
  • wLength: 0004h (4字节) 或 0008h (8字节)

NTB输入大小结构体

偏移 字段名 大小 描述
0 dwNtbInMaxSize 4 Number IN NTB最大大小,以字节为单位。主机应选择至少2048字节,且不超过功能允许的最大大小(根据NTB参数结构体中的值)
4 wNtbInMaxDatagrams 2 Number IN NTB内最大数据报数量。0表示无限制
6 reserved 2 Number 保留字段,必须传输为0,接收时忽略

重要限制和要求

长度设置规则

  • 如果设备NCM功能描述符的 bmNetworkCapabilities 字段中设置了位D5,主机可以将 wLength 设置为4或8

    • 如果 wLength 为4,功能应假设 wNtbInMaxDatagrams 设置为0
    • 如果 wLength 为8,功能应使用提供的值作为限制
    • 如果 wLength 设置为任何其他值,功能应返回错误响应(STALL PID)
  • 如果位D5在功能NCM功能描述符的 bmNetworkCapabilities 字段中被重置,主机应将 wLength 设置为4

    • 如果 wLength 设置为任何其他值,功能应返回错误响应(STALL PID)

错误处理

  • 如果数据阶段传递的值无效,或 wLength 无效,功能应返回错误响应(STALL PID)
  • 功能不得更改其用于准备NTB的值

使用场景

此请求用于:

  1. 设置设备发送给主机的NTB最大大小
  2. 可选地设置单个NTB中编码的最大数据报数量
  3. 优化网络传输性能
  4. 控制数据传输效率

注意事项

  • 最大大小至少为2048字节
  • 不能超过设备允许的最大值
  • 长度设置取决于设备能力
  • 数据报数量限制为可选功能

0 篇笔记 写笔记

NCM SetNtbInputSize
SET_NTB_INPUT_SIZE 请求格式字段值描述bmRequestType00100001B请求类型:• 位7:0 = 主机到设备• 位6-5:00 = 标准请求• 位4:0 = 主机到设备• 位3-0:0001 = 接口bRequestSET_NTB_INP......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB网络控制通讯NCM
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!