MBIMEx 2.0 – 5G NSA 지원

MBIM 1.0 errata 사양에는 새 페이로드 또는 수정된 페이로드를 사용하여 기존 CID를 변경하는 메커니즘이 없기 때문에 Windows 10 버전 1903에서는 MBIM 1.0 확장 2.0을 도입하여 인터페이스를 5G를 지원하도록 확장합니다.

버전 관리 체계

참고

이 섹션에서 는 MBIMEx 버전 이라는 용어는 MBIM 확장 릴리스 번호를 나타냅니다.

호스트는 다음 두 가지 방법을 통해 디바이스의 MBIMEx 버전을 학습합니다.

  1. MBIM 확장 기능 설명자입니다.
  2. 선택적 MBM_CID_VERSION 메시지입니다( 디바이스가 지원하며 이에 대한 지원을 선언하는 경우).

이 두 가지가 서로 다른 경우 상위 버전은 디바이스가 호스트에 열거된 상태로 유지되는 기간 동안 MBIMEx 버전을 지정합니다. 더 높은 MBIMEx 버전을 디바이스의 발표된 MBIMEx 버전이라고 합니다. 디바이스의 발표된 MBIMEx 버전은 디바이스에서 지원하는 가장 높은 MBIMEx 버전인 네이티브 MBIMEx 버전보다 낮을 수 있습니다. 디바이스는 MBIM_CID_VERSION 메시지를 통해서만 호스트의 MBIMEx 버전을 명시적으로 학습할 수 있습니다.

모든 릴리스에서 호스트는 항상 디바이스 초기화 시퀀스의 시작 부분에서 MBIM_CID_DEVICE_SERVICES 사용하여 지원되는 서비스 및 CID를 디바이스에 쿼리합니다.

디바이스가 MBIM_CID_VERSION 지원하고 MBIM_CID_DEVICE_SERVICES 쿼리 응답에서 지원을 보급하는 경우 MBIM_CID_VERSION 이해하지 못하거나 MBIMEx 버전이 2.0보다 낮은 호스트는 무시합니다. 한편, MBIM_CID_VERSION 이해하고 네이티브 MBIMEx 버전이 2.0 이상인 호스트는 호스트의 네이티브 MBIMEx 버전을 사용하여 디바이스에 MBIM_CID_VERSION 메시지를 보내고, CID는 MBIM_CID_DEVICE_SERVICES 응답을 받은 후 디바이스로 전송되는 첫 번째 CID입니다.

디바이스가 MBIM_CID_DEVICE_SERVICES 쿼리에 응답한 후 호스트에서 수신하는 첫 번째 CID가 MBIM_CID_VERSION 경우 디바이스는 호스트의 MBIMEx 버전을 알고 있습니다.

디바이스가 MBIM_CID_DEVICE_SERVICES 쿼리에 응답한 후 호스트에서 수신하는 첫 번째 CID가 다른 CID인 경우 디바이스는 호스트의 네이티브 MBIMEx 버전이 1.0이라고 가정합니다.

MBIM_CID_VERSION 지원되지 않는 OS를 보여 주는 다이어그램 및 모뎀의 가장 높은 지원되는 MBIMEx 버전은 3.0입니다.

디바이스가 MBIM_CID_VERSION 지원하지 않으면 MBIM_CID_VERSION 사용하여 MBIM_CID_DEVICE_SERVICES 쿼리에 응답하지 않습니다. 따라서 호스트는 MBIM_CID_VERSION 메시지를 보내지 않으며 디바이스의 네이티브 MBIMEx 버전이 1.0이라고 가정합니다.

MBIM_CID_VERSION 지원 없이 가장 높은 MBIMEx 버전 3.0 및 모뎀이 있는 OS를 보여 주는 다이어그램

기능 면에서 더 높은 MBIMEx 버전은 모든 하위 MBIMEx 버전의 상위 집합입니다. 호스트는 호스트의 네이티브 MBIMEx 버전 이하에서 발표된 MBIMEx 버전이 있는 모든 디바이스를 지원합니다. 디바이스의 발표된 MBIMEx 버전이 호스트의 네이티브 MBIMEx 버전보다 높은 경우 호스트는 디바이스를 지원하지 않을 것으로 예상되며 이 상황에서 호스트의 정확한 동작은 정의되지 않습니다.

이전 호스트와 함께 작동하려는 디바이스는 처음에 MBIMEx 버전 1.0 또는 디바이스가 MBIM 확장 기능 설명자에서 작동하도록 의도된 가장 낮은 호스트 MBIMEx 버전을 보급해야 합니다.

호스트가 처음에 보급된 디바이스보다 더 높은 MBIMEx 버전으로 MBIM_CID_VERSION 보내는 경우 디바이스는 호스트의 네이티브 MBIMEx 버전 및 디바이스의 네이티브 MBIMEx 버전까지 MBIM_CID_VERSION 응답에서 더 높은 MBIMEx 버전을 나타내야 합니다.

모뎀의 가장 높은 지원 버전보다 낮은 MBIMEx 버전이 있는 OS를 보여 주는 다이어그램

모뎀에서 지원되는 가장 높은 버전보다 MBIMEx 버전이 높은 OS를 보여 주는 다이어그램

참고

예를 들어 디바이스는 MBIMEx 버전 2.0을 지원하지만 MBIMEx 2.0을 지원하지 않는 이전 버전의 OS에서 작동합니다. 디바이스는 처음에 USB 설명자에 MBIMEx 버전 1.0을 보급하고 선택적 MBIM_CID_VERSION 대한 지원을 보급합니다. Windows 10 버전 1803을 실행하는 호스트에 삽입하면 호스트는 MBIM_CID_VERSION 이해하지 못하고 디바이스에 MBIM_CID_VERSION 보내지 않습니다. 호스트에 디바이스의 MBIMEx 버전은 1.0입니다. 호스트는 초기화 시퀀스에서 다른 CID를 계속 보냅니다. MBIM_CID_VERSION 이외의 CID를 받으면 디바이스는 호스트가 MBIMEx 버전 1.0을 지원한다는 것을 알고 있습니다. 양측은 MBIMEx 버전 1.0을 준수합니다. 나중에 네이티브 MBIMEx 버전이 2.0인 Windows 10 버전 1903을 실행하는 호스트에 동일한 디바이스가 삽입되면 호스트는 MBIM_CID_VERSION 디바이스로 보내 호스트의 네이티브 MBIMEx 버전이 2.0임을 알릴 수 있습니다. 디바이스는 디바이스의 발표된 MBIMEx 버전 2.0에 대한 응답으로 MBIM_CID_VERSION 다시 보냅니다. 여기에서 양측은 MBIMEx 버전 2.0을 준수합니다.

다음 표에서는 각각 네이티브 MBIMEx 버전이 명시된 가상 호스트 3개와 가상 디바이스 3개가 있는 호환성 매트릭스를 보여 줍니다. 디바이스는 처음에 USB 설명자에서 MBIMEx 버전 1.0을 보급합니다. 행렬은 각 디바이스가 각 호스트에서 작동하는 방식을 보여 줍니다.

디바이스(아래) / 호스트(오른쪽) Windows 10, 버전 1809 이전 버전(네이티브 MBIMEx 버전 1.0) Windows 10 버전 1903 이상(MBIMEx 버전 2.0)
4G 디바이스

네이티브 MBIMEx 버전 1.0

디바이스는 처음에 MBIMEx 1.0을 보급합니다. MBIM_CID_VERSION 교환이 없습니다. 호환되는 디바이스 및 호스트. 기본적으로 MBIMEx 버전 1.0에서 작동합니다. 디바이스는 처음에 MBIMEx 1.0을 보급합니다. MBIM_CID_VERSION 교환이 없습니다. 호스트는 MBIMEx 1.0을 사용하여 디바이스에서 작동합니다.
5G NSA 디바이스

네이티브 MBIMEx 버전 2.0

디바이스는 처음에 MBIMEx 1.0을 보급합니다. MBIM_CID_VERSION 교환이 없습니다. 디바이스는 호스트에 MBIMEx 1.0이 있고 MBIMEx 1.0을 진행한다는 것을 알고 있습니다. 디바이스는 처음에 MBIMEx 1.0을 보급합니다. 호스트는 MBIM_CID_VERSION 보내 호스트가 MBIMEx 2.0을 지원한다는 사실을 디바이스에 알릴 수 있습니다. 디바이스가 MBIMEx 2.0으로 응답합니다. 양측은 MBIMEx 2.0을 진행합니다.

다음 표에서는 MBIMEx 버전 2.0에서 수정된 모든 기존 CID와 수정된 페이로드를 나열합니다. 이러한 CID의 모든 언급되지 않은 페이로드 및 테이블에 언급되지 않은 다른 모든 CID는 MBIMEx 버전 1.0에서 이월되며 변경되지 않은 상태로 유지됩니다.

CID 페이로드
MBIM_CID_REGISTER_STATE MBIM_REGISTRATION_STATE_INFO_V2
MBIM_CID_PACKET_SERVICE MBIM_PACKET_SERVICE_INFO_V2
MBIM_CID_SIGNAL_STATE MBIM_SIGNAL_STATE_INFO_V2

MBIM 서비스

서비스 이름 UUID UUID 값
Microsoft 기본 IP 연결 확장 UUID_BASIC_CONNECT_EXTENSIONS 3D01DCC5-FEF5-4D05-9D3A-BEF7058E9AAF

MBIM_CID_VERSION

MBIM Microsoft 확장 2.0 이상을 지원하는 MBB 드라이버의 경우 MBIM_CID_VERSION 호스트와 디바이스 간에 MBIM 버전 정보를 교환하기 위한 필수 명령입니다. 이 CID를 인식하지 못하는 드라이버가 있는 시장 내 디바이스의 경우 호스트는 이전 버전과의 호환성을 가정하고 제공합니다.

호스트는 디바이스에서 지원하는 경우 이 명령을 쿼리로 보냅니다. 쿼리에는 호스트가 현재 지원하는 MBIM 릴리스 번호 및 MBIM 확장 릴리스 번호가 포함됩니다.

디바이스 쪽에서 디바이스는 버전 관리 체계에 정의된 규칙에 따라 발표된 MBIM 릴리스 번호 및 MBIM 확장 릴리스 번호를 조정한 다음 호스트에 대한 응답으로 보냅니다.

이 명령은 기본 연결 확장 서비스 아래에 정의됩니다.

CID 명령 코드 UUID
MBIM_CID_VERSION 15 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

매개 변수

작업(Operation) Set 쿼리 알림
명령 해당 없음 MBIM_VERSION_INFO 해당 없음
응답 해당 없음 MBIM_VERSION_INFO 해당 없음

쿼리

호스트의 네이티브 MBIM 릴리스 번호 및 MBIM 확장 릴리스 번호를 디바이스에 알릴 수 있습니다. InformationBuffer에는 다음과 같은 MBIM_VERSION_INFO 구조체가 포함되어 있습니다.

Offset 크기 필드 형식 Description
0 2 bcdMBIMVersion UINT16 BCD에서 보낸 사람의 MBIM 릴리스 번호이며 비트 7과 8 사이의 암시적 소수점입니다. 0x0100 == 1.00 == 1.0)을 입력합니다. 이는 little-endian 상수이므로 바이트가 0x00 0x01.
2 2 bcdMBIMExtendedVersion UINT16 MBIM 확장은 BCD에서 보낸 사람의 릴리스 번호이며 비트 7과 8 사이의 암시적 소수점입니다. 0x0100 == 1.00 == 1.0)을 입력합니다. 이는 little-endian 상수이므로 바이트가 0x00 0x01.

Set

해당 사항 없음

응답

MBIM_COMMAND_DONE InformationBuffer에는 MBIM_VERSION_INFO 구조체가 포함되어 있습니다.

원치 않는 이벤트

해당 사항 없음

상태 코드

이 CID는 MBIM 사양 수정 버전 1.0의 섹션 9.4.5에 정의된 제네릭 상태 코드만 사용합니다.

MBIM_CID_MS_DEVICE_CAPS_V2

이 CID는 MB 다중 SIM 작업에 정의된 것과 동일하며, 이는 MBIM 사양 수정 버전 1.0의 섹션 10.5.1에 정의된 대로 MBIM_CID_MS_DEVICE_CAPS 확장입니다. MBIM 확장 릴리스 2.0의 경우 디바이스가 5G 기능을 보고할 수 있도록 MBIM_DATA_CLASS 테이블에 정의된 새 데이터 클래스가 있습니다. MBIMDataClass5G_NSA 디바이스가 3GPP TS 37.340에 정의된 5G 비 독립 실행형(NSA)을 지원하며, MBIMDataClass5G_SA 디바이스가 3GPP TS 37.340에도 정의된 5G 독립 실행형(SA)을 지원한다는 것을 나타냅니다.

디바이스가 두 새 데이터 클래스를 모두 지원하는 경우 두 비트를 모두 설정해야 합니다.

MBIM_DATA_CLASS

형식 Mask
MBIMDataClassNone 0h
MBIMDataClassGPRS 1시간
MBIMDataClassEDGE 2h
MBIMDataClassUMTS 4시간
MBIMDataClassHSDPA 8시간
MBIMDataClassHSUPA 10h
MBIMDataClassLTE 20h
MBIMDataClass5G_NSA 40h
MBIMDataClass5G_SA 80시간
예약됨 100h-8000h
MBIMDataClass1XRTT 10000h
MBIMDataClass1XEVDO 20000h
MBIMDataClass1XEVDORevA 40000h
MBIMDataClass1XEVDV 80000h
MBIMDataClass3XRTT 100000h
MBIMDataClass1XEVDORevB 200000h
MBIMDataClassUMB 400000h
예약됨 800000-40000000h
MBIMDataClassCustom 80000000h

MBIM_CID_REGISTER_STATE

이 명령은 MBIM 사양 수정 버전 1.0에 이미 정의된 MBIM_CID_REGISTER_STATE CID에 대한 확장입니다. 이 확장은 응답 구조에 대해 PreferredDataClasses 라는 새 멤버를 추가합니다.

매개 변수

작업(Operation) Set 쿼리 알림
명령 MBIM_SET_REGISTRATION_STATE Empty 해당 없음
응답 MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2 MBIM_REGISTRATION_STATE_INFO_V2

쿼리

InformationBuffer가 null이고 InformationBufferLength가 0입니다.

Set

등록 상태를 설정합니다. 정보는 MBIM 사양 수정 버전 1.0에 설명된 것과 동일합니다.

응답

MBIM_COMMAND_DONE InformationBuffer에는 다음과 같은 MBIM_REGISTRATION_STATE_INFO_V2 구조가 포함됩니다. MBIM 사양 수정 버전 1.0의 섹션 10.5.10.6에 정의된 MBIM_REGISTRATION_STATE_INFO 구조체와 비교하여 다음 구조체에는 새로운 PreferredDataClasses 필드가 있습니다. 여기에 명시되어 있지 않으면 MBIM 사양 수정 버전 1.0 의 표 10-55에 있는 필드 설명이 이 구조에 적용됩니다.

MBIM_REGISTRATION_STATE_INFO_V2

Offset 크기 필드 형식 Description
0 4 NwError Uint32 네트워크 관련 오류입니다. MBIM 사양 수정 버전 1.0의 표 10-44는 NwError의 원인 코드를 문서화합니다.
4 4 RegisterState MBIM_REGISTER_STATE MBIM 사양 수정 버전 1.0의 표 10-46을 참조하세요.
8 4 RegisterMode MBIM_REGISTER_MODE MBIM 사양 수정 버전 1.0의 표 10-47을 참조하세요.
12 4 AvailableDataClass Uint32 디바이스가 등록된 셀에 대해 등록된 네트워크에서 지원되는 데이터 클래스를 나타내는 MBIM_DATA_CLASS 값의 비트맵입니다.

RegisterStateMBIMRegisterStateHome, MBIMRegisterStateRoaming 또는 MBIMRegisterStatePartner가 아닌 경우 이 값은 MBIMDataClassNone으로 설정됩니다.

16 4 CurrentCellularClass MBIM_CELLULAR_CLASS 다중 모드 함수에 사용 중인 현재 셀룰러 클래스를 나타냅니다. 자세한 내용은 MBIM 사양 수정 버전 1.0의 표 10-8 을 참조하세요.

단일 모드 함수의 경우 MBIM_CID_DEVICE_CAPS 보고된 셀룰러 클래스와 동일합니다. 다중 모드 함수의 경우 CDMA에서 GSM으로 또는 그 반대로의 전환은 업데이트된 CurrentCellularClass로 표시됩니다.

20 4 ProviderIdOffset OFFSET 이 구조체의 시작 부분에서 네트워크 공급자 ID를 나타내는 ProviderId 라는 숫자(0-9) 문자열로 계산된 오프셋(바이트)입니다.

GSM 기반 네트워크의 경우 이 문자열은 MCC(3자리 모바일 국가 코드)와 2자리 또는 3자리 MNC(모바일 네트워크 코드)의 연결입니다. GSM 기반 이동 통신 사업자에는 MNC가 둘 이상 있을 수 있으므로 두 개 이상의 ProviderId가 있을 수 있습니다.

CDMA 기반 네트워크의 경우 이 문자열은 5자리 SID(시스템 ID)입니다. 일반적으로 CDMA 기반 통신 사업자에는 둘 이상의 SID가 있습니다. 일반적으로 운송업체는 각 시장에 대해 하나의 SID를 가지고 있으며, 일반적으로 미국 MSA(수도권 통계 영역)와 같은 규정에 따라 국가 내에서 지리적으로 분할됩니다. CDMA 기반 디바이스는 이 정보를 사용할 수 없는 경우 MBIM_CDMA_DEFAULT_PROVIDER_ID 지정해야 합니다.

쿼리 요청을 처리하고 등록 상태가 자동 등록 모드인 경우 이 멤버는 디바이스가 현재 연결되어 있는 공급자 ID(해당하는 경우)를 포함합니다. 등록 상태가 수동 등록 모드인 경우 이 멤버는 디바이스를 등록하도록 요청하는 공급자 ID를 포함합니다(공급자를 사용할 수 없는 경우에도).

설정된 요청을 처리하고 등록 상태가 수동 모드인 경우 디바이스를 등록할 호스트에서 선택한 공급자 ID가 포함됩니다. 등록 상태가 자동 등록 모드인 경우 이 매개 변수는 무시됩니다.

공급자 ID를 사용할 수 없는 경우 CDMA 1xRTT 공급자를 MBIM_CDMA_DEFAULT_PROVIDER_ID 설정해야 합니다.

24 4 ProviderIdSize SIZE(0..12) ProviderId의 크기(바이트)입니다.
28 4 ProviderNameOffset OFFSET 이 구조체의 시작 부분에서 네트워크 공급자의 이름을 나타내는 ProviderName 이라는 문자열로 계산된 오프셋(바이트)입니다. 이 멤버는 최대 MBIM_PROVIDERNAME_LEN 문자로 제한됩니다.

GSM 기반 네트워크의 경우 국가 이니셜 및 모바일 네트워크 이름(PCCI&N)의 기본 프레젠테이션이 20자보다 긴 경우 디바이스는 네트워크 이름을 약어로 사용해야 합니다.

호스트가 기본 공급자 목록을 설정하는 경우 이 멤버는 무시됩니다. 디바이스는 이 정보가 없는 디바이스에 대해 NULL 문자열을 지정해야 합니다.

32 4 ProviderNameSize SIZE(0..40) ProviderName의 크기(바이트)입니다.
36 4 RoamingTextOffset OFFSET 이 구조의 시작 부분에서 로밍 중임을 사용자에게 알리기 위해 RoamingText 라는 문자열로 계산된 오프셋(바이트)입니다. 이 멤버는 최대 63자로 제한됩니다. 등록 상태가 MBIMRegisterStatePartner 또는 MBIMRegisterStateRoaming인 경우 이 텍스트는 사용자에게 추가 정보를 제공해야 합니다. 이 멤버는 선택 사항입니다.
40 4 RoamingTextSize SIZE(0..126) RoamingText의 크기(바이트)입니다.
44 4 RegistrationFlag MBIM_REGISTRATION_FLAGS MBIM 사양 수정 버전 1.0에서 표 10-48당 설정된 플래그입니다.
48 4 PreferredDataClass Uint32 디바이스에서 사용하도록 설정된 데이터 클래스를 나타내는 MBIM_DATA_CLASS 값의 비트맵입니다. 디바이스는 사용하도록 설정된 데이터 클래스만 사용하여 작동할 수 있습니다.
동적 4 DataBuffer DATABUFFER ProviderId, ProviderNameRoamingText를 포함하는 데이터 버퍼입니다.

원치 않는 이벤트

알림에는 MBIM_REGISTRATION_STATE_INFO_V2 구조가 포함됩니다.

상태 코드

이 CID는 MBIM 사양 수정 버전 1.0의 섹션 9.4.5에 정의된 제네릭 상태 코드만 사용합니다.

MBIM_CID_PACKET_SERVICE

이 명령은 MBIM 사양 수정 버전 1.0에 정의된 기존 MBIM_CID_PACKET_SERVICE 대한 확장입니다.

이 확장은 응답 구조에 대해 FrequencyRange 라는 새 멤버를 추가하고 그 목적을 명확히 하기 위해 HighestAvailableDataClass 멤버의 이름을 CurrentDataClass 로 변경했습니다.

CurrentDataClass는 디바이스가 현재 등록된 RAT(Radio Access Technology)를 나타냅니다. MBIM_DATA_CLASS 단일 값을 포함합니다.

FrequencyRange는 디바이스가 현재 사용 중인 빈도 범위를 나타냅니다. CurrentDataClass 필드에 MBIMDataClass5G_NSA 또는 MBIMDataClass5G_SA 비트가 설정된 경우에만 유효합니다.

매개 변수

작업(Operation) Set 쿼리 알림
명령 MBIM_SET_PACKET_SERVICE Empty 해당 없음
응답 MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2 MBIM_PACKET_SERVICE_INFO_V2

쿼리

InformationBuffer가 null이고 InformationBufferLength가 0입니다.

Set

set 명령에 대한 정보는 MBIM 사양 수정 버전 1.0에 설명되어 있습니다.

응답

MBIM_COMMAND_DONE InformationBuffer에는 MBIM_PACKET_SERVICE_INFO_V2 구조체가 포함되어 있습니다. MBIM 사양 수정 버전 1.0의 섹션 10.5.10.6에 정의된 MBIM_PACKET_SERVICE_INFO 구조체와 비교하여 이 새 구조에는 CurrentDataClassFrequencyRange 필드가 있습니다. 여기에 명시되지 않는 한 MBIM 사양 수정 버전 1.0 의 표 10-55에 있는 필드 설명은 여기에 적용됩니다.

MBIM_PACKET_SERVICE_INFO_V2

Offset 크기 필드 형식 Description
0 4 NwError Uint32 네트워크 관련 오류입니다. MBIM 사양 수정 버전 1.0의 표 10-44는 NwError의 원인 코드를 문서화합니다.
4 4 PacketServiceState MBIM_PACKET_SERVICE_STATE MBIM 사양 수정 버전 1.0의 표 10-53을 참조하세요.
8 4 CurrentDataClass MBIM_DATA_CLASS MBIM_DATA_CLASS 따라 지정된 현재 셀의 현재 데이터 클래스입니다. 함수가 연결된 패킷 서비스 상태가 아닌 경우 함수는 이 멤버를 MBIMDataClassNone으로 설정해야 합니다. HSPA(즉, HSUPA 및 HSDPA) 및 5G DC를 제외하고 함수는 이 멤버를 단일 MBIM_DATA_CLASS 값으로 설정합니다. HSPA 데이터 서비스의 경우 함수는 MBIMDataClass HSDPA 및 MBIMDataClassHSUPA의 비트 OR을 지정합니다. HSDPA를 지원하지만 HSUPA는 지원하지 않는 셀의 경우 HSDPA만 표시됩니다(업링크 데이터에 대한 UMTS 데이터 클래스를 의미함). 현재 데이터 클래스가 변경 될 때마다 함수는 CurrentDataClass의 새 값을 나타내는 알림을 보냅니다.
12 8 UplinkSpeed UINT64 초당 비트 단위로 업링크 비트 속도를 포함합니다.
20 8 DownlinkSpeed UINT64 다운링크 비트 속도를 초당 비트 단위로 포함합니다.
38 4 FrequencyRange MBIM_FREQUENCY_RANGE 디바이스에서 현재 사용 중인 빈도 범위를 나타내는 MBIM_FREQUENCY_RANGE 값의 비트 마스크입니다. CurrentDataClass가 MBIMDataClass5G_NSA 또는 MBIMDataClass5G_SA 경우에만 유효합니다.

MBIM_FREQUENCY_RANGE

다음 열거형은 이전 MBIM_PACKET_SERVICE_INFO_V2 구조체의 값으로 사용됩니다.

형식 Description
MBIMFrequencyRangeUnknown 0 시스템 유형이 5G가 아닌 경우
MBIMFrequencyRange1 1 3GPP TS 38.101-1(하위 6G)의 주파수 범위 1(FR1)입니다.
MBIMFrequencyRange2 2 3GPP TS 38.101-2의 FR2(mmWave).
MBIMFrequencyRange1AndRange2 3 FR1 및 FR2 이동 통신 사업자가 모두 연결된 경우.

원치 않는 이벤트

알림에는 MBIM_PACKET_SERVICE_INFO_V2 구조가 포함됩니다.

상태 코드

이 CID는 MBIM 사양 수정 버전 1.0의 섹션 9.4.5에 정의된 제네릭 상태 코드만 사용합니다.

MBIM_CID_SIGNAL_STATE

이 CID는 신호 상태 조건에 RSRP 및 SNR을 도입하는 MBIM_CID_SIGNAL_STATE 확장입니다. 이 새 확장은 디바이스가 MBIM 확장 버전 2.0의 지원을 나타내는 경우에만 유효합니다. 모뎀이 MBIMDataClass5G_(N)SA 데이터 클래스를 지원하는 경우 이 확장은 필수입니다.

RSRP 및 SNR 필드는 해당 SystemType이 MGBIMDataClassLTE 또는 MBIMDataClass5G_(N)SA인 경우에만 유효합니다. 모뎀이 RSRP 및/또는 SNR을 보고하는 경우 RSSI 필드는 99 값으로 설정되어야 합니다.

해당 SystemType이 MBIMDataClass5G_(N)SA인 경우 RSRP 필드는 필수이며 SNR 필드는 선택 사항입니다. 해당 SystemType이 MBIMDataClassLTE인 경우 RSRP 및 SNR 필드는 선택 사항이며 RSSI 필드를 대신 사용할 수 있습니다. 이 경우 RsrpSnrOffset 및 RsrpSnrSize 멤버 모두에 대해 0(0) 값을 설정하여 RSRP 및 SNR 필드를 생략할 수 있습니다.

매개 변수

작업(Operation) Set 쿼리 알림
명령 MBIM_SET_SIGNAL_STATE Empty 해당 없음
응답 MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2 MBIM_SIGNAL_STATE_INFO_V2

쿼리

InformationBuffer가 null이고 InformationBufferLength가 0입니다.

Set

set 명령에 대한 정보는 MBIM 사양 수정 버전 1.0에 설명되어 있습니다.

응답

MBIM_COMMAND_DONE InformationBuffer에는 다음과 같은 MBIM_SIGNAL_STATE_INFO_V2 구조체가 포함되어 있습니다.

MBIM_SIGNAL_STATE_INFO_V2

Offset 크기 필드 형식 Description
0 4 Rssi Uint32 MBIM 사양 수정 버전 1.0의 표 10.58을 참조하세요.
4 4 ErrorRate Uint32 MBIM 사양 수정 버전 1.0의 표 10.58을 참조하세요.
8 4 SignalStrengthInterval Uint32 보고 간격(초)입니다.
12 4 RssiThreshold Uint32 보고서를 트리거하는 RSSI 코딩 값의 차이입니다. 중요하지 않은 경우 0xFFFFFFFF 사용합니다.
16 4 ErrorRateThreshold Uint32 보고서를 트리거하는 ErrorRate 코딩된 값의 차이입니다. 중요하지 않은 경우 0xFFFFFFFF 사용합니다.
20 4 RsrpSnrOffset OFFSET 이 구조체의 시작 부분에서 RSRP 및 SNR 신호 정보를 포함하는 버퍼로 계산된 오프셋(바이트)입니다. RSRP 및 SNR 신호 정보를 사용할 수 없는 경우 이 멤버는 NULL 일 수 있습니다.
24 4 RsrpSnrSize SIZE MBIM_RSRP_SNR_INFO 구조체 형식의 RSRP 및 SNR 신호 정보를 포함하는 버퍼의 크기(바이트)입니다.
4 DataBuffer DATABUFFER MBIM_RSRP_SNR 구조체입니다.

MBIM_RSRP_SNR

다음 MBIM_RSRP_SNR 구조체는 MBIM_SIGNAL_STATE_INFO_V2 구조체의 DataBuffer 에서 사용됩니다.

Offset 크기 필드 형식 Description
0 4 ElementCount Uint32 이 요소 다음에 오는 RSRP_SNR 항목의 수입니다.
4 4 DataBuffer DATABUFFER 각각 MBIM_RSRP_SNR_INFO 구조체로 지정된 RSRP_SNR 레코드의 배열입니다.

MBIM_RSRP_SNR_INFO

다음 MBIM_RSRP_SNR_INFO 구조체의 배열은 MBIM_RSRP_SNR 구조체의 DataBuffer 에 사용됩니다.

Offset 크기> 필드 형식 Description
0 4 RSRP Uint32
dBm의 RSRP 값 코딩된 값(min = 0, max = 126)
-156 미만 0
-155 미만 1
... ...
-138 미만 18
... ...
-45 미만 111
... ...
-31 미만 125
-31 이상 126
알 수 없거나 감지할 수 없음 127
4 4 SNR Uint32
dB의 SNR 값 코딩된 값(min = 0, max = 127)
-23 미만 0
-22.5 미만 1
-22 미만 2
-21.5 미만 3
... ...
39.5 미만 125
40 미만 126
40 이상 127
알 수 없거나 감지할 수 없음 128
8 4 RSRPThreshold Uint32 이전(캐시된) RSRP 값과 새로 계산된 RSRP 값 사이의 임계값을 정의합니다. 절대 차이가 임계값보다 큰 경우 디바이스는 원치 않는 이벤트를 트리거합니다. 단위는 1 dBm입니다. 0으로 설정하면 디바이스 함수에서 기본 동작을 사용합니다. 0xFFFFFFFF 로 설정된 경우 이벤트를 트리거하는 데 사용하지 마세요. 지정된 임계값이 디바이스에서 지원되지 않는 경우 지원하는 최대 임계값을 반환합니다.
12 4 SNRThreshold Uint32 이전(캐시된) SNR 값과 새로 계산된 SNR 값 사이의 임계값을 정의합니다. 절대 차이가 임계값보다 큰 경우 디바이스는 원치 않는 이벤트를 트리거합니다. 단위는 1dB입니다. 0으로 설정하면 디바이스 함수에서 기본 동작을 사용합니다. 0xFFFFFFFF 로 설정된 경우 이벤트를 트리거하는 데 사용하지 마세요. 지정된 임계값이 디바이스에서 지원되지 않는 경우 지원하는 최대 임계값을 반환합니다.
16 4 SystemType MBIM_DATA_CLASS 신호 상태 정보가 유효한 시스템 유형을 나타냅니다. 이 멤버는 MBIM_DATA_CLASS 정의된 한 형식의 비트 마스크입니다.

원치 않는 이벤트

알림에는 MBIM_SIGNAL_STATE_INFO_V2 구조가 포함됩니다.

상태 코드

이 CID는 MBIM 사양 수정 버전 1.0의 섹션 9.4.5에 정의된 제네릭 상태 코드만 사용합니다.

LTE 신호 표시줄 계산

LTE 신호 표시줄 계산 프로세스를 보여 주는 다이어그램

OS는 신호 강도 계산에 대한 레지스트리 설정을 다음 순서로 처리해야 합니다.

데이터 클래스는 CDMA(또는 해당 변형) 또는 TDSCDMA입니다.

  1. 레거시 신호 표시줄 매핑 테이블이 "per_iccid" 아래에 있는 경우 이 설정을 사용합니다.
  2. 그렇지 않으면 레거시 신호 표시줄 매핑 테이블이 "per_device" 아래에 있는 경우 이 설정을 사용합니다.
  3. 그렇지 않으면 코드에서 기본 신호 표시줄 매핑 테이블을 사용합니다.

데이터 클래스는 GSM 또는 WCDMA입니다.

  1. GSM 또는 WCDMA 기술별 신호 표시줄 매핑 테이블이 "per_iccid" 아래에 있는 경우 이 설정을 사용합니다.
  2. GSM 또는 WCDMA 기술별 신호 표시줄 매핑 테이블이 "per_device" 아래에 있는 경우 이 설정을 사용합니다.
  3. 그렇지 않으면 레거시 신호 표시줄 매핑 테이블이 "per_iccid" 아래에 있는 경우 이 설정을 사용합니다.
  4. 그렇지 않으면 레거시 신호 표시줄 매핑 테이블이 "per_device" 아래에 있는 경우 이 설정을 사용합니다.
  5. 그렇지 않으면 코드에서 기본 신호 표시줄 매핑 테이블을 사용합니다.
    1. RSSI >= 17; 5바
    2. RSSI >= 12; 4바
    3. RSSI >= 7; 3바
    4. RSSI >= 4; 2바
    5. RSSI >= 2; 1바
    6. 다른; 0 막대

데이터 클래스는 LTE이고 RSRP는 모뎀에 의해 보고됩니다.

  1. RSRP에 대한 LTE 기술별 신호 표시줄 매핑 테이블이 "per_iccid" 아래에 있는 경우 이 설정을 사용합니다.
  2. 그렇지 않으면 RSRP에 대한 LTE 기술별 신호 표시줄 매핑 테이블이 "per_device" 아래에 있는 경우 이 설정을 사용합니다.
  3. 그렇지 않으면 코드에서 기본 LTE RSRP 신호 표시줄 매핑 테이블을 사용합니다.

참고

EnableLTESnrReporting을 사용하도록 설정했지만 모뎀에 의한 LTE 또는 SNR 보고에 대한 SNR 테이블이 없는 경우 RSRP만 사용됩니다. 그렇지 않으면 RSRP 또는 SNR이 신호 막대로 변환됩니다.

데이터 클래스는 LTE이고 RSSI는 모뎀에 의해 보고됩니다.

  1. LTE 기술별 신호 표시줄 매핑 테이블이 "per_iccid" 아래에 있는 경우 이 설정을 사용합니다.
  2. 그렇지 않으면 LTE 기술별 신호 표시줄 매핑 테이블이 "per_device" 아래에 있는 경우 이 설정을 사용합니다.
  3. 그렇지 않으면 레거시 신호 표시줄 매핑 테이블이 "per_iccid" 아래에 있는 경우 이 설정을 사용합니다.
  4. 그렇지 않으면 레거시 신호 표시줄 매핑 테이블이 "per_device" 아래에 있는 경우 이 설정을 사용합니다.
  5. 그렇지 않으면 코드에서 기본 신호 표시줄 매핑 테이블을 사용합니다.

Dataclass는 NR입니다.

  1. RSRP에 대한 NR 기술별 신호 표시줄 매핑 테이블이 "per_iccid" 아래에 있는 경우 이 설정을 사용합니다.
  2. 그렇지 않으면 RSRP에 대한 NR 기술별 신호 표시줄 매핑 테이블이 "per_device" 아래에 있는 경우 이 설정을 사용합니다.
  3. 그렇지 않으면 코드에서 기본 NR RSRP 신호 표시줄 매핑 테이블을 사용합니다.

참고

EnableNRSnrReporting을 사용하도록 설정했지만 모뎀에 의한 NR 또는 SNR 보고에 대한 SNR 테이블이 없으면 RSRP만 사용됩니다. 그렇지 않으면 RSRP 또는 SNR이 신호 막대로 변환됩니다.

데이터 클래스는 NSA입니다.

  1. EnableLTEReportingOnNSA가 설정되지 않았거나 0으로 설정된 경우:
    1. Dataclass NR 흐름을 따릅니다.
  2. EnableLTEReportingOnNSA가 1로 설정된 경우:
    1. 데이터 클래스 LTE 흐름(RSRP 또는 RSSI)을 따릅니다.
  3. EnableLTEReportingOnNSA가 2로 설정된 경우:
    1. FrequencyRange가 FR1인 경우 데이터 클래스 LTE 흐름(RSRP 또는 RSSI)을 따릅니다.
    2. FrequencyRange가 FR1인 <> 경우 Dataclass NR 흐름을 따릅니다.
  4. EnableLTEReportingOnNSA가 3으로 설정된 경우:
    1. FrequencyRange가 FR2인 경우 데이터 클래스 LTE 흐름(RSRP 또는 RSSI)을 따릅니다.
    2. FrequencyRange가 FR2인 <> 경우 Dataclass NR 흐름을 따릅니다.
  5. EnableLTEReportingOnNSA가 4로 설정된 경우:
    1. LTE 및 NR 흐름을 사용하여 신호 표시줄을 계산합니다.
    2. 가장 강력한 을 선택합니다.

참고

LTE 신호가 1-5에서 모뎀에 의해 보고되지 않으면 NR 신호가 사용됩니다. NR 신호를 사용하지 않으면 LTE 신호가 적용됩니다.

SignalBar 계산을 위한 COSA 사용자 지정

EnableLTEReportingOnNSA:

0 = "5G 신호 사용"

1 = "LTE 신호 사용"

2 = "5G 주파수 범위 1에서 캠핑하는 경우 LTE 신호 사용"

3 = "5G 주파수 범위 2에서 캠핑하는 경우 LTE 신호 사용"

4 = "LTE 및 5G의 가장 강력한 신호 사용"

EnableNRSnrReporting:

0 = "RSRP만 사용"

1 = "RSRP 및 SNR 모두 사용"

EnableLTESnrReporting:

0 = "RSRP만 사용"

1 = "RSRP 및 SNR 모두 사용"

셀룰러/PerDevice/SignalBarMappingTable/SignalForBars/<SignalBar>

표시할 막대 수에 해당하는 최소 신호 강도 값을 수정합니다. 기술별 설정이 우선합니다. 이 설정을 적용하려면 각 막대 수에 유효한 신호 강도 매핑이 있어야 합니다.

셀룰러/PerDevice/SignalBarMappingTable/SignalForBars/GERAN/<SignalBar>

디바이스가 GSM에서 캠핑될 때 표시할 막대 수에 해당하는 최소 신호 강도 값을 수정합니다. 이 설정을 적용하려면 각 막대 수에 유효한 신호 강도 매핑이 있어야 합니다.

셀룰러/PerDevice/SignalBarMappingTable/SignalForBars/WCDMA/<SignalBar>

디바이스가 WCDMA에서 캠핑될 때 표시할 막대 수에 해당하는 최소 신호 강도 값을 수정합니다. 이 설정을 적용하려면 각 막대 수에 유효한 신호 강도 매핑이 있어야 합니다.

셀룰러/PerDevice/SignalBarMappingTable/SignalForBars/LTE/<SignalBar>

디바이스가 LTE에서 캠핑될 때 표시할 막대 수에 해당하는 최소 신호 강도 값을 수정합니다. 이 설정을 적용하려면 각 막대 수에 유효한 신호 강도 매핑이 있어야 합니다.

셀룰러/PerDevice/SignalBarMappingTable/SignalForBars/LTERSRP/<SignalBar>

디바이스가 LTE에서 캠핑될 때 표시할 막대 수에 해당하는 최소 신호 강도 값을 수정합니다. 이 설정을 적용하려면 각 막대 수에 유효한 신호 강도 매핑이 있어야 합니다.

셀룰러/PerDevice/SignalBarMappingTable/SignalForBars/LTERSSNR/<SignalBar>

디바이스가 LTE에서 캠핑될 때 표시할 막대 수에 해당하는 최소 신호 강도 값을 수정합니다. EnableLTESnrReporting이 1로 설정된 경우 사용됩니다. 이 설정을 적용하려면 각 막대 수에 유효한 신호 강도 매핑이 있어야 합니다.

셀룰러/PerDevice/SignalBarMappingTable/SignalForBars/NRRSRP/<SignalBar>

디바이스가 5G에서 캠핑될 때 표시할 막대 수에 해당하는 최소 신호 강도 값을 수정합니다. 이 설정을 적용하려면 각 막대 수에 유효한 신호 강도 매핑이 있어야 합니다.

셀룰러/PerDevice/SignalBarMappingTable/SignalForBars/NRRSSNR/<SignalBar>

디바이스가 5G에서 캠핑될 때 표시할 막대 수에 해당하는 최소 신호 강도 값을 수정합니다. EnableNRSnrReporting이 1로 설정된 경우에 사용됩니다. 이 설정을 적용하려면 각 막대 수에 유효한 신호 강도 매핑이 있어야 합니다.

<SignalBar> 는 1-5 값일 수 있습니다.

OEM/MO가 RSSI에 대한 매핑 테이블을 제대로 구성하지 못하거나 불완전한 경우 기본 매핑을 사용합니다.

Rssi 표시된 막대
[0,1] 0
[2,3] 1
[4,6] 2
[7,11] 3
[12,16] 4
[17,31] 5

OEM/MO가 RSRP에 대한 매핑 테이블을 제대로 구성하지 못하거나 불완전한 경우 기본 매핑을 사용합니다.

RSRP 표시된 막대
[0,16] 0
[17,41] 1
[42,51] 2
[52,61] 3
[62,71] 4
[72,126] 5

OEM/MO가 SNR에 대한 매핑 테이블을 제대로 구성하지 못하거나 불완전한 경우 기본 매핑을 사용합니다.

SNR 표시된 막대
[0,18] 0
[19,38] 1
[39,46] 2
[47,53] 3
[54,72] 4
[73,127] 5