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 服务发送同步 (阻止) OID_GEN_PHYSICAL_MEDIUM 查询请求来标识 MB 设备的类型。 微型端口驱动程序使用 NdisPhysicalMediumWirelessWan 进行响应,以指示 MB 设备是 WWAN 设备。
MB 服务向微型端口驱动程序发送同步 (阻止) OID_GEN_MEDIA_SUPPORTED 查询请求,以确定 MB 设备使用的介质类型。 微型端口驱动程序响应 NdisMedium802_3 ,以指示它使用以太网仿真。
MB 服务向微型端口驱动程序发送同步 (阻止) OID_WWAN_DRIVER_CAPS 查询请求,以确定微型端口驱动程序支持的驱动程序模型版本。 微型端口驱动程序使用WWAN_VERSION进行响应。
MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_DEVICE_CAPS 查询请求,以标识 MB 设备的功能。 微型端口驱动程序以临时确认响应,表明它已收到请求,并将在将来发送包含所请求信息的通知。
微型端口驱动程序向 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 结构中的重要标志。
若要在锁定 PIN1 的情况下初始化基于 GSM 的设备,请执行以下步骤:
MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_READY_INFO 查询请求,以标识设备的就绪状态。 微型端口驱动程序响应临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 它已收到请求,并将在将来发送包含所请求信息的通知。
微型端口驱动程序向 MB 服务发送NDIS_STATUS_WWAN_FAILURE通知,以指示已锁定 SIM 卡) (订阅者标识模块。
MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_PIN 查询请求。 微型端口驱动程序响应临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 它已收到请求,并将在将来发送包含所请求信息的通知。
微型端口驱动程序向 MB 服务发送NDIS_STATUS_WWAN_SUCCESS通知。
MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_PIN 设置请求。 微型端口驱动程序响应临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 它已收到请求,并将在将来发送包含所请求信息的通知。
微型端口驱动程序向 MB 服务发送NDIS_STATUS_WWAN_SUCCESS通知。
微型端口驱动程序向 MB 服务发送 NDIS_STATUS_WWAN_READY_INFO 通知,向 MB 服务指示 MB 设备的状态为 WwanReadyStateInitialized。
MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_REGISTER_STATE 查询请求。 微型端口驱动程序以临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 响应它已收到请求,并将在将来发送包含所请求信息的通知。
微型端口驱动程序向 MB 服务发送NDIS_STATUS_WWAN_SUCCESS通知。
微型端口驱动程序向 MB 服务发送 NDIS_STATUS_WWAN_REGISTER_STATE 通知。
MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_HOME_PROVIDER 查询请求。 微型端口驱动程序以临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 响应它已收到请求,并将在将来发送包含所请求信息的通知。
微型端口驱动程序向 MB 服务发送NDIS_STATUS_WWAN_SUCCESS通知。
微型端口驱动程序向 MB 服务发送 NDIS_STATUS_WWAN_REGISTER_STATE 通知。
MB 服务向微型端口驱动程序发送异步 (非阻塞 ) OID_WWAN_PACKET_SERVICE 请求。 微型端口驱动程序响应临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 它已收到请求,并将在将来发送包含所请求信息的通知。
微型端口驱动程序向 MB 服务发送 NDIS_STATUS_WWAN_PACKET_SERVICE 通知。
MB 服务向微型端口驱动程序发送异步 (非阻塞) OID_WWAN_PROVISIONED_CONTEXTS 查询请求。 微型端口驱动程序以临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 响应它已收到请求,并将在将来发送包含所请求信息的通知。
微型端口驱动程序将 NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS 发送到 MB 服务。
MB 服务向 MB 服务发送异步 (非阻塞) OID_WWAN_PROVISIONED_CONTEXTS 设置请求。 微型端口驱动程序以临时确认 (NDIS_STATUS_INDICATION_REQUIRED) 响应它已收到请求,并将在将来发送包含所请求信息的通知。
微型端口驱动程序将NDIS_STATUS_WWAN_SUCCESS发送到 MB 服务。
另请参阅
有关设备就绪情况的详细信息,请参阅 OID_WWAN_READY_INFO。
有关使用预配上下文进行设备初始化的详细信息,请参阅 MB 预配上下文操作。