USB网络控制通讯NCM
+ -

NCM 使用备用设置重置NCM功能

2025-07-08 0 0

要将功能的网络方面置于已知状态,主机应:

主机操作步骤

1. 选择备用设置0

  • 选择NCM数据接口的备用设置0(这是没有端点的设置)
  • 可以通过SetInterface明确完成,或通过SetConfiguration隐式完成
  • 详见[USB30]

2. 配置操作参数

  • 通过向NCM通信接口发送命令来选择NCM操作参数

3. 选择第二备用设置

  • 选择NCM数据接口的第二备用接口设置(这是具有批量IN端点和批量OUT端点的设置)

功能重置行为(当选择备用设置0时)

缓冲区管理

  • 刷新功能缓冲区

过滤器重置

  • 将数据包过滤器重置为其默认状态
  • 清除所有多播地址过滤器
  • 清除使用SetEthernetPowerManagementPatternFilter设置的所有电源过滤器

统计和地址重置

  • 将统计计数器重置为零
  • 将其以太网地址恢复为默认状态

NTB参数重置

  • 将其IN NTB大小重置为NTB参数结构体中dwNtbInMaxSize字段给出的值
  • 将NTB格式重置为NTB-16

数据报大小重置

  • 将当前最大数据报大小重置为功能特定的默认值
  • 如果功能不支持SetMaxDatagramSize
    • 最大数据报大小应与以太网网络功能描述符中wMaxSegmentSize的值相同
  • 如果功能支持SetMaxDatagramSize
    • 主机必须查询功能以确定当前有效的最大数据报大小
    • 或者主机必须明确设置最大数据报大小
    • 如果主机希望设置最大数据报大小,可以在选择数据接口的第二备用接口设置之前进行
    • 这样做将确保更改在发送或接收数据之前生效

其他重置

  • 重置CRC模式,使功能不会在IN管道上发送的数据报中附加CRC
  • 将NTB序列号重置为零

功能通知行为(当选择第二备用设置时)

当主机选择NCM数据接口的第二备用接口设置时,功能应按以下顺序执行以下操作:

1. 连接速度通知

  • 如果连接到网络,功能应向主机发送ConnectionSpeedChange通知,指示当前连接速度

2. 网络连接状态通知

  • 无论是否连接,功能都应向主机发送NetworkConnection通知,wValue指示网络连接的当前状态

总结

这个重置机制确保:

  • 功能处于已知的默认状态
  • 所有参数都被正确重置
  • 主机可以重新配置功能
  • 网络状态得到正确通知

0 篇笔记 写笔记

未知USB设备-端口重置失败、设备描述符请求失败
如下图,2个USB硬件设备插入PC机后,出现了如下的错误,导致USB硬件无法正常工作。打开USB设备管理器之后,设备节点上显示的错误信息如下:如果查看设备状态,一般应都会归为设备启动失败,错误码一般为10。至于出现以上的错误时,怎么处理了,这就得搞明白为什么会出现以上错误。USB设备其实对于普......
NCM 使用备用设置重置NCM功能
要将功能的网络方面置于已知状态,主机应:主机操作步骤1. 选择备用设置0选择NCM数据接口的备用设置0(这是没有端点的设置)可以通过SetInterface明确完成,或通过SetConfiguration隐式完成详见[USB30]2. 配置操作参数通过向NCM通信接口发送命令来选择NCM操作......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB网络控制通讯NCM
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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