USB CDC
+ -

CDC SetEthernetPowerManagementPatternFilter

2025-07-11 0 0

1. SetEthernetPowerManagementPatternFilter 请求用途

SetEthernetPowerManagementPatternFilter 用于设置指定的以太网电源管理模式过滤器。
主机通过此请求配置设备的电源管理模式过滤器,使设备能够在特定网络模式出现时唤醒主机,实现远程唤醒功能。


2. USB 控制传输格式

字段 值/说明
bmRequestType 0x21 (00100001B) 方向:主机到设备,类型:类,接收者:接口
bRequest 0x41 (SET_ETHERNET_POWER_MANAGEMENT_PATTERN_FILTER)
wValue 过滤器编号
wIndex 接口号
wLength 结构体大小
Data 电源管理模式过滤器结构体

3. Power Management Pattern Filter Structure(Table 61)

字段名 大小 值/说明
MaskSize 2 包含Mask的大小(字节)
Mask MaskSize 位掩码,每个字节包含8个掩码位,表示是否比较Pattern中对应字节与网络设备在媒体上看到的内容
Pattern 由Mask指定 执行模式匹配的字节字符串,从以太网帧偏移0(目标地址)开始

4. 典型主机端请求示例

C 结构体示例:

typedef struct _POWER_MANAGEMENT_PATTERN_FILTER {
    uint16_t MaskSize;
    uint8_t Mask[6];        // 6字节掩码
    uint8_t Pattern[6];     // 6字节模式
} POWER_MANAGEMENT_PATTERN_FILTER;

POWER_MANAGEMENT_PATTERN_FILTER filter = {
    .MaskSize = 6,
    .Mask = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},  // 全掩码
    .Pattern = {0x01, 0x00, 0x5E, 0x00, 0x00, 0x01} // 多播地址模式
};

USB_SETUP_PACKET setup = {
    .bmRequestType = 0x21,           // 主机到设备,类,接口
    .bRequest = 0x41,                // SET_ETHERNET_POWER_MANAGEMENT_PATTERN_FILTER
    .wValue = 0x0000,                // 过滤器编号0
    .wIndex = interface_number,      // 通信接口号
    .wLength = sizeof(filter)
};
// 发送setup包和filter数据

5. 设备端处理要点

  • 解析wValue中的过滤器编号。
  • 从Data阶段读取电源管理模式过滤器结构体。
  • 如果wLength为0,清除指定过滤器的设置。
  • 如果模式无法装入设备,将相关状态设置为FALSE。
  • 完成后通过状态阶段(Status Stage)ACK主机。

6. 常见应用场景

场景 过滤器编号 模式示例 说明
多播唤醒 0 01:00:5E:00:00:01 多播地址唤醒模式
单播唤醒 1 00:11:22:33:44:55 特定MAC地址唤醒模式
清除过滤器 0 清除过滤器设置

7. 参考

0 篇笔记 写笔记

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

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

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