MB 设备就绪状态

本主题介绍在 MB 服务继续设置数据连接之前,确保 MB 设备可访问并准备好用于与网络相关的活动的过程。 激活用户订阅并将订阅者相关信息存储到设备或订阅者标识模块 (SIM 卡卡)

MB 服务假定微型端口驱动程序在系统加载后自动初始化其 MB 设备的硬件 (无线电堆栈、SIM 卡或等效电路) ,而无需等待服务的任何指令。

微型端口驱动程序将其 MB 设备的初始就绪状态设置为 WwanReadyStateOff。 在进行初始化时,微型端口驱动程序必须发送事件通知,以通知 MB 服务其设备就绪状态的更改。

如果微型端口驱动程序遇到任何错误情况,则必须停止初始化过程。 清除错误条件后,微型端口驱动程序可以恢复初始化过程,直到其设备达到 WwanReadyStateInitialized 就绪状态。

下面是一些错误方案的示例:

  • 如果设备需要 SIM 卡卡并且微型端口驱动程序检测到不存在 SIM 卡卡,微型端口驱动程序必须发送 WwanReadyStateSimNotInserted 就绪状态事件通知,并且微型端口驱动程序必须保持该状态,直到用户将 SIM 卡卡插入设备。

  • 例如,如果设备需要 SIM 卡卡并且微型端口驱动程序无法读取已插入 (的 SIM 卡,则会将 U-RIM 插入到基于 GSM 的设备或将 USIM 插入到基于 CDMA 的设备) 或者 SIM 卡与设备不兼容 (例如,将 3G USIM 插入到 2G 设备中, 无法解释 USIM 格式) ,微型端口驱动程序必须发送 WwanReadyStateBadSim 就绪状态事件通知,并且微型端口驱动程序必须保持该状态,直到用户将正确的 SIM 卡插入设备。

  • 如果设备被使用 SIM 卡) 的 PIN (锁定,或者由不使用 SIM 卡的设备的密码 (锁定,) 阻止设备进一步初始化进度,微型端口驱动程序必须发送 WwanReadyStateDeviceLocked 就绪状态事件通知,并且微型端口驱动程序必须保持该状态,直到用户输入正确的 PIN 或密码。

  • 如果微型端口驱动程序检测到需要激活服务才能继续,微型端口驱动程序必须发送 WwanReadyStateNotActivated 就绪状态事件通知,并且必须保持该状态,直到服务激活为止。 这是北美中基于 CDMA 的设备的典型行为。

  • 如果微型端口驱动程序遇到前面提到的故障以外的故障,微型端口驱动程序必须发送 WwanReadyStateFailure 就绪状态事件通知,并且它必须保持该状态,直到问题被识别并更正。

请注意,MB 服务不会假定微型端口驱动程序可以检测所有这些错误。 服务也不采用微型端口驱动程序检测这些错误条件的顺序。 但是,最好按前面列出的顺序实现错误方案。

在微型端口驱动程序发送 WwanReadyStateInitialized 就绪状态事件通知之前,在确定并更正问题之前,服务不会继续执行任何与网络相关的活动。 但是,该服务仍可能将 OID 发送到微型端口驱动程序。

微型端口驱动程序无需等待 SMS 子系统准备就绪,即可报告 WwanReadyStateInitialized 就绪状态。 相反,当 SMS 子系统准备好发送和接收短信时,微型端口驱动程序应发送单独的 OID_WWAN_SMS_CONFIGURATION 通知。

紧急模式支持

如果微型端口驱动程序指示它在处理OID_WWAN_READY_INFO时支持紧急呼叫服务,则微型端口驱动程序必须将 WWAN_READY_INFO 结构的 EmergencyMode 成员设置为 WwanEmergencyModeOn。 在这种情况下,微型端口驱动程序应继续向 MB 服务发送注册通知,但该服务不会调用任何与自动配置相关的功能。

微型端口驱动程序可以指定它们支持紧急呼叫服务,即使他们检测到 SIM 卡不再有效,可能是因为订阅未付,或者服务因设备被报告被盗而已停用。

MB 微型端口驱动程序初始化

下图显示了确定接口是否为限定的 MB 接口并收集有关设备功能的信息的过程。 当 MB 服务启动时,将针对每个枚举的 MB 接口以及服务运行时的每个新接口到达执行这些步骤。 粗体标签表示 OID 标识符或事务流控制。 常规文本中的标签表示 OID 结构中的重要标志。

确定接口是否为限定的 mb 接口,并收集有关设备功能的信息。

若要初始化 MB 微型端口驱动程序,请使用以下过程:

  1. MB 服务发送同步 (阻止) OID_GEN_PHYSICAL_MEDIUM 查询请求来标识 MB 设备的类型。 微型端口驱动程序使用 NdisPhysicalMediumWirelessWan 进行响应,以指示 MB 设备是 WWAN 设备。

  2. MB 服务向微型端口驱动程序发送同步 (阻止) OID_GEN_MEDIA_SUPPORTED 查询请求,以确定 MB 设备使用的介质类型。 微型端口驱动程序响应 NdisMedium802_3 ,以指示它使用以太网仿真。

  3. MB 服务向微型端口驱动程序发送同步 (阻止) OID_WWAN_DRIVER_CAPS 查询请求,以确定微型端口驱动程序支持的驱动程序模型版本。 微型端口驱动程序使用WWAN_VERSION进行响应。

  4. MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_DEVICE_CAPS 查询请求,以标识 MB 设备的功能。 微型端口驱动程序以临时确认响应,表明它已收到请求,并将在将来发送包含所请求信息的通知。

  5. 微型端口驱动程序向 MB 服务发送 NDIS_STATUS_WWAN_DEVICE_CAPS 通知,指示微型端口驱动程序支持的 MB 设备的功能。 例如,如果微型端口驱动程序支持基于 GSM 的设备,则应在 NDIS_WWAN_DEVICE_CAPS 结构的 DeviceCaps.WwanCellularClass 成员中指定 WwanCellularClassGsm 值。 如果微型端口驱动程序支持基于 CDMA 的设备,则应指定 WwanCellularClassCdma

使用User-Defined上下文初始化SIM-Locked GPRS 设备

下图演示了用户输入 SIM 卡 PIN 并手动配置接入点名称字符串的方案。 粗体标签是 OID 标识符或事务流控制,常规文本中的标签是 OID 结构中的重要标志。

说明用户输入 SIM 针并手动配置接入点名称字符串的方案示意图。

若要在锁定 PIN1 的情况下初始化基于 GSM 的设备,请执行以下步骤:

  1. MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_READY_INFO 查询请求,以标识设备的就绪状态。 微型端口驱动程序响应临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 它已收到请求,并将在将来发送包含所请求信息的通知。

  2. 微型端口驱动程序向 MB 服务发送NDIS_STATUS_WWAN_FAILURE通知,以指示已锁定 SIM 卡) (订阅者标识模块。

  3. MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_PIN 查询请求。 微型端口驱动程序响应临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 它已收到请求,并将在将来发送包含所请求信息的通知。

  4. 微型端口驱动程序向 MB 服务发送NDIS_STATUS_WWAN_SUCCESS通知。

  5. MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_PIN 设置请求。 微型端口驱动程序响应临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 它已收到请求,并将在将来发送包含所请求信息的通知。

  6. 微型端口驱动程序向 MB 服务发送NDIS_STATUS_WWAN_SUCCESS通知。

  7. 微型端口驱动程序向 MB 服务发送 NDIS_STATUS_WWAN_READY_INFO 通知,向 MB 服务指示 MB 设备的状态为 WwanReadyStateInitialized

  8. MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_REGISTER_STATE 查询请求。 微型端口驱动程序以临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 响应它已收到请求,并将在将来发送包含所请求信息的通知。

  9. 微型端口驱动程序向 MB 服务发送NDIS_STATUS_WWAN_SUCCESS通知。

  10. 微型端口驱动程序向 MB 服务发送 NDIS_STATUS_WWAN_REGISTER_STATE 通知。

  11. MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_HOME_PROVIDER 查询请求。 微型端口驱动程序以临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 响应它已收到请求,并将在将来发送包含所请求信息的通知。

  12. 微型端口驱动程序向 MB 服务发送NDIS_STATUS_WWAN_SUCCESS通知。

  13. 微型端口驱动程序向 MB 服务发送 NDIS_STATUS_WWAN_REGISTER_STATE 通知。

  14. MB 服务向微型端口驱动程序发送异步 (非阻塞 ) OID_WWAN_PACKET_SERVICE 请求。 微型端口驱动程序响应临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 它已收到请求,并将在将来发送包含所请求信息的通知。

  15. 微型端口驱动程序向 MB 服务发送 NDIS_STATUS_WWAN_PACKET_SERVICE 通知。

  16. MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_PROVISIONED_CONTEXTS 查询请求。 微型端口驱动程序以临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 响应它已收到请求,并将在将来发送包含所请求信息的通知。

  17. 微型端口驱动程序将 NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS 发送到 MB 服务。

  18. MB 服务向 MB 服务发送异步 (非阻塞) OID_WWAN_PROVISIONED_CONTEXTS 设置请求。 微型端口驱动程序以临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 响应它已收到请求,并将在将来发送包含所请求信息的通知。

  19. 微型端口驱动程序将NDIS_STATUS_WWAN_SUCCESS发送到 MB 服务。

另请参阅

有关设备就绪情况的详细信息,请参阅 OID_WWAN_READY_INFO

有关使用预配上下文进行设备初始化的详细信息,请参阅 MB 预配上下文操作