USB-CDC-ECM以太网控制模型设备
+ -

ECM SetEthernetPowerManagementPatternFilter请求

2025-07-10 0 0

SetEthernetPowerManagementPatternFilter 请求用于设置指定的以太网电源管理模式过滤器(Power Management Pattern Filter),以便设备能够在检测到特定网络流量时唤醒主机,实现远程唤醒等节能功能。


请求格式

字段 值/说明 描述
bmRequestType 00100001B 主机到设备,类请求,接口
bRequestCode SET_ETHERNET_POWER_MANAGEMENT_PATTERN_FILTER (41h) 请求码
wValue 过滤器编号 指定要设置的过滤器编号
wIndex 接口号 目标接口编号
wLength 结构体大小 Power Management Pattern Filter结构体的字节数
Data 结构体内容 Power Management Pattern Filter结构体(见下表)

Power Management Pattern Filter 结构体

字段名 大小 描述
MaskSize 2 掩码的字节数。
Mask MaskSize 每字节8个掩码位,每一位表示Pattern中对应字节是否参与比较。第一个字节的最低位(D0)对应Pattern的第一个字节(以太网帧DA)。Mask最后一个字节的高位为0时,Pattern中对应字节不参与匹配。
Pattern 由Mask指定 需要进行模式匹配的字节串,从以太网帧的第0字节(DA)开始。

特殊说明

  • 远程唤醒:如需启用远程唤醒,还需完成[USB2.0]中描述的额外步骤。
  • 清除过滤器:如果主机希望清除(移除)之前设置的指定模式过滤器,只需将 wLength 设为0,且不带任何数据字段(即无结构体内容)。
  • 设备容量不足:如果指定的模式无法装入设备,任何之前加载的模式都视为已销毁,设备必须在后续 GetEthernetPowerManagementPatternFilter 请求返回的状态中设置为 FALSE(0x0000)。

示例结构体定义

struct PowerManagementPatternFilter {
    uint16_t MaskSize;   // 掩码长度
    uint8_t  Mask[];     // 掩码位数组
    uint8_t  Pattern[];  // 匹配模式字节数组
};

应用场景

  • 节能唤醒:主机休眠时,设备可通过检测特定网络流量(如特定网页访问)唤醒主机。
  • 灵活匹配:通过掩码和模式字段灵活定义需要匹配的以太网帧内容。

总结

  • 设置/清除电源管理模式过滤器时,需严格按照结构体格式和协议要求操作。
  • 清除时只需wLength=0,无需数据。
  • 设置时需提供完整的掩码和模式内容,掩码决定哪些字节参与匹配。
  • 设备容量不足时,所有已加载模式视为无效,状态返回FALSE

0 篇笔记 写笔记

ECM SetEthernetPowerManagementPatternFilter请求
SetEthernetPowerManagementPatternFilter 请求用于设置指定的以太网电源管理模式过滤器(Power Management Pattern Filter),以便设备能够在检测到特定网络流量时唤醒主机,实现远程唤醒等节能功能。请求格式字段值/说明描述......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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