MB SAR 플랫폼 지원

개요

SAR(특정 흡수 속도)은 MBB 안테나의 근접에 반응하여 MBB 무선 송신기 전력을 사용자에게 변경하는 기능입니다. 일반적으로 OEM은 SAR에 대한 독점 솔루션을 구현했습니다. 이렇게 하려면 OEM이 UMDF(사용자 모드 드라이버)와 모뎀 간에만 식별되거나 커널 모드 구성 요소가 모뎀과 직접 상호 작용해야 하는 디바이스 서비스 명령을 구현해야 합니다. 일부 OEM에는 UMDF 모뎀 및 커널 모드 모뎀 구성 요소가 모두 있는 하이브리드 솔루션이 있을 수도 있습니다. 무선 방사선 인식이 증가함에 따라 OEM 소프트웨어 구성 요소가 SAR 명령을 모뎀에 전달하도록 인터페이스를 표준화하면 다음과 같은 이점이 있습니다.

  1. OEM은 사용자 모드 구성 요소로 이동할 수 있으며 사용자 모드의 오류가 커널 모드에 비해 시스템에 치명적이지 않으므로 시스템을 보다 안정적으로 만들 수 있습니다.
  2. Windows는 플랫폼 표준 인터페이스를 제공하고 OEM의 독점 구현을 줄입니다.
  3. SAR을 활용하려는 플랫폼의 서비스는 모뎀에서 정보를 검색할 수 있습니다.

Windows 10 버전 1703부터 Windows는 SAR 구성 및 모뎀 전송 상태 통과를 지원합니다. Windows는 자체 차별화 요소로 사용하기 위해 SAR 비즈니스 논리를 IHV 및 OEM에 계속 맡기지만 플랫폼을 간소화하는 인터페이스를 제공합니다. 이 인터페이스를 지원하도록 두 개의 새 NDIS OID와 두 개의 새 MBIM CID가 정의되었습니다. OS 지원을 활용하려는 디바이스는 두 명령을 모두 구현해야 합니다.

이 기능은 두 개의 새 OID 및 CID를 추가하여 지원됩니다. MBIM을 구현하는 IHV 파트너의 경우 CID 버전만 지원되어야 합니다.

참고

이 항목에서는 IHV 파트너가 모뎀 디바이스 드라이버에서 SAR 플랫폼 지원을 구현하는 인터페이스를 정의합니다. 디바이스에 대한 SAR 매핑 테이블을 사용자 지정하는 방법에 대한 자세한 내용은 SAR(특정 흡수 속도) 매핑 테이블 사용자 지정을 참조하세요.

흐름

SAR 연산을 보여 주는 순서도입니다.

SAR 플랫폼 지원을 위한 MB 인터페이스 업데이트

MBIM 규격 디바이스는 CID_MBIM_DEVICE_SERVICES 쿼리할 때 다음 디바이스 서비스를 구현하고 보고합니다. 기존의 잘 알려진 서비스는 USB NCM MBIM 1.0 사양의 섹션 10.1에 정의되어 있습니다. Microsoft는 다음 서비스를 정의하기 위해 이를 확장합니다.

서비스 이름 = Microsoft SAR 컨트롤

UUID = UUID_MS_SARControl

UUID 값 = 68223D04-9F6C-4E0F-822D-28441FB72340

CID 최소 OS 버전
MBIM_CID_MS_SAR_CONFIG Windows 10, 버전 1703
MBIM_CID_MS_TRANSMISSION_STATUS Windows 10, 버전 1703

MBIM_CID_MS_SAR_CONFIG

Description

이 명령은 MB 디바이스의 SAR 백오프 모드 및 수준에 대한 정보를 설정하거나 반환합니다. MB 디바이스는 현재 전송 전원 제한을 덮어쓰고 전송 안테나에 적용하여 SAR 백오프 명령에 즉시 작동해야 합니다. 운영 체제에서 안테나의 SAR 구성을 변경하지 않은 경우 현재 설정을 유지해야 합니다. 예를 들어 운영 체제가 안테나 1을 SAR 백오프 인덱스 1로 설정하는 경우 안테나 2의 구성은 변경하지 않고 동일하게 유지되어야 합니다.

이 명령을 지원하는 디바이스가 OS 및 해당 클라이언트에 디바이스 정보를 제공하도록 쿼리를 구현해야 합니다. Set 명령의 경우 IHV와 OEM 간에 각 필드의 허용되는 값을 정의합니다. 일반적인 기대는 SAR 백오프 인덱스가 모든 안테나에 대해 최소 기준선으로 구성할 수 있다는 것입니다. 디바이스에서 지원되지 않는 필드와 함께 Set 요청을 보내는 경우 MBIM_STATUS_INVALID_PARAMETERS 상태 코드로 반환되어야 합니다.

각 쿼리 또는 설정 응답 후에 모뎀은 모바일 광대역과 연결된 디바이스의 모든 안테나에 대한 정보를 포함하는 MBIM_MS_SAR_CONFIG 구조를 반환해야 합니다.

쿼리

MBIM_COMMAND_MSG InformationBuffer는 사용되지 않습니다. MBIM_MS_SAR_CONFIG MBIM_COMMAND_DONE InformationBuffer에 반환됩니다.

설정

MBIM_COMMAND_MSG InformationBuffer에는 MBIM_MS_SAR_CONFIG 포함되어 있습니다. MBIM_MS_SAR_CONFIG MBIM_COMMAND_DONE InformationBuffer에 반환됩니다.

원치 않는 이벤트

해당 사항 없음

매개 변수

작업(Operation) 설정 쿼리 알림
명령 MBIM_MS_SET_SAR_CONFIG 해당 없음 해당 없음
응답 MBIM_MS_SAR_CONFIG MBIM_MS_SAR_CONFIG 적용할 수 없음

데이터 구조

쿼리

InformationBuffer는 NULL이어야 하며 InformationBufferLength는 0이어야 합니다.

설정

다음 MBIM_MS_SET_SAR_CONFIG 구조체는 InformationBuffer에서 사용해야 합니다.

Offset 크기 필드 형식 Description
0 4 SARMode MBIM_MS_SAR_CONTROL_MODE 자세한 내용은 MBIM_MS_SAR_CONTROL_MODE 테이블을 참조하세요.
4 4 SARBackOffStatus MBIM_MS_SAR_BACKOFF_STATE 자세한 내용은 MBIM_MS_SAR_BACKOFF_STATE 테이블을 참조하세요. MBIM_MS_SAR_CONTROL_MODE 디바이스 제어로 설정된 경우 OS에서 이 필드를 설정할 수 없습니다.
8 4 ElementCount(EC) Uint32 DataBuffer에서 이어지는 MBIM_MS_SAR_CONFIG 구조체의 수입니다.
12 8 * EC SARConfigStatusRefList OL_PAIR_LIST 쌍의 첫 번째 요소는 이 MBIM_MS_SET_SAR_CONFIG 구조체의 시작(오프셋 0)에서 MBIM_MS_SAR_CONFIG_STATE 구조로 계산된 4 바이트 오프셋입니다. 자세한 내용은 MBIM_MS_SAR_CONFIG_STATE 테이블을 참조하세요. 쌍의 두 번째 요소는 해당 MBIM_MS_SAR_CONFIG_STATE 구조체에 대한 포인터의 4 바이트 크기입니다.
12 + (8 * EC) DataBuffer DATABUFFER MBIM_MS_SAR_CONFIG_STATE 구조체의 배열입니다.

다음 구조체는 앞의 표에서 사용됩니다.

MBIM_MS_SAR_CONTROL_MODE SAR 백오프 메커니즘을 제어하는 방법을 지정합니다.

형식 Description
MBIMMsSARControlModeDevice 0 SAR 백오프 메커니즘은 모뎀 디바이스에 의해 직접 제어됩니다.
MBIMMsSARControlModeOS 1 SAR 백오프 메커니즘은 운영 체제에서 제어 및 관리합니다.

MBIM_MS_SAR_BACKOFF_STATE SAR 백오프 상태를 설명합니다.

형식 Description
MBIMMsSARBackOffStatusDisabled 0 SAR 백오프는 모뎀에서 사용하지 않도록 설정됩니다.
MBIMMsSARBackOffStatusEnabled 1 SAR 백오프는 모뎀에서 사용하도록 설정됩니다.

MBIM_MS_SAR_CONFIG_STATE 안테나에 대한 SAR 백오프에 대한 가능한 상태를 설명합니다.

Offset 크기 필드 형식 Description
0 4 SARAntennaIndex Uint32 이 테이블의 SARBackOffIndex 필드에 해당하는 안테나 인덱스입니다. 안테나 번호에 해당하며 디바이스의 각 안테나를 인덱싱하기 위해 OEM 구현에 남아 있습니다. 모든 인덱스는 이 값에 유효합니다. Set 명령에서 이 값이 0xFFFFFFFF설정 되면 SARBackOffIndex 를 모든 안테나에 적용해야 합니다. 이 값이 응답으로 0xFFFFFFFF 설정되면 SARBackOffIndex 가 모든 안테나에 적용됨을 나타냅니다.
4 4 SARBAckOffIndex Uint32 OEM 또는 모뎀 공급업체에서 정의한 백오프 테이블에 해당하는 백오프 인덱스입니다. 테이블에는 개별 밴드와 연결된 백오프 매개 변수가 있습니다.

응답

다음 MBIM_MS_SAR_CONFIG 구조체는 InformationBuffer에서 사용해야 합니다. MBIM_MS_SAR_CONFIG SAR에 대한 구성을 지정합니다.

Offset 크기 필드 형식 Description
0 4 SARMode MBIM_MS_SAR_MODE 자세한 내용은 MBIM_MS_SAR_CONTROL_MODE 테이블을 참조하세요.
4 4 SARBackOffStatus MBIM_MS_SAR_BACKOFF_STATE 자세한 내용은 MBIM_MS_SAR_BACKOFF_STATE 테이블을 참조하세요.
8 4 SARWifiIntegration MBIM_MS_SAR_ WIFI_HARDWARE_INTEGRATION 자세한 내용은 MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION 테이블을 참조하세요. 이는 디바이스의 Wi-Fi 및 셀룰러 SAR이 하드웨어 계층에 통합되고 디바이스가 두 라디오에 대해 SAR 제어를 자동으로 조정했음을 의미합니다.
12 4 ElementCount(EC) Uint32 DataBuffer에서 이어지는 MBIM_MS_SAR_CONFIG_STATE 구조의 수입니다.
16 8 * EC SARConfigStatusRefList OL_PAIR_LIST 쌍의 첫 번째 요소는 이 MBIM_MS_SAR_CONFIG 구조체의 시작(오프셋 0)에서 MBIM_MS_SAR_CONFIG_STATE 구조로 계산된 4 바이트 오프셋입니다. 자세한 내용은 MBIM_MS_SAR_CONFIG_STATE 테이블을 참조하세요. 쌍의 두 번째 요소는 해당 MBIM_MS_SAR_CONFIG_STATE 구조체에 대한 포인터의 4-바이트 크기입니다.
16 + (8 * EC) DataBuffer DATABUFFER MBIM_MS_SAR_CONFIG_STATE 구조체의 배열입니다.

다음 MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION 구조체는 앞의 표에서 사용됩니다. Wi-Fi 및 셀룰러가 하드웨어 수준에서 통합되는지 여부를 지정합니다.

형식 Description
MBIMMsSARWifiHardwareIntegrated 0 Wi-Fi 및 셀룰러 모뎀 SAR은 디바이스에 통합됩니다.
MBIMMsSARWifiHardwareNotIntegrated 1 Wi-Fi 및 셀룰러 모뎀 SAR은 디바이스에 통합되지 않습니다.

알림

해당 사항 없음

상태 코드

오류 코드 Description
MBIM_STATUS_SUCCESS 요청이 성공적으로 처리되었습니다.
MBIM_STATUS_BUSY 디바이스가 현재 사용 중입니다.
MBIM_STATUS_FAILURE 요청이 실패했습니다.
MBIM_STATUS_NO_DEVICE_SUPPORT 디바이스는 이 명령을 지원하지 않습니다.
MBIM_STATUS_INVALID_PARAMETERS 잘못된 매개 변수로 인해 작업이 실패했습니다.
MBIM_STATUS_OPERATION_NOT_ALLOWED 작업이 허용되지 않아 작업이 실패했습니다.

MBIM_CID_MS_TRANSMISSION_STATUS

Description

이 명령은 전송 상태의 모뎀에서 알림을 사용하거나 사용하지 않도록 설정하는 데 사용됩니다. 각 실행기마다 채널 전송 상태가 다를 수 있으므로 실행기별 명령입니다. 예를 들어 이중 SIM 모뎀은 LTE에 있고 다른 하나는 GSM에 있을 수 있습니다. 동시에 모뎀의 전송 상태 제공하는 데 사용할 수 있습니다. 이 알림은 모뎀이 데이터를 전송하는지 여부에 관심이 있는 클라이언트에 사용할 수 있습니다. 모뎀은 TX 트래픽의 시작 또는 끝이 있을 때마다 알림을 제공해야 합니다. 의무 주기가 너무 작고 호스트에 실시간으로 제공할 수 없는 경우 상태 업데이트를 보내기 전에 hysteresis 타이머를 사용하여 설정된 시간 동안 TX 상태를 활성 상태로 유지할 수 있습니다. 예를 들어 TX의 짧은 버스트가 있었고 모뎀이 시간에 시작 및 종료 알림을 제공할 수 없는 것일 수 있습니다. 모뎀은 TX 트래픽이 시작될 때 알림을 보내야 하며 hysteresis 타이머 중에 TX 트래픽을 계속 모니터링해야 합니다. 타이머의 기간 내에 더 이상 TX 트래픽이 생성되지 않은 경우 TX 트래픽이 종료되었음을 보고해야 합니다.

이는 Wi-Fi 및 LTE가 모두 연결된 시나리오에서 매우 유용합니다. LTE와 Wi-Fi 모두 전송 상태에 있고 근접이 감지된 경우 Wi-Fi 다시 해제해야 할 수 있습니다. LTE가 전송 상태가 아니지만 Wi-Fi 경우 Wi-Fi 다시 해제해야 할 수 있습니다. 이는 일반적인 Wi-Fi/LTE 연결 및 모바일 핫스폿 시나리오에 적용됩니다.

Wi-Fi 백오프 메커니즘 및 명령이 이 사양의 scope 벗어났습니다.

이 명령을 사용하는 OEM은 모뎀이 감소된 전원 상태를 포함하여 항상 전송 관련 알림을 보낼 수 있으므로 잠재적인 전원 영향을 알고 있어야 합니다. OS는 기본적으로 전원 성능을 향상시키기 위해 최신 대기 중에 이 알림이 AP를 해제하는 것을 허용하지 않습니다.

쿼리

MBIM_COMMAND_MSG InformationBuffer는 사용되지 않습니다. MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_COMMAND_DONE InformationBuffer에 반환됩니다.

설정

MBIM_COMMAND_MSG InformationBuffer에는 MBIM_MS_SET_TRANSMISSION_STATUS 포함되어 있습니다. MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_COMMAND_DONE InformationBuffer에 반환됩니다.

원치 않는 이벤트

원치 않는 이벤트에는 MBIM_MS_TRANSMISSION_STATUS_INFO 포함되며 활성 OTA(무선) 채널이 변경되면 전송됩니다. 예를 들어 모뎀이 패킷 데이터를 업로드하기 시작한 경우 페이로드를 업로드할 수 있도록 네트워크 데이터 채널을 사용할 때 업링크 채널을 설정해야 합니다. 그러면 운영 체제에 제공될 알림이 트리거됩니다.

매개 변수

작업(Operation) 설정 쿼리 알림
명령 MBIM_MS_SET_TRANSMISSION_STATUS 해당 없음 해당 없음
응답 MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_MS_TRANSMISSION_STATUS_INFO

데이터 구조

쿼리

MBIM_COMMAND_MSG InformationBuffer는 사용되지 않습니다. MBIM_MS_TRANSMISSION_STATUS_INFO MBIM_COMMAND_DONE InformationBuffer에 반환됩니다.

설정

다음 MBIM_MS_SET_TRANSMISSION_STATUS 구조체는 InformationBuffer에서 사용해야 합니다.

Offset 크기 필드 형식 Description
0 4 ChannelNotification MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION 자세한 내용은 MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION 테이블을 참조하세요.
4 4 HysteresisTimer Uint32 모뎀에서 MBIMMsTransmissionStateInactive를 호스트에 보낼 시기를 결정하는 데 사용되는 Hysteresis 표시기입니다. 이 값은 호스트에 OFF 표시기를 보내기 전에 모뎀이 연속 전송 안 됨 작업으로 보는 타이머입니다. 이 타이머는 1초에서 5초 사이의 초 단위로 설정해야 합니다.

다음 MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION 구조체는 앞의 표에서 사용됩니다. 모뎀 채널 전송을 사용하지 않도록 설정할지 또는 사용할 수 있는지 여부를 지정합니다.

형식 Description
MBIMMsTransmissionNotificationDisabled 0 모뎀 채널 전송 상태 알림이 비활성화되었습니다.
MBIMMsTransmissionNotificationEnabled 1 모뎀 채널 전송 상태 알림이 사용하도록 설정되었습니다.

응답

다음 MBIM_MS_TRANSMISSION_STATUS_INFO 구조체가 응답에 사용됩니다.

Offset 크기 필드 형식 Description
0 4 ChannelNotification MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION 자세한 내용은 MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION 테이블을 참조하세요.
4 4 TransmissionStatus MBIM_MS_TRANSMISSION_STATUS 자세한 내용은 MBIM_MS_TRANSMISSION_STATUS 테이블을 참조하세요. 이는 모뎀에 5초마다 TX 트래픽이 있는지 여부를 나타냅니다.
8 4 HysteresisTimer Uint32 모뎀에서 MBIMMsTransmissionStateInactive를 호스트에 보낼 시기를 결정하는 데 사용되는 Hysteresis 표시기입니다. 이 값은 모뎀이 호스트에 OFF 표시기를 보내기 전에 연속 전송 없음 작업으로 보는 타이머입니다. 이 타이머는 1초에서 5초 사이의 초 단위로 설정해야 합니다.

다음 MBIM_MS_TRANSMISSION_STATUS 구조체는 앞의 표에서 사용됩니다. 모뎀에 5초마다 TX 트래픽이 있는지 여부를 나타냅니다.

형식 Description
MBIMMsTransmissionStateInactive 0 모뎀은 마지막 HysteresisTimer 값에 대한 지속적인 전송 경과 없이 데이터를 적극적으로 전송하지 않았습니다.
MBIMMsTransmissionStateActive 1 모뎀이 데이터를 적극적으로 전송하고 있었습니다.

알림

자세한 내용은 MBIM_MS_TRANSMISSION_STATUS_INFO 테이블을 참조하세요.

상태 코드

오류 코드 Description
MBIM_STATUS_SUCCESS 요청이 성공적으로 처리되었습니다.
MBIM_STATUS_BUSY 디바이스가 현재 사용 중입니다.
MBIM_STATUS_FAILURE 요청이 실패했습니다.
MBIM_STATUS_NO_DEVICE_SUPPORT 디바이스는 이 명령을 지원하지 않습니다.
MBIM_STATUS_INVALID_PARAMETERS 잘못된 매개 변수로 인해 작업이 실패했습니다.
MBIM_STATUS_OPERATION_NOT_ALLOWED 작업이 허용되지 않아 작업이 실패했습니다.

HLK(하드웨어 랩 키트) 테스트

HLK 설치 단계를 참조하세요.

HLK Studio에서 디바이스 셀룰러 모뎀 드라이버에 연결하고 테스트를 실행합니다( Win6_4.MB). Gsm. Data.TestSAR.

이 테스트에는 다음 테스트가 포함됩니다.

테스트 이름 Description
QuerySarConfig 이 테스트는 테스트가 SAR 구성을 성공적으로 쿼리할 수 있는지 확인합니다.
SetSarConfig 이 테스트는 테스트가 SAR 구성을 성공적으로 설정할 수 있는지 확인합니다.
QuerySarTransmissionStatus 이 테스트는 테스트가 SAR 전송 상태 성공적으로 쿼리할 수 있는지 확인합니다.
SetSarTransmissionStatus 이 테스트는 테스트가 SAR 전송 상태 성공적으로 설정할 수 있는지 확인합니다.

WinRT API

MobileBroadbandSarManager

로그 분석

로그 수집 지침인 MB 로그를 사용하여 로그를 수집하고 디코딩할 수 있습니다.

중요한 공급자 및 해당 키워드

Microsoft-Windows-WWAN-SVC-EVENTS(3cb40aaa-1145-4fb8-b27b-7e30f0454316)

필터링 키워드:

  1. SarConfig
  2. CWwanSar::OnNdisNotification
  3. LoadSemiStaticOEMSARTable
  4. AttemptAutoConfigureSAR
  5. PreCheckSemiStaticOEMSARTable
  6. WwanIntfOpcodeSarConfig
  7. WwanIntfOpcodeSarTransmissionStatus
  8. WwanMsmEventTypeSarConfig
  9. WwanMsmEventTypeSarTransmissionStatus

MobileBroadband WinRT WPP(56dd9c57-06cc-48ba-b123-876a6495ba13)

필터링 키워드: MobileBroadbandSarManager

WwanProtDIM(3a07e1ba-3a6b-49bf-8056-c105b54dd7fb)

필터링 키워드:

  1. NDIS_WWAN_SAR_CONFIG_INFO
  2. SarMode
  3. NDIS_WWAN_SAR_TRANSMISSION_STATUS_INFO
  4. HysteresisTimer

참고 항목

SAR(특정 흡수율) 매핑 테이블 사용자 지정