Udostępnij za pośrednictwem


Operacje Multi-SIM w MB

Obsługa wielu modemów i wykonawców na pulpicie

Tradycyjnie urządzenia z systemem Windows inne niż telefony nie zostały skonfigurowane dla modemów z wieloma kartami SIM, ponieważ mają mniej ograniczeń miejsca fizycznego niż telefony. Pozwala to im naprawdę wykorzystać wiele aktywnych radii jednocześnie zamiast jednego modemu z wieloma kartami SIM, jak w telefonach; jednak ze względu na wzrost liczby kart eSIM i scenariuszy w przedsiębiorstwie, zapotrzebowanie na obsługę wielu kart SIM na modem w urządzeniach innych niż telefony wzrosło.

Większość typowych urządzeń z wieloma urządzeniami telefonicznymi ma podwójne gniazda SIM, ale są ograniczone do jednej podstawowej karty SIM obsługującej dane, a druga obsługuje tylko funkcje głosowe. Takie ograniczenie nie istnieje w modelu komputera bez telefonu, ponieważ wszystkie karty SIM są używane do połączenia danych.

Chociaż struktura zdefiniowana w tej specyfikacji może teoretycznie obsługiwać nieograniczoną liczbę modemów i kart SIM, system Windows 10 w wersji 1703 i nowszej obsługuje tylko scenariusz podwójnej SIM/jednej aktywnej (DSSA) od początku do końca.

Specyfikacja interfejsu modemu NDIS

Istniejące luki w interfejsie i funkcjach

Istnieje możliwość obsługi funkcji dual-SIM/dual-active z wieloma niezależnymi modemami, gdzie każdy modem jest oddzielnym urządzeniem i działa całkowicie niezależnie. Jednak jest to poza zakresem tej dokumentacji, która koncentruje się na modemie miniportowym WWAN zdolnym do przedstawienia wielu równoczesnych stosów komórkowych hostowi. Ta sekcja definiuje różne obiekty i ustanawia terminologię używaną we wszystkich dokumentach MB związanych z funkcjami wielu kart SIM.

Postępy w sprzęcie spowodowały, że urządzenia mogą obsługiwać jednoczesne rejestracje z wieloma sieciami komórkowymi. W takich urządzeniach zakłada się, że „wiele wystąpień stosu komórkowego” działa równolegle, a każde z nich jest w stanie zachować rejestrację, monitorować siłę sygnału, wykonywać przełączenia i nasłuchiwać nadchodzących stron. Każde wystąpienie tego "stosu komórkowego" będzie nazywane wykonawcą w dalszej części tego dokumentu. Na przykład w urządzeniu, które może jednocześnie utrzymywać rejestracje z dwiema sieciami, sprzęt modemu uważa się za mający dwóch wykonawców.

Wykonawca jest logiczną reprezentacją sprzętu i może być w rzeczywistości jednym sprzętowym transceiverem, który ulega procesowi multipleksowania. Dokładne szczegóły implementacji sprzętu są uważane za szczegóły implementacji dostawcy i są poza zakresem tej specyfikacji. W przypadku sterownika miniportu NDIS funkcje wykonawcze są uwidaczniane jako wiele wystąpień karty miniportowej WWAN. W przypadku modemu MBIM funkcje wykonawcze są reprezentowane przez wiele funkcji MBIM na wyliczonym urządzeniu złożonym.

Na poniższych dwóch obrazach przedstawiono logiczny widok modemu podwójnej karty SIM. Każdy z nich przedstawia możliwą kombinację wykonawcy i modułu tożsamości użytkownika UICC.

Diagram ilustrujący logiczny widok podwójnego modemu SIM.

Stos komórkowy wewnątrz modułu wykonawczego jest uważany głównie za samodzielny, z wyjątkiem przypadku implementacji modemu z podwójnym wstrzymaniem, gdzie moduł wykonujący ruch (głos i/lub dane) może uniemożliwić drugiemu utrzymanie rejestracji.

Na poniższym diagramie przedstawiono logiczny widok dualnego modemu rezerwowego. Ruch na Executorze 0, połączenie telefoniczne, powoduje, że Executor 1 traci rejestrację.

Diagram przedstawiający logiczny widok modemu z podwójnym trybem czuwania.

Model interfejsu modemu pulpitu systemu Windows w usłudze NDIS 6.7 nie obsługuje takiej architektury, ponieważ opiera się na kilku niejawnych założeniach:

  • W modelu przyjęto założenie, że w modemie znajduje się jeden wykonawca.
  • Model zakłada, że istnieje jedna karta UICC bezpośrednio skojarzona ze sprzętem modemu.
  • Karta UICC jest traktowana tak, jakby była to karta SIM z jedną aplikacją.

Natomiast interfejs Microsoft Radio Interface Layer (RIL) w systemie Windows Mobile jawnie uwidacznia wielość tych założeń. Interfejs mobilnych łączy szerokopasmowych w systemie Windows Mobile uwidacznia możliwość rejestrowania się niezależnie za pośrednictwem oddzielnych miniportów i zakłada, że niektóre podstawowe konfiguracje urządzenia zostały już wykonane za pośrednictwem interfejsu RIL. Aby zapewnić równoważną funkcjonalność, pulpit systemu Windows musi zapewnić mechanizmy odnajdywania liczby egzekutorów i gniazd, uzyskać dostęp do egzekutorów niezależnie, zdefiniować mapowanie między egzekutorami i gniazdami oraz zdefiniować aplikacje na zmapowanej karcie UICC, z których będzie korzystać każdy egzekutor.

Aby uzyskać więcej informacji na temat architektury sieci komórkowej i różnic między systemami Windows 10 Mobile i Desktop, zobacz Architektura sieci komórkowej i implementacja.

Główne obiekty i operacje

Na poniższej ilustracji przedstawiono abstrakcyjny model modemu.

Diagram przedstawiający relację między modemem, funkcjami wykonawczych i gniazdami.

Każdy modem jest identyfikowany przez globalnie unikalny identyfikator (GUID) i zawiera zestaw co najmniej jednego wykonawcy, z których każdy może się niezależnie zarejestrować w sieci komórkowej. Każda funkcja wykonawcza ma skojarzony indeks funkcji wykonawczej, liczbę całkowitą rozpoczynającą się od 0 dla pierwszego modułu wykonawczego. Ponadto modem uwidacznia co najmniej jedno gniazdo, które może zawierać karty UICC. Zakłada się, że liczba miejsc jest większa lub równa liczbie funkcji wykonawczych. Każde gniazdo ma skojarzony indeks, również zaczynający się od 0, oraz bieżący stan związany ze stanem zasilania gniazda i stanem dostępności karty wewnątrz gniazda (jeśli taka istnieje).

Aby zachować zgodność z istniejącymi modemami, każda funkcja wykonawcza obsługuje informacje dostarczane przez kartę UICC w jednym miejscu. Skojarzenie między egzekutorami a gniazdami jest definiowane przez mapowanie slotów, które przypisuje każdego egzekutora do dokładnie jednego gniazda.

Gniazdo może zawierać kartę UICC; każda karta zawiera co najmniej jedną aplikację UICC, taką jak USIM, CSIM, ISIM lub ewentualnie inne aplikacje telefonii i nietelefonii, takie jak PKCS#15 oraz aplikacje Global Platform dla bezpiecznego elementu NFC. Adresowanie i korzystanie z tych poszczególnych aplikacji UICC to temat dotyczący przyszłej specyfikacji i poza zakresem tej dokumentacji.

Interfejs NDIS pulpitu systemu Windows do modemu charakteryzuje się wymianą identyfikatorów OID i powiadomień NDIS. W większości przypadków te identyfikatory obiektów są kierowane do pojedynczych wykonawców; jednak kilka poleceń i powiadomień dotyczy modemu.

W przypadku systemów operacyjnych innych niż Windows Mobile modem z wieloma funkcjami wykonawczymi jest wyświetlany jako jedno urządzenie z wieloma fizycznymi wystąpieniami miniportu WWAN. Każde fizyczne wystąpienie miniportu reprezentuje funkcję wykonawcza, która może obsługiwać rejestrację jako wystąpienie NDIS. W czasie wykonywania można utworzyć dodatkowe wystąpienia wirtualne w celu zarządzania danymi pakietów specyficznymi dla kontekstu i sesjami usługi urządzeń. Polecenia i powiadomienia specyficzne dla wykonawcy są wymieniane za pośrednictwem fizycznej instancji miniportu NDIS WWAN, reprezentującej tego wykonawcę. Polecenia specyficzne dla modemu (innymi słowy, te, które nie są specyficzne dla wykonawcy) oraz odpowiednie powiadomienia mogą być wysyłane do lub pochodzą od dowolnego fizycznego wystąpienia miniportu.

Na poniższych dwóch diagramach przedstawiono różnicę w poleceniach i powiadomieniach specyficznych dla funkcji wykonawczej (pierwszy diagram), gdzie polecenia i powiadomienia przechodzą i pochodzą z tego samego modułu wykonawczego oraz poleceń i powiadomień specyficznych dla modemu (drugi diagram), gdzie polecenia mogą przechodzić przez dowolny wykonawca i pochodzić z dowolnego modułu wykonawczego.

Diagram przedstawiający polecenia i powiadomienia specyficzne dla funkcji wykonawczej.

Diagram ilustrujący polecenia i powiadomienia specyficzne dla modemu.

Wszystkie żądania zestawu identyfikatorów OID lub zapytań wystawione dla wystąpienia miniportu są wykonywane względem modemu i funkcji wykonawczej, z którą jest skojarzone wystąpienie miniportu. Podobnie wszystkie niechciane powiadomienia i niezamowione zdarzenia usługi urządzeń wysyłane z wystąpienia miniportu mają zastosowanie do modemu i funkcji wykonawczej, z którą jest skojarzone wystąpienie miniportu. Na przykład niepożądane powiadomienia NDIS_STATUS_WWAN_REGISTER_STATE lub NDIS_STATUS_WWAN_PACKET_SERVICE z miniportu wskazują stan rejestracji (lub stan usługi pakietowej) skojarzonego modemu i tylko wykonawcy, i nie mają związku ze stanem innych modemów lub innych wykonawców.

Jeśli na urządzeniu znajduje się wiele modemów i/lub wielu funkcji wykonawczych, fizyczna karta miniportowa skojarzona z tym modemem i kombinacją funkcji wykonawczej wydaje nieprzygotowane powiadomienia dotyczące określonego modemu i funkcji wykonawczej.

W ten sam sposób, jeśli urządzenie ma wiele modemów i/lub wielu wykonawców, instancja fizycznego adaptera miniport skojarzona z konkretnym modemem i wykonawcą może odbierać żądania zapytań OID niezwiązane ze specyficznym kontekstem, dotyczące tego modemu i wykonawcy. Adapter odbierający takie żądanie zapytania przetwarza je zgodnie z definicją identyfikatora OID. Jeśli sterownik miniportu tak zdecyduje, to żądanie zapytania może być przetwarzane równocześnie z dowolnym innym zestawem OID w trakcie realizacji lub z żądaniami zapytań w dowolnym wystąpieniu adapterów powiązanych z tym modemem i jednostką wykonawczą. Wszystkie instancje miniportu skojarzonego z tym samym modemem i procesorem wykonawczym zgłaszają te same informacje o stanie dla tego modemu komórkowego i procesora wykonawczego (takie jak stan zasilania radiowego, stan rejestracji, stan usługi pakietowej itp.).

W przypadku urządzenia, które ma wiele modemów i/lub wielu procesorów wykonawczych, fizyczne wystąpienie karty miniport skojarzone z kombinacją modemu i procesora wykonawczego może odbierać żądania zestawów identyfikatorów OID niespecyficznych dla kontekstu. Kierowca miniportu śledzi postęp takiego wniosku. Jeśli jedno z takich ustawionych żądań jest w toku w dowolnym adapterze i nie zostało jeszcze ukończone, druga taka próba ustawienia żądania (do dowolnego wystąpienia adaptera skojarzonego z tym samym modemem i wykonawcą) będzie ustawiona w kolejce i przetworzona po zakończeniu poprzednich żądań.

Sterownik WMBCLASS systemu Windows 10 jest zgodny ze specyfikacją opisaną w poprzednim akapicie, aby obsłużyć warunek wyścigu przy ustawianiu żądania, ale jeśli stan wyścigu występuje w warstwie modemu, modem powinien stosować te same zasady, aby kolejkować sprzeczne polecenia dotyczące całego urządzenia dla funkcji MBIM, jeśli nadal przetwarza inne funkcje, które są powiązane z tym samym urządzeniem bazowym.

Identyfikatory OID dla żądań ustawiania i zapytań

Aby wykonać zapytanie dotyczące liczby urządzeń (funkcji wykonawczych) i gniazd w modemie, a także liczby funkcji wykonawczych, które mogą być aktywne współbieżnie, host używa OID_WWAN_SYS_CAPS.

Aby wykonać zapytanie dotyczące możliwości wykonawcy, host używa OID_WWAN_DEVICE_CAPS_EX.

Aby zdefiniować gniazdo powiązane z każdą wykonawcą lub wykonać zapytanie dotyczące obecnego mapowania, host używa OID_WWAN_DEVICE_SLOT_MAPPINGS.

Aby zbadać stan określonego gniazda na modemie, host używa OID_WWAN_SLOT_INFO_STATUS.

Polecenia poszczególnych urządzeń i funkcji wykonawczej

Dzięki dodaniu koncepcji wykonawcy do urządzeń innych niż Windows Mobile w systemie Windows 10, wersja 1703 i nowszych, identyfikatory OID są teraz podzielone na dwie kategorie: OID-y dla poszczególnych urządzeń i OID-y dla poszczególnych wykonawców. W poniższej tabeli wyjaśniono, które identyfikatory OID należą do których kategorii.

Na urządzenie lub na wykonawcę Nazwa OID
Na urządzenie OID_WWAN_DRIVER_CAPS
OID_WWAN_ENUMERATE_DEVICE_SERVICE_COMMANDS
OID_WWAN_ENUMERATE_DEVICE_SERVICES
OID_WWAN_PRESHUTDOWN
OID_WWAN_VENDOR_SPECIFIC
OID_WWAN_SYS_CAPS
OID_WWAN_DEVICE_SLOT_MAPPINGS
Na wykonawcę OID_WWAN_AUTH_CHALLENGE
OID_WWAN_CONNECT
OID_WWAN_DEVICE_CAPS
OID_WWAN_DEVICE_CAPS_EX
OID_WWAN_DEVICE_SERVICE_COMMAND
OID_WWAN_DEVICE_SERVICE_SESSION
OID_WWAN_DEVICE_SERVICE_SESSION_WRITE
OID_WWAN_DEVICE_SERVICES
OID_WWAN_HOME_PROVIDER
OID_WWAN_NETWORK_IDLE_HINT
OID_WWAN_PACKET_SERVICE
OID_WWAN_PIN
OID_WWAN_PIN_EX
OID_WWAN_PIN_LIST
OID_WWAN_PREFERRED_MULTICARRIER_PROVIDERS
OID_WWAN_PREFERRED_PROVIDERS
OID_WWAN_PROVISIONED_CONTEXTS
OID_WWAN_RADIO_STATE
OID_WWAN_READY_INFO
OID_WWAN_REGISTER_STATE
OID_WWAN_SERVICE_ACTIVATION
OID_WWAN_SIGNAL_STATE
OID_WWAN_SMS_CONFIGURATION
OID_WWAN_SMS_DELETE
OID_WWAN_SMS_READ
OID_WWAN_SMS_SEND
OID_WWAN_SMS_STATUS
OID_WWAN_SUBSCRIBE_DEVICE_SERVICE_EVENTS
OID_WWAN_USSD
OID_WWAN_VISIBLE_PROVIDERS
OID_WWAN_SLOT_INFO_STATUS

Notatka

OID_WWAN_RADIO_STATE również został zaktualizowany dla systemu Windows 10 w wersji 1703. Aby uzyskać więcej informacji, zobacz OID_WWAN_RADIO_STATE.

Aktualizacja interfejsu MBIM dla operacji z wieloma kartami SIM

W przypadku systemów operacyjnych innych niż Windows Mobile, modem wielozadaniowy jest wyświetlany jako jedno złożone urządzenie USB z wieloma funkcjami MBIM. Każda funkcja MBIM reprezentuje wykonawcę, który może obsługiwać rejestrację. Polecenia i powiadomienia specyficzne dla funkcji wykonawczej są wymieniane za pośrednictwem funkcji MBIM reprezentującej tę funkcję wykonawczą, podczas gdy polecenia specyficzne dla modemu (innymi słowy, te, które nie są specyficzne dla funkcji wykonawczej), a ich odpowiednie powiadomienia mogą być wysyłane do lub pochodzą z dowolnej funkcji MBIM, która należy do tego samego bazowego urządzenia złożonego USB.

Wszystkie żądania zestawu CID lub zapytania wydane do funkcji MBIM są wykonywane względem modemu i funkcji wykonawczej, z którą jest skojarzone wystąpienie miniportu; podobnie wszystkie niechciane powiadomienia wysyłane z funkcji MBIM mają zastosowanie do modemu i funkcji wykonawczej, z którą jest skojarzona funkcja MBIM. W ten sam sposób wszystkie niezamówione zdarzenia usługowe urządzenia wysyłane z instancji miniportu dotyczą modemu oraz wykonawcy, z którym jest skojarzona funkcja MBIM. Na przykład niepożądane powiadomienie MBIM_CID_REGISTER_STATE lub MBIM_CID_PACKET_SERVICE z funkcji MBIM wskazuje stan rejestracji lub usługi pakietów tylko skojarzonego modemu/funkcji wykonawczej i nie jest powiązany ze stanem innych modemów lub innych funkcji wykonawczej.

Jeżeli w urządzeniu znajduje się wiele modemów i/lub wielu funkcji wykonawczych, nieoparte na kontekście powiadomienia związane z konkretnym modemem i kombinacją wykonawczą są wydawane z funkcji MBIM skojarzonej z wyżej wymienionym modemem i funkcją wykonawczą.

W urządzeniu z wieloma modemami i/lub wieloma wykonawcami, niepowiązane z kontekstem żądania zapytań CID dotyczące określonego modemu i wykonawcy mogą być kierowane do funkcji MBIM powiązanej z tą kombinacją modemu i wykonawcy. Funkcja odbierająca takie żądanie zapytania przetwarza je zgodnie z definicją CID. W przypadku wybrania przez oprogramowanie układowe modemu, takie zapytanie może być przetwarzane współbieżnie z dowolnym innym zestawem CID lub zapytaniami przetwarzanymi przez dowolne funkcje MBIM skojarzone z tym modemem i egzekutorem. Wszystkie funkcje MBIM skojarzone z tym samym modemem zgłaszają te same informacje o stanie dla tego modemu komórkowego oprócz funkcji wykonawczej, którą reprezentują.

W przypadku, gdy w urządzeniu znajduje się wiele modemów i/lub wiele jednostek wykonawczych, żądania zestawu CID, które nie są specyficzne dla konkretnego wykonawcy, mogą być kierowane do funkcji MBIM powiązanej z tym modemem i jednostką wykonawczą. Modem śledzi postęp takich żądań jako całości. Jeśli jedno z takich żądań jest w toku w dowolnym adapterze i nie zostało jeszcze ukończone, druga taka próba ustawienia żądania (do dowolnego wystąpienia adaptera skojarzonego z tym samym modemem i wykonawcą) jest kolejkowana i przetwarzana po zakończeniu poprzedniego żądania.

Na poniższym diagramie przedstawiono przepływ informacji między funkcjami WWANSVC i MBIM w dwóch różnych modemach.

Diagram struktury modemu z funkcjami MBIM.

Ta sekcja zawiera szczegółowe opisy CID obejmujące cały modem oraz dla poszczególnych wykonawców dotyczące zdefiniowanych usług urządzeń. Definicje odwołują się z powrotem do istniejącej publicznej specyfikacji MBIM1.0. Urządzenie zgodne z MBIM implementuje i zgłasza następującą usługę urządzenia podczas wykonywania zapytań przez CID_MBIM_DEVICE_SERVICES. Istniejące dobrze znane usługi są zdefiniowane w sekcji 10.1 specyfikacji USB NCM MBIM 1.0. Firma Microsoft rozszerza tę usługę, aby zdefiniować następującą usługę.

Nazwa usługi = podstawowe rozszerzenia programu Connect

UUID = UUID_BASIC_CONNECT_EXTENSIONS

Wartość UUID = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

Następujące identyfikatory CID są zdefiniowane dla UUID_MS_BasicConnect:

CID Kod polecenia Minimalna wersja systemu operacyjnego
MBIM_CID_MS_SYS_CAPS 5 Windows 10, wersja 1703
MBIM_CID_MS_DEVICE_CAPS_V2 6 Windows 10, wersja 1703
MBIM_CID_MS_DEVICE_SLOT_MAPPINGS 7 Windows 10, wersja 1703
MBIM_CID_MS_SLOT_INFO_STATUS 8 Windows 10, wersja 1703

Wszystkie przesunięcia w poniższych sekcjach CID są obliczane od początku MBIM_COMMAND_MSG InformationBuffer.

MBIM_CID_MS_SYS_CAPS

Opis

Ten CID uzyskuje informacje o modemie. Można to wysłać do dowolnego wystąpienia MB przedstawionego jako funkcja USB.

Zapytanie

InformationBuffer w MBIM_COMMAND_MSG zawiera odpowiedź w formacie danych MBIM_MS_SYS_CAPS_INFO.

Zbiór

Nie dotyczy.

Zdarzenie niezamówione

Nie dotyczy.

Parametry

Operacja Zbiór Zapytanie Powiadomienie
Polecenie Nie dotyczy Nie dotyczy Nie dotyczy
Odpowiedź Nie dotyczy MBIM_MS_SYS_CAPS_INFO Nie dotyczy

Struktury danych

Zapytanie

Bufor informacji powinien mieć wartość null, a długość bufora informacji powinna wynosić zero.

Zbiór

Nie dotyczy.

Odpowiedź

W strukturze InformationBuffer powinna być stosowana następująca struktura MBIM_SYS_CAPS_INFO.

Przesunięcie Rozmiar Pole Typ Opis
0 4 LiczbaEgzekutorów UINT32 Liczba wystąpień MBB zgłoszonych przez ten modem
4 4 NumberOfSlots UINT32 Liczba fizycznych gniazd UICC dostępnych w tym modemie
8 4 Współbieżność UINT32 Liczba wystąpień MBB, które mogą być aktywne współbieżnie
12 8 ModemId UINT64 Unikatowy identyfikator 64-bitowy dla każdego modemu

Pole NumberOfExecutors określa liczbę funkcji wykonawczych obsługiwanych przez modem w bieżącej konfiguracji. Odnosi się to bezpośrednio do liczby stosów „sub-phone”, które obsługuje modem.

Pole NumberofSlots oznacza liczbę miejsc, które są fizycznie obecne w modemie. Każde zgłoszone gniazdo musi być w stanie odbierać kartę UICC (same gniazda mogą być heterogeniczną mieszanką w razie potrzeby — mini SIM, mikro SIM, nano SIM lub dowolny standard zdefiniowany przez ETSI). Liczba gniazd musi być równa lub większa niż liczba obsługiwanych funkcji wykonawczych. Przepis „większy niż” pozwala na użycie UICC innego niż telekomunikacyjny, na przykład do zabezpieczeń, NFC itp.

Pole współbieżności określa liczbę funkcji wykonawczych (wystąpień MBB), które mogą być aktywne w tym samym czasie. Zakres musi wynosić 1 ≤ współbieżność ≤ liczbaWykonawców. Na przykład modem z podwójnym czuwaniem miałby współbieżność równą 1, natomiast modem z podwójną aktywnością miałby współbieżność 2

Pole ModemId oznacza unikatowy identyfikator 64-bitowy dla danego sprzętu modemu. IHV może zaimplementować własną logikę, aby wygenerować unikatową wartość 64-bitową dla każdego modemu; na przykład tworzenie skrótu jednej z liczb IMEI, losowo generując liczby 64-bitowe itp. Po wygenerowaniu identyfikatora 64-bitowego powinien on być utrwalany podczas ponownych rozruchów i usuwania kart SIM/wstawiania.

Kody stanu

Ten identyfikator CID używa ogólnych kodów stanu (zobacz Używanie kodów stanu w sekcji 9.4.5 publicznego standardu MBIM USB).

MBIM_CID_MS_DEVICE_CAPS_V2

Opis

Ten identyfikator CID pobiera informacje o możliwościach związane z wykonawcą. Ponieważ CID jest rozszerzeniem MBIM_CID_DEVICE_CAPS, tutaj przedstawiono tylko te zmiany, które różnią się od MBIM_CID_DEVICE_CAPS, jak określono w sekcji 10.5.1 standardu publicznego USB MBIM.

Ta identyfikacja CID nadal będzie służyć wyłącznie do zapytań i zwróci strukturę MBIM_MS_DEVICE_CAPS_INFO_V2 w odpowiedzi na MBIM_COMMAND_MSG z usługą MBIM MSUUID_BASIC_CONNECT i identyfikatorem CID MBIM_CID_MS_DEVICE_CAPS_V2.

Parametry

Operacja Zbiór Zapytanie Powiadomienie
Polecenie Nie dotyczy Nie dotyczy Nie dotyczy
Odpowiedź Nie dotyczy MBIM_MS_DEVICE_CAPS_INFO_V2 Nie dotyczy

Struktury danych

Zapytanie

Ta sama jak sekcja 10.5.1.4 publicznego standardu USB MBIM.

Zbiór

Nie dotyczy.

Odpowiedź

Następująca struktura MBIM_DEVICE_CAPS_INFO_V2 powinna być zastosowana w buforze informacji. W porównaniu ze strukturą MBIM_CID_DEVICE_CAPS zdefiniowaną w sekcji 10.5.1 publicznego standardu MBIM USB następująca struktura ma nowe pole o nazwie DeviceIndex. O ile nie określono tutaj, opisy pól w tabeli 10-14 publicznego standardu MBIM USB mają zastosowanie tutaj.

Przesunięcie Rozmiar Pole Typ Opis
0 4 Typ urządzenia MBIM_DEVICE_TYPE
4 4 Klasa komórkowa MBIM_CELLULAR_CLASS
8 4 VoiceClass MBIM_VOICE_CLASS
12 4 SimClass MBIM_SIM_CLASS W przypadku modemów MBIM obsługujących ten identyfikator CID, SimClass będzie zawsze zgłaszany jako MBIMSimClassSimRemovable.
16 4 DataClass MBIM_DATA_CLASS
20 4 SmsCaps MBIM_SMS_CAPS
24 4 ControlCaps MBIM_CTRL_CAPS
28 4 MaxSessions UINT32
32 4 CustomDataClassOffset PRZESUNIĘCIE
36 4 CustomDataClassSize ROZMIAR(0..22)
40 4 PrzesunięcieIdentyfikatoraUrządzenia PRZESUNIĘCIE
44 4 DeviceIdSize ROZMIAR(0..26)
48 4 PrzesunięcieInformacjiFirmware PRZESUNIĘCIE
52 4 RozmiarInformacjiFirmware ROZMIAR(0..60)
56 4 HardwareInfoOffset PRZESUNIĘCIE
60 4 HardwareInfoSize ROZMIAR(0..60)
64 4 IndeksWykonawcy UINT32 Indeks wykonawcy. Waha się od 0 do n-1, gdzie n to liczba wystąpień MBB zawartych w modemie MBIM. Jego wartość jest zawsze stała i niezależna od kolejności wyliczenia.
68 Bufor danych DATABUFFER Bufor danych zawierający elementy: CustomDataClass, DeviceId, FirmwareInfoi HardwareInfo.

Kody stanu

Ten identyfikator CID używa ogólnych kodów stanu (zobacz Używanie kodów stanu w sekcji 9.4.5 publicznego standardu MBIM USB).

MBIM_CID_MS_DEVICE_SLOT_MAPPINGS

Opis

Ten CID ustawia lub zwraca mapowania gniazd urządzeń (innymi słowy mapowania gniazd wykonawczych).

Zapytanie

Usługa InformationBuffer dla MBIM_COMMAND_MSG nie jest używana. MBIM_MS_DEVICE_SLOT_MAPPING_INFO jest zwracany w buforze informacji MBIM_COMMAND_DONE.

Zbiór

Bufor informacji MBIM_COMMAND_MSG zawiera MBIM_MS_DEVICE_SLOT_MAPPING_INFO. MBIM_MS_DEVICE_SLOT_MAPPING_INFO jest zwracany w buforze informacji MBIM_COMMAND_DONE. Niezależnie od tego, czy ustawienie ciD zakończy się powodzeniem, czy niepowodzeniem, MBIM_MS_DEVICE_SLOT_MAPPING_INFO zawarta w odpowiedzi reprezentuje bieżące mapowania miejsca urządzenia.

Zdarzenia niezamówione

Nie dotyczy.

Parametry

Operacja Zbiór Zapytanie Powiadomienie
Polecenie MBIM_MS_DEVICE_SLOT_MAPPING_INFO Nie dotyczy Nie dotyczy
Odpowiedź MBIM_MS_DEVICE_SLOT_MAPPING_INFO MBIM_MS_DEVICE_SLOT_MAPPING_INFO Nie dotyczy

Struktury danych

Zapytanie

Bufor informacji powinien mieć wartość null, a długość bufora informacji powinna wynosić zero.

Zbiór

W InformationBufferze należy użyć następującej struktury MBIM_MS_DEVICE_SLOT_MAPPING_INFO.

Przesunięcie Rozmiar Pole Typ Opis
0 4 MapCount (MC) UINT32 Liczba mapowań jest zawsze równa liczbie urządzeń/wykonawców.
4 8 * MC SlotMapList OL_PAIR_LIST Para i-ta tej listy, gdzie (0 <= i <= (MC-1)) rejestruje indeks miejsca, który jest obecnie przypisany do i-tego urządzenia/wykonawcy. Pierwszy element w parze to pole 4-bajtowe z przesunięciem do DataBuffer, obliczone od początku (offset 0) tej struktury MBIM_MS_DEVICE_SLOT_MAPPINGS_INFO, aby osiągnąć UINT32. Drugi element pary to 4-bajtowy rozmiar elementu rekordu. Ponieważ typ indeksu miejsca to UINT32, drugi element w parze jest zawsze 4.
4 + (8 * MC) 4 * MC Bufor danych DATABUFFER Bufor danych, który zawiera SlotMapList. Ponieważ rozmiar miejsca wynosi 4 bajty, a mc jest równy liczbie indeksów slotów, łączny rozmiar usługi DataBuffer wynosi 4 * MC.
Odpowiedź

MBIM_MS_DEVICE_SLOT_MAPPING_INFO używany w Set jest również używany w InformationBuffer dla odpowiedzi.

Kody stanu

Kod stanu Opis
MBIM_STATUS_BUSY Operacja nie powiodła się, ponieważ urządzenie jest zajęte. W przypadku braku jakichkolwiek jawnych informacji z funkcji na temat wyczyszczenia tego warunku, host może użyć następnych działań funkcji (np. powiadomień lub ukończenia poleceń) jako sugestii do ponowienia operacji zakończonej niepowodzeniem.
MBIM_STATUS_FAILURE Operacja nie powiodła się (błąd ogólny).
STATUS_ROZMOWY_GŁOSOWEJ_TRWA Operacja nie powiodła się, ponieważ trwa połączenie głosowe.
MBIM_STATUS_NIEPRAWIDŁOWE_PARAMETRY Operacja nie powiodła się z powodu nieprawidłowych parametrów (np. numerów miejsc poza zakresem lub zduplikowanych wartości w mapowaniu).

MBIM_CID_MS_SLOT_INFO_STATUS

Opis

Ten identyfikator CID pobiera ogólny stan zagregowany wysokopoziomowy określonego gniazda UICC oraz karty, która się w nim znajduje (jeśli taka istnieje). Może również służyć do dostarczania niechcianego powiadomienia, gdy stan jednego z miejsc ulegnie zmianie.

Zapytanie

InformationBuffer MBIM_COMMAND_MSG zawiera strukturę MBIM_MS_SLOT_INFO_REQ. InformationBuffer komunikatu MBIM_COMMAND_DONE zawiera strukturę MBIM_MS_SLOT_INFO.

Zbiór

Nie dotyczy.

Zdarzenia niezamówione

Bufor informacji o zdarzeniu zawiera strukturę MBIM_MS_SLOT_INFO. Funkcja wysyła to zdarzenie w przypadku zmiany stanu gniazda/karty złożonej.

Parametry

Operacja Zbiór Zapytanie Powiadomienie
Polecenie Nie dotyczy MBIM_MS_SLOT_INFO_REQ Nie dotyczy
Odpowiedź Nie dotyczy MBIM_MS_SLOT_INFO MBIM_MS_SLOT_INFO

Struktury danych

Zapytanie

Następująca struktura MBIM_MS_SLOT_INFO_REQ powinna być używana w InformationBuffer.

Przesunięcie Rozmiar Pole Typ Opis
0 4 SlotIndex UINT32 Indeks slotu do zapytania.
Zbiór

Nie dotyczy.

Odpowiedź

Następującą strukturę MBIM_MS_SLOT_INFO należy użyć w InformationBuffer.

Przesunięcie Rozmiar Pole Typ Opis
0 4 SlotIndex UINT32 Indeks slotu.
4 4 Państwo MBIM_MS_UICC_SLOT_STATE Stan gniazda i karty (jeśli ma zastosowanie).

Poniższa struktura MBIM_MS_UICCSLOT_STATE opisuje możliwe stany gniazda.

Państw Wartość Opis
Stan nieznany gniazda UICC (UICCSlotStateUnknown) 0 Modem jest nadal w trakcie inicjowania, więc stan gniazda SIM nie jest deterministyczny.
UICCSlotStateOffEmpty 1 Gniazdo UICC jest wyłączone i nie ma karty. Implementacja, która nie może określić obecności karty w miejscu wyłączonym, zgłasza swój stan jako UICCSlotStateOff.
UICCSlotStateOff 2 Gniazdo UICC jest wyłączone.
UICCSlotStateEmpty 3 Gniazdo UICC jest puste (nie ma w nim karty).
UICCSlotStateNotReady 4 Gniazdo UICC jest zajęte i włączone, ale karta w niej nie jest jeszcze gotowa.
UICCSlotStateActive 5 Slot UICC jest zajęty, a karta w nim jest gotowa.
UICCSlotStateError 6 Miejsce UICC jest zajęte i włączone, ale karta jest w stanie błędu i nie może być używana do momentu następnego zresetowania.
UICCSlotStateActiveEsim 7 Karta w slocie to eSIM z aktywnym profilem i jest gotowa na przyjmowanie poleceń.
UICCSlotStateActiveEsimNoProfiles 8 Karta w slocie jest kartą eSIM bez profilów (lub bez aktywnych profilów) i jest gotowa do akceptowania poleceń.
Wskazówki dotyczące przejścia MBIM_MS_UICCSLOT_STATE dla urządzeń z wieloma kartami SIM

Zachowanie zgodności z prawidłowymi przejściami stanów gniazda UICC gwarantuje, że system operacyjny prawidłowo obsługuje wszystkie zmiany i wyświetla poprawne powiadomienia toast użytkownikowi.

W przypadku umieszczenia powiadomienia toast SIM, system operacyjny oczekuje, że zostanie wybrane gniazdo osadzone (SIM2/Gniazdo 1), a następujące przejście stanu nastąpi po umieszczeniu karty SIM w fizycznym slocie (SIM1/Slot 0).

Możliwe wartości gniazda 0 przed wstawieniem sim Możliwe wartości gniazda 0 po wstawieniu karty SIM
UICCSlotStateEmpty UICCSlotStateActive
UICCSlotStateOffEmpty
  • UICCSlotStateActiveEsim
  • UICCSlotStateActiveEsimNoProfile

Dla powiadomienia typu „toast” o usunięciu karty SIM , system operacyjny oczekuje, że w fizycznym gnieździe (SIM1/Slot 0) będzie włożona karta SIM, a po jej wyjęciu nastąpią odpowiednie zmiany stanu.

Możliwe wartości miejsca 0 przed usunięciem karty SIM Możliwe wartości gniazda 0 po usunięciu karty SIM
UICCSlotStateActive UICCSlotStateEmpty
  • UICCSlotStateActiveEsim
  • UICCSlotStateActiveEsimNoProfile
UICCSlotStateOffEmpty

Kody stanu

Ten identyfikator CID używa ogólnych kodów stanu (zobacz Używanie kodów stanu w sekcji 9.4.5 publicznego standardu MBIM USB).

Mapowanie CID MBIM bez NDIS dla poszczególnych wykonawców i modemów

Większość identyfikatorów CID MBIM mapuje się lub odnosi do identyfikatorów OID NDIS, ale jest kilka poleceń używanych przez sterownik klasy WMB systemu Windows, które nie mają odpowiedników NDIS. W tej sekcji opisano, czy te polecenia są na modem, czy na funkcję wykonawczą.

Na urządzenie lub na wykonawcę Nazwa CID
Na urządzenie CID_MBIM_MSEMERGENCYMODE
CID_MBIM_MSHOSTSHUTDOWN
Na wykonawcę CID_MBIM_MSIPADDRESSINFO
CID_MBIM_MSNETWORKIDLEHINT
CID_MBIM_MULTICARRIER_CURRENT_CID_LIST

Podwójna pojedyncza aktywna karta SIM

Podwójna karta SIM z jednym aktywnym slotem (DSSA) jest jedyną formą działania z dwiema kartami SIM, która jest w pełni obsługiwana w systemie Windows 10. DSSA umożliwia korzystanie z dwóch kart SIM z modemem, z ograniczeniem, że tylko jedna karta SIM może być aktywna w danym momencie.

Architektura/przepływ

Diagram przedstawiający przepływ DSSA.

Zachowanie przełącznika gniazda

Jeśli platforma DSSA jest obsługiwana na urządzeniu, istnieją pewne scenariusze, w których przełączanie slotu jest wykonywane automatycznie lub zainicjowane przez użytkownika za pośrednictwem powiadomień typu toast.

Doświadczenie Poza Pudełkiem (OOBE)

  • Podczas OOBE WwanSvc może wykonać ponowne mapowanie miejsca na podstawie stanu gniazda fizycznego. Jeśli gniazdo fizyczne jest puste, zostanie wybrane gniazdo wbudowane. Jeśli gniazdo fizyczne ma kartę SIM, wybierane jest gniazdo fizyczne.

Usuwanie SIM

  • Jeśli karta SIM zostanie usunięta z gniazda fizycznego, a gniazdo to jest aktualnie wybrane, wyświetlony zostanie komunikat pytający użytkownika, czy chce przełączyć się do gniazda osadzonego.
  • Jeśli użytkownik wybierze opcję "Tak", gniazdo zostanie przełączane.

schemat blokowy ilustrujący proces usuwania karty SIM.

włóż kartę SIM

  • Jeśli przełącznik automatyczny jest włączony za pomocą klucza rejestru:
    • Jeśli karta SIM zostanie wstawiona do gniazda fizycznego, gdy wybrane gniazdo jest osadzone, to gniazdo zostanie automatycznie przełączone na gniazdo fizyczne i zostanie wyświetlony wyskakujący komunikat informujący użytkownika o przełączeniu.
    • Toast ma przycisk, który otwiera stronę ustawień.
  • Jeśli automatyczne przełączanie jest wyłączone za pomocą klucza rejestru
    • Jeśli karta SIM zostanie włożona do gniazda fizycznego, podczas gdy wybranym gniazdem jest wbudowane, zostanie wyświetlone powiadomienie z pytaniem, czy użytkownik chce przełączyć się na gniazdo fizyczne.
    • Jeśli użytkownik wybierze opcję "Tak", nastąpi przełączenie slotu.

Użyj tego klucza rejestru, aby skonfigurować przełącznik automatyczny. Nie istnieje domyślnie.

lokalizacja : HKLM\Software\Microsoft\Cellular\MVSettings\DeviceSpecific\CellUX
klucz : EnableAutoSlotSwitch
Typ : REG_DWORD
wartość : 1 | 0 (ustawienie domyślne, wyłączone)

schemat blokowy ilustrujący proces wstawiania SIM.

Testy zestawu Hardware Lab Kit (HLK)

Zobacz kroki , aby zainstalować HLK.

W programie HLK Studio połącz się ze sterownikiem modemu komórkowego urządzenia i uruchom test: Win6_4.MB.GSM.Data.TestSlot. Ten test zawiera następujące cztery testy:

Nazwa testu Opis
QuerySlotMapping Ten test sprawdza, czy test może pomyślnie wykonywać zapytania dotyczące mapowania miejsca devcie.
UstawMapowanieSlotu Procedura testowa sprawdza, czy można pomyślnie ustawić mapowanie miejsca urządzenia.
QuerySlotInfo Ten test sprawdza, czy test może pomyślnie wysyłać zapytania dotyczące informacji o miejscu urządzenia.
WalidujStanInformacjiSlotu Test weryfikuje stan gniazda UICC względem stanu ReadyInfoState.

Alternatywnie można uruchomić listę testową TestSlot HLK przez netsh-mbn i netsh-mbn-test-installation.

netsh mbn test feature=dssa testpath="C:\data\test\bin" taefpath="C:\data\test\bin" param="AccessString=internet"

Ten plik przedstawiający wyniki testu HLK powinien zostać wygenerowany w katalogu, w którym uruchomiono polecenie "netsh mbn test" z: TestSlot.htm.

Analiza dzienników

  1. Dzienniki można zbierać i dekodować, korzystając z poniższych instrukcji: MB zbieranie dzienników
  2. Otwórz plik .txt w TextAnalysisTool
  3. Załaduj filtr DSSA

Oto przykładowy dziennik (log) do zapytań i ustawiania mapowania slotów:

  1619 [5]6C6C.0824::01/09/2020-10:57:17.118 [WwanDimCommon]QUERY OID_WWAN_DEVICE_CAPS_EX (e01012e), RequestId 11, Status 340001
  1673 [5]6C6C.0824::01/09/2020-10:57:17.118 [WwanDimCommon]QUERY OID_WWAN_SYS_CAPS (e01012d), RequestId 21, Status 340001
  2488 [5]6C6C.2738::01/09/2020-10:57:17.120 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_DEVICE_CAPS_EX (0x4004103f)
  2520 [5]6C6C.2738::01/09/2020-10:57:17.120 [WwanDimCommon]    SSERVICE_CAPS_MULTI_SIM     : Supported
  2669 [2]6C6C.2738::01/09/2020-10:57:17.121 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SYS_CAPS_INFO (0x4004102c)
  2679 [2]6C6C.2738::01/09/2020-10:57:17.121 [WwanDimCommon]    NumberOfExecutors 0x1
  2680 [2]6C6C.2738::01/09/2020-10:57:17.121 [WwanDimCommon]    NumberOfSlots 0x2
  3497 [5]6C6C.0824::01/09/2020-10:57:17.125 [WwanDimCommon]QUERY OID_WWAN_SLOT_INFO_STATUS (e010130), RequestId 42, Status 340001
  3502 [5]6C6C.0824::01/09/2020-10:57:17.125 [WwanDimCommon]    Slot Index    : 0
  3531 [5]6C6C.0824::01/09/2020-10:57:17.126 [WwanDimCommon]QUERY OID_WWAN_SLOT_INFO_STATUS (e010130), RequestId 32, Status 340001
  3536 [5]6C6C.0824::01/09/2020-10:57:17.126 [WwanDimCommon]    Slot Index    : 1
  6356 [4]6C6C.2738::01/09/2020-10:57:17.133 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  6890 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  6912 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  6926 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
  6934 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    SlotIndex     : 0x0
  6935 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateActive (0x5)
  6955 [4]6C6C.2738::01/09/2020-10:57:17.134 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  7060 [7]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  7100 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
  7108 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    SlotIndex     : 0x1
  7109 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateActiveEsimNoProfile (0x8)
  7140 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  7177 [6]6C6C.2738::01/09/2020-10:57:17.135 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
  8424 [4]6C6C.2738::01/09/2020-10:57:17.137 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
 10616 [6]6C6C.2738::01/09/2020-10:57:17.145 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
 12731 [4]6C6C.2738::01/09/2020-10:57:17.149 [WwanDimCommon]QUERY OID_WWAN_SYS_SLOTMAPPINGS (e01012f), RequestId 1e1, Status 340001
 12991 [2]6C6C.2738::01/09/2020-10:57:17.150 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_DEVICE_SLOT_MAPPING_INFO (0x4004102d)
 13003 [2]6C6C.2738::01/09/2020-10:57:17.150 [WwanDimCommon]        Executor Index 0 is mapped to Uicc Slot Index 0
123489 [4]6C6C.2738::01/09/2020-10:57:24.048 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
128251 [2]6C6C.2738::01/09/2020-10:57:24.064 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
128317 [2]6C6C.2738::01/09/2020-10:57:24.064 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
128407 [7]6C6C.2738::01/09/2020-10:57:24.064 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
128445 [7]6C6C.2738::01/09/2020-10:57:24.065 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
129265 [5]6C6C.2738::01/09/2020-10:57:24.067 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
129292 [5]6C6C.2738::01/09/2020-10:57:24.067 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
130122 [7]6C6C.2738::01/09/2020-10:57:24.069 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
155583 [2]6C6C.2738::01/09/2020-10:57:26.637 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
159010 [7]6C6C.2738::01/09/2020-10:57:26.644 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
159034 [7]6C6C.2738::01/09/2020-10:57:26.644 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
161963 [7]6C6C.2738::01/09/2020-10:57:26.655 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
161986 [7]6C6C.2738::01/09/2020-10:57:26.655 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
162110 [2]6C6C.2738::01/09/2020-10:57:26.655 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
162355 [4]6C6C.2738::01/09/2020-10:57:26.656 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
162381 [6]6C6C.2738::01/09/2020-10:57:26.656 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
162441 [4]6C6C.2738::01/09/2020-10:57:26.656 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
194294 [6]6C6C.2738::01/09/2020-10:57:28.722 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200029 [0]6C6C.2738::01/09/2020-10:57:28.738 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200131 [4]6C6C.2738::01/09/2020-10:57:28.738 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200354 [7]6C6C.2738::01/09/2020-10:57:28.739 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200671 [6]6C6C.2738::01/09/2020-10:57:28.739 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200729 [7]6C6C.2738::01/09/2020-10:57:28.739 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
200864 [1]6C6C.2738::01/09/2020-10:57:28.740 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
201464 [0]6C6C.2738::01/09/2020-10:57:28.741 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
265128 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon]SET OID_WWAN_SYS_SLOTMAPPINGS (e01012f), RequestId a6, Len 10, Status 340001
265133 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon]    SlotMapListHeader.ElementType    : 0xe
265134 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon]    SlotMapListHeader.ElementCount    : 0x1
265135 [1]6C6C.2218::01/09/2020-10:57:32.150 [WwanDimCommon]    Executor Index 0 is mapped to Uicc Slot Index 1
265523 [6]6C6C.2738::01/09/2020-10:57:32.152 [WwanDimCommon]    ReadyState     : WwanReadyStateOff (0x0)
270760 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_DEVICE_SLOT_MAPPING_INFO (0x4004102d)
270770 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]        Executor Index 0 is mapped to Uicc Slot Index 1
270799 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
270807 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]    SlotIndex     : 0x0
270808 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateEmpty (0x3)
270827 [5]6C6C.2738::01/09/2020-10:57:32.171 [WwanDimCommon]    ReadyState     : WwanReadyStateFailure (0x4)
271044 [5]6C6C.2738::01/09/2020-10:57:32.172 [WwanDimCommon]    ReadyState     : WwanReadyStateFailure (0x4)
271089 [5]6C6C.2738::01/09/2020-10:57:32.172 [WwanDimCommon]    ReadyState     : WwanReadyStateFailure (0x4)
271130 [5]6C6C.2738::01/09/2020-10:57:32.172 [WwanDimCommon]    ReadyState     : WwanReadyStateSimNotInserted (0x2)
274729 [7]6C6C.2738::01/09/2020-10:57:32.188 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
283027 [6]6C6C.2738::01/09/2020-10:57:32.211 [WwanDimCommon]    ReadyState     : WwanReadyStateSimNotInserted (0x2)
323130 [5]6C6C.2738::01/09/2020-10:57:32.352 [WwanDimCommon]    ReadyState     : WwanReadyStateNoEsimProfile (0x7)
403200 [0]6C6C.2738::01/09/2020-10:57:33.748 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
403208 [0]6C6C.2738::01/09/2020-10:57:33.748 [WwanDimCommon]    SlotIndex     : 0x0
403209 [0]6C6C.2738::01/09/2020-10:57:33.748 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateActive (0x5)
407008 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon]SET OID_WWAN_SYS_SLOTMAPPINGS (e01012f), RequestId 18f, Len 10, Status 340001
407015 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon]    SlotMapListHeader.ElementType    : 0xe
407017 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon]    SlotMapListHeader.ElementCount    : 0x1
407018 [5]6C6C.33A8::01/09/2020-10:57:40.355 [WwanDimCommon]    Executor Index 0 is mapped to Uicc Slot Index 0
407079 [4]6C6C.2738::01/09/2020-10:57:40.355 [WwanDimCommon]    ReadyState     : WwanReadyStateOff (0x0)
409570 [2]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_DEVICE_SLOT_MAPPING_INFO (0x4004102d)
409580 [2]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon]        Executor Index 0 is mapped to Uicc Slot Index 0
409591 [5]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
409600 [5]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon]    SlotIndex     : 0x1
409601 [5]6C6C.2738::01/09/2020-10:57:40.371 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateEmpty (0x3)
411302 [7]6C6C.2738::01/09/2020-10:57:40.385 [WwanDimCommon]    ReadyState     : WwanReadyStateSimNotInserted (0x2)
416851 [4]6C6C.2738::01/09/2020-10:57:40.510 [WwanDimCommon]    StatusCode    : NDIS_STATUS_WWAN_SLOT_INFO (0x4004102e)
416859 [4]6C6C.2738::01/09/2020-10:57:40.510 [WwanDimCommon]    SlotIndex     : 0x1
416860 [4]6C6C.2738::01/09/2020-10:57:40.510 [WwanDimCommon]    SlotState     :  WwanUiccSlotStateActiveEsimNoProfile (0x8)
418613 [0]6C6C.2738::01/09/2020-10:57:42.632 [WwanDimCommon]    ReadyState     : WwanReadyStateOff (0x0)
434410 [4]6C6C.2738::01/09/2020-10:57:44.558 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
443914 [7]6C6C.2738::01/09/2020-10:57:44.593 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)
529138 [4]6C6C.2738::01/09/2020-10:57:45.270 [WwanDimCommon]    ReadyState     : WwanReadyStateInitialized (0x1)