USB-NCM功能的连接状态与配置管理
2025-07-07
0
0
虽然 NCM(Network Control Model)功能 可以保持在 “始终连接”(always connected) 状态,但仍需通过 管理请求(management requests) 进行初始化和动态配置调整。
1. 初始化要求
功能与主机网络栈的初始化:
- 在设备连接时,主机需通过 NCM通信接口 发送特定管理请求,以正确初始化 NCM功能 和 主机端的网络协议栈(如TCP/IP堆栈)。
- 示例:协商最大传输单元(MTU)、启用数据接口、配置默认服务质量(QoS)参数等。
为什么需要初始化?
即使物理上“始终连接”,逻辑上仍需确保设备与主机的网络配置同步(如IP地址分配、链路状态等)。
2. 动态配置与状态变更
触发场景:
主机的网络配置变化可能导致NCM功能需调整,例如:- 添加/删除组播过滤器(Multicast Filters):当主机加入/离开组播组(如视频流、IoT设备发现)。
- 链路速率调整:响应网络拥塞或电源管理策略。
- 安全策略更新:如防火墙规则变化。
实现方式:
通过 NCM通信接口 发送类特定命令(Class-Specific Commands)或通知(Notifications),动态更新设备配置。
3. 技术细节
- 管理请求的传输:
使用 控制传输(Control Transfer) 或 中断传输(Interrupt Transfer) 通过NCM通信接口的 控制端点(Control Endpoint) 实现。 - 状态同步机制:
- 主机驱动可能轮询设备状态,或设备主动发送通知(如USB中断传输)。
- 参考文档中的 Figure 2-2 示意图,展示了控制与数据流的分离。
4. 实际应用示例
- 场景1:主机加入组播组
主机发送SET_ETHERNET_MULTICAST_FILTERS
命令,NCM设备需更新硬件过滤器以接收特定组播流量。 - 场景2:睡眠模式唤醒
主机可能通过管理请求重新激活NCM数据接口,恢复网络传输。
总结
- “Always Connected” ≠ 无需管理:NCM设备即使保持连接,仍需响应主机的配置请求。
- 灵活性:通过动态管理支持复杂的网络场景(如组播、低功耗模式)。
- 合规性:具体命令和流程需严格遵循NCM规范及引用的标准(如[USBCDC12])。
注:若规范中未明确说明某些行为,默认遵循 [USBCDC12] 或 [USBECM12] 的定义。