다음을 통해 공유


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 Control

UUID = UUID_MS_SARControl

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

CID 최소 OS 버전
MBIM_CID_MS_SAR_CONFIG (엠비아이엠 CID MS SAR 설정) Windows 10 버전 1703
MBIM_CID_MS_TRANSMISSION_STATUS Windows 10 버전 1703

MBIM_CID_MS_SAR_CONFIG (엠비아이엠 CID MS SAR 설정)

묘사

이 명령은 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에 반환됩니다.

원치 않는 이벤트

적용할 수 없습니다.

매개 변수

수술 설정 쿼리 통지
명령 MBIM_MS_SET_SAR_CONFIG 해당 없음 해당 없음
응답 MBIM_MS_SAR_CONFIG MBIM_MS_SAR_CONFIG 해당 없음

데이터 구조

쿼리

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

설정

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

오프셋 크기 유형 묘사
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 SAR 구성 상태 참조 목록 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) 데이터 버퍼 MBIM_MS_SAR_CONFIG_STATE 구조체의 배열입니다.

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

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

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

MBIM_MS_SAR_BACKOFF_STATE는 SAR 감소의 상태를 설명합니다.

유형 묘사
MBIMMsSARBackOffStatusDisabled (MBIM MS SAR 백오프 상태 비활성화) 0 SAR 백오프는 모뎀에서 사용할 수 없습니다.
MBIMMsSARBackOffStatusEnabled 1 SAR 백오프는 모뎀에서 사용하도록 설정됩니다.

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

오프셋 크기 유형 묘사
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에 대한 구성을 지정합니다.

오프셋 크기 유형 묘사
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 SAR 구성 상태 참조 목록 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 -byte 크기입니다.
16 + (8 * EC) 데이터 버퍼 (DataBuffer) 데이터 버퍼 MBIM_MS_SAR_CONFIG_STATE 구조체의 배열입니다.

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

유형 묘사
MBIMMsSARWifiHardwareIntegrated 0 Wi-Fi 및 셀룰러 모뎀 SAR은 디바이스에 통합됩니다.
MBIMMsSARWifi 하드웨어가 통합되어 있지 않음 1 Wi-Fi 및 셀룰러 모뎀 SAR은 디바이스에 통합되지 않습니다.

통지

적용할 수 없습니다.

상태 코드

오류 코드 묘사
MBIM_STATUS_SUCCESS 요청이 성공적으로 처리되었습니다.
MBIM_STATUS_바쁨 디바이스가 현재 사용 중입니다.
MBIM_STATUS_FAILURE (실패 상태) 요청이 실패했습니다.
MBIM_STATUS_NO_DEVICE_SUPPORT (장치 지원 없음) 디바이스는 이 명령을 지원하지 않습니다.
MBIM 상태 - 잘못된 매개변수 잘못된 매개 변수로 인해 작업이 실패했습니다.
MBIM_상태_작업_허용_안됨 작업이 허용되지 않아 작업이 실패했습니다.

MBIM_CID_MS_TRANSMISSION_STATUS

묘사

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

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

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

이 명령을 사용하는 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(무선) 채널이 변경되면 전송됩니다. 예를 들어 모뎀이 패킷 데이터를 업로드하기 시작한 경우 페이로드를 업로드할 수 있도록 네트워크 데이터 채널을 사용할 때 업링크 채널을 설정해야 합니다. 그러면 운영 체제에 제공될 알림이 트리거됩니다.

매개 변수

수술 설정 쿼리 통지
명령 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에 반환됩니다.

설정

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

오프셋 크기 유형 묘사
0 4 채널 알림 MBIM_MS_전송_상태_알림 자세한 내용은 MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION 테이블을 참조하세요.
4 4 HysteresisTimer UINT32 모뎀에서 MBIMMsTransmissionStateInactive를 호스트로 보낼 시기를 결정하는 데 사용되는 Hysteresis 표시기입니다. 이 값은 호스트에 OFF 표시기를 보내기 전에 모뎀이 연속 전송 안 됨 작업으로 보는 타이머입니다. 이 타이머는 1초에서 5초 사이의 초 단위로 설정해야 합니다.

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

유형 묘사
MBIMMS전송알림비활성화 0 모뎀 채널 전송 상태 알림을 사용할 수 없습니다.
MBIMMsTransmissionNotificationEnabled 1 모뎀 채널 전송 상태 알림이 활성화되었습니다.

응답

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

오프셋 크기 유형 묘사
0 4 채널 알림 MBIM_MS_전송_상태_알림 자세한 내용은 MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION 테이블을 참조하세요.
4 4 전송 상태 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 트래픽이 있는지 여부를 나타냅니다.

유형 묘사
MBIMMsTransmissionStateInactive 0 모뎀은 마지막 HysteresisTimer 값에 대한 연속 전송 경과 없이 데이터를 적극적으로 전송하지 않았습니다.
MBIMMs전송상태활성화 1 모뎀이 데이터를 적극적으로 전송하고 있었습니다.

통지

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

상태 코드

오류 코드 묘사
MBIM_STATUS_SUCCESS 요청이 성공적으로 처리되었습니다.
MBIM_STATUS_바쁨 디바이스가 현재 사용 중입니다.
MBIM_STATUS_FAILURE (실패 상태) 요청이 실패했습니다.
MBIM_STATUS_NO_DEVICE_SUPPORT (장치 지원 없음) 디바이스는 이 명령을 지원하지 않습니다.
MBIM 상태 - 잘못된 매개변수 잘못된 매개 변수로 인해 작업이 실패했습니다.
MBIM_상태_작업_허용_안됨 작업이 허용되지 않아 작업이 실패했습니다.

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

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

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

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

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

WinRT API

MobileBroadbandSarManager

로그 분석

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

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

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

필터링을 위한 키워드:

  1. SarConfig
  2. CWwanSar::OnNdisNotification
  3. LoadSemiStaticOEMSARTable
  4. 자동구성SAR시도
  5. PreCheckSemiStaticOEMSARTable
  6. WwanIntfOpcodeSarConfig
  7. WwanIntfOpcodeSar 전송 상태
  8. WwanMsmEventTypeSarConfig
  9. WWAN MSM 이벤트 유형 SAR 전송 상태

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) 매핑 테이블을 사용자 지정