Akses UICC tingkat rendah MB
Gambaran Umum
Revisi Model Antarmuka Broadband Seluler 1.0, atau MBIM1, mendefinisikan antarmuka Agnostik OEM dan IHV antara perangkat host dan modem data seluler.
Fungsi MBIM1 mencakup kartu pintar UICC dan menyediakan akses ke beberapa data dan status internalnya. Namun, kartu pintar mungkin memiliki kemampuan tambahan di luar yang ditentukan oleh antarmuka MBIM. Kemampuan tambahan ini termasuk dukungan untuk elemen aman untuk solusi pembayaran seluler berdasarkan komunikasi di dekat lapangan, atau untuk provisi jarak jauh dari seluruh profil UICC.
Dalam perangkat Windows yang mendukung broadband seluler, antarmuka MBIM digunakan selain antarmuka Lapisan Antarmuka Radio (RIL). Salah satu fitur yang disediakan RIL adalah antarmuka untuk akses tingkat rendah ke UICC. Topik ini menjelaskan sekumpulan ekstensi Microsoft ke MBIM yang menjelaskan fungsionalitas tambahan ini di antarmuka MBIM.
Ekstensi Microsoft terdiri dari sekumpulan perintah layanan perangkat (Set dan Kueri) dan pemberitahuan. Ekstensi ini tidak mencakup penggunaan baru aliran layanan perangkat.
Layanan MBIM dan nilai CID
Nama layanan | UUID | Nilai UUID |
---|---|---|
Microsoft Low-Level UICC Access | UUID_MS_UICC_LOW_LEVEL | C2F6588E-F037-4BC9-8665-F4D44BD09367 |
Tabel berikut menentukan kode perintah untuk setiap CID, serta apakah CID mendukung permintaan Set, Query, atau Event (pemberitahuan). Lihat setiap bagian individu CID dalam topik ini untuk informasi selengkapnya tentang parameter, struktur data, dan pemberitahuannya.
CID | Kode perintah | Set | Kueri | Beri tahu |
---|---|---|---|---|
MBIM_CID_MS_UICC_ATR | 1 | N | Y | N |
MBIM_CID_MS_UICC_OPEN_CHANNEL | 2 | Y | N | N |
MBIM_CID_MS_UICC_CLOSE_CHANNEL | 3 | Y | N | N |
MBIM_CID_MS_UICC_APDU) | 4 | Y | N | N |
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY | 5 | Y | Y | N |
MBIM_CID_MS_UICC_RESET | 6 | Y | Y | N |
Kode status
Kode status MBIM ditentukan dalam Bagian 9.4.5 dari standar MBIM. Selain itu, kode status kegagalan tambahan berikut didefinisikan:
Kode Status | Nilai (hex) | Deskripsi |
---|---|---|
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS | 87430001 | Pembukaan saluran logis tidak berhasil karena tidak ada saluran logis yang tersedia di UICC (baik tidak mendukungnya atau semuanya sedang digunakan). |
MBIM_STATUS_MS_SELECT_FAILED | 87430002 | Pembukaan saluran logis tidak berhasil karena SELECT gagal. |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | 87430003 | Nomor saluran logis tidak valid (tidak dibuka oleh MBIM_CID_MS_UICC_OPEN_CHANNEL). |
MBIM_SUBSCRIBER_READY_STATE
Jenis | Nilai | Deskripsi |
---|---|---|
MBIMSubscriberReadyStateNoEsimProfile | 7 | Kartu sudah siap tetapi tidak memiliki profil yang diaktifkan. |
Respons dan status UICC
UICC dapat mengimplementasikan antarmuka berbasis karakter atau berbasis rekaman, atau keduanya. Meskipun mekanisme khusus berbeda, hasilnya adalah UICC merespons setiap perintah dengan dua byte status (bernama SW1 dan SW2) dan respons (yang mungkin kosong). Status keberhasilan normal ditunjukkan oleh 90 00. Namun, jika UICC mendukung toolkit aplikasi kartu dan UICC ingin mengirim perintah proaktif ke terminal, pengembalian yang berhasil akan ditunjukkan dengan status 91 XX (di mana XX bervariasi). Fungsi MBIM, atau terminal, bertanggung jawab untuk menangani perintah proaktif ini sama seperti yang akan menangani perintah proaktif yang diterima selama operasi UICC lainnya (mengirim FETCH ke UICC, menangani perintah proaktif, atau mengirimkannya ke host dengan MBIM_CID_STK_PAC). Ketika host MBIM mengirim MBIM_CID_MS_UICC_OPEN_CHANNEL atau MBIM_CID_MS_UICC_APDU itu harus mempertimbangkan 90 00 dan 91 XX sebagai status normal.
Perintah harus dapat mengembalikan respons yang lebih besar dari 256 byte. Mekanisme ini dijelaskan dalam Bagian 5.1.3 dari standar ISO/IEC 7816-4:2013. Dalam hal ini, kartu akan mengembalikan kata-kata status SW1 SW2 61 XX, bukan 90 00, di mana XX adalah jumlah byte yang tersisa atau 00 jika ada 256 byte atau lebih yang tersisa. Modem harus mengeluarkan GET RESPONSE dengan byte kelas yang sama berulang kali hingga semua data diterima. Ini akan ditunjukkan oleh kata-kata status akhir 90 00. Urutan harus tidak terganggu dalam saluran logis tertentu. APDUs tambahan harus ditangani di modem dan harus transparan kepada host. Jika ditangani di host, tidak ada jaminan bahwa beberapa APDU lain dapat secara asinkron mereferensikan kartu selama urutan APDU.
Perbandingan dengan IHVRIL
Bagian 5.2.3.3.10 hingga 5.2.3.3.14 dari spesifikasi IHVRIL menentukan antarmuka serupa tempat spesifikasi ini didasarkan. Beberapa perbedaan meliputi:
- Antarmuka RIL tidak menyediakan cara untuk menentukan olahpesan yang aman. Perintah MBIM untuk bertukar APDUs menentukan ini sebagai parameter eksplisit.
- Antarmuka RIL tidak secara jelas mendefinisikan interpretasi byte kelas dalam APDU. Spesifikasi MBIM menyatakan bahwa byte kelas yang dikirim dari host harus ada tetapi tidak digunakan (dan sebaliknya fungsi MBIM membangun byte ini).
- Antarmuka RIL menggunakan fungsi terpisah untuk menutup semua saluran UICC dalam grup, sedangkan antarmuka MBIM menyelesaikan ini dengan argumen varian ke satu CID.
- Hubungan antara status kesalahan MBIM dan status UICC (SW1 SW2) lebih jelas ditentukan daripada hubungan antara kesalahan RIL dan status UICC.
- Antarmuka MBIM membedakan kegagalan untuk mengalokasikan saluran logis baru dari kegagalan ke SELECT aplikasi tertentu.
- Antarmuka MBIM mengizinkan pengiriman objek kemampuan terminal modem untuk dikirim ke kartu.
MBIM_CID_MS_UICC_ATR
Answer to Reset (ATR) adalah string pertama byte yang dikirim oleh UICC setelah reset dilakukan. Ini menjelaskan kemampuan kartu, seperti jumlah saluran logis yang didukungnya. Fungsi MBIM harus menyimpan ATR ketika diterima dari UICC. Selanjutnya, host dapat menggunakan perintah MBIM_CID_MS_UICC_ATR untuk mengambil ATR.
Parameter
Jenis | Set | Kueri | Pemberitahuan |
---|---|---|---|
Perintah | Tidak berlaku | Kosong | Tidak berlaku |
Respons | Tidak berlaku | MBIM_MS_ATR_INFO | Tidak berlaku |
Kueri
InformationBuffer pesan Kueri kosong.
Set
Tidak dapat diterapkan.
Respons
InformationBuffer MBIM_COMMAND_DONE berisi struktur MBIM_MS_ATR_INFO berikut yang menjelaskan jawaban untuk mengatur ulang untuk UICC yang dilampirkan ke fungsi ini.
MBIM_MS_ATR_INFO
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | AtrSize | SIZE(0..33) | Panjang AtrData. |
4 | 4 | AtrOffset | OFFSET | Offset dalam byte, dihitung dari awal struktur ini, ke array byte yang disebut AtrData yang berisi data ATR. |
8 | AtrSize | DataBuffer | DATABUFFER | Array byte AtrData . |
Peristiwa yang tidak diminta
Tidak dapat diterapkan.
Kode status
Kode status berikut berlaku.
Kode status | Deskripsi |
---|---|
MBIM_STATUS_SUCCESS | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_BUSY | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_FAILURE | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_SIM_NOT_INSERTED | Tidak dapat melakukan operasi UICC karena UICC hilang. |
MBIM_STATUS_BAD_SIM | Tidak dapat melakukan operasi UICC karena UICC dalam keadaan kesalahan. |
MBIM_STATUS_NOT_INITIALIZED | Tidak dapat melakukan operasi UICC karena UICC belum sepenuhnya diinisialisasi. |
MBIM_CID_MS_UICC_OPEN_CHANNEL
Host menggunakan perintah MBIM_CID_MS_UICC_OPEN_CHANNEL untuk meminta agar fungsi membuka saluran logis baru pada kartu UICC dan memilih aplikasi UICC tertentu (ditentukan oleh ID aplikasinya).
Fungsi ini mengimplementasikan perintah MBIM ini menggunakan urutan perintah UICC:
- Fungsi ini mengirimkan perintah KELOLA SALURAN ke UICC, seperti yang dijelaskan oleh bagian 11.1.17 dari spesifikasi teknis ETSI TS 102 221, untuk membuat saluran logis baru. Jika perintah ini gagal, fungsi mengembalikan status MBIM_STATUS_MS_NO_LOGICAL_CHANNELS dengan SW1 SW2 dan tidak mengambil tindakan lebih lanjut.
- Jika perintah KELOLA SALURAN berhasil, UICC melaporkan nomor saluran saluran logis baru ke fungsi. Fungsi mengirimkan perintah SELECT [by name] di mana P1 = 04, seperti yang dijelaskan oleh bagian 11.1.1 dari spesifikasi teknis ETSI TS 102 221. Jika operasi ini gagal, fungsi mengirimkan perintah KELOLA SALURAN ke UICC untuk menutup saluran logis dan mengembalikan status MBIM_STATUS_MS_SELECT_FAILED dengan SW1 SW2 dari SELECT.
- Jika perintah SELECT berhasil, fungsi merekam nomor saluran logis dan grup saluran yang ditentukan oleh host untuk referensi di masa mendatang. Kemudian akan mengembalikan nomor saluran logis, SW1 SW2 dari SELECT, dan respons dari SELECT ke host.
Parameter
Operasi | Set | Kueri | Pemberitahuan |
---|---|---|---|
Perintah | MBIM_MS_SET_UICC_OPEN_CHANNEL | Tidak berlaku | Tidak berlaku |
Respons | MBIM_MS_UICC_OPEN_CHANNEL_INFO | Tidak berlaku | Tidak berlaku |
Kueri
Tidak dapat diterapkan.
Set
InformationBuffer MBIM_COMMAND_MSG berisi struktur MBIM_MS_SET_UICC_OPEN_CHANNEL berikut.
MBIM_MS_SET_UICC_OPEN_CHANNEL
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | AppIdSize | UKURAN(0..32) | Ukuran ID aplikasi (AppId). |
4 | 4 | AppIdOffset | OFFSET | Offset dalam byte, dihitung dari awal struktur ini, ke array byte yang disebut AppId yang menentukan AppId menjadi SELECTed. |
8 | 4 | SelectP2Arg | UINT32(0..255) | Argumen P2 ke perintah SELECT. |
12 | 4 | ChannelGroup | UINT32 | Nilai tag yang mengidentifikasi grup saluran untuk saluran ini. |
16 | AppIdSize | DataBuffer | DATABUFFER | Array byte AppId . |
Respons
InformationBuffer MBIM_COMMAND_DONE berisi struktur MBIM_MS_UICC_OPEN_CHANNEL_INFO berikut.
MBIM_MS_UICC_OPEN_CHANNEL_INFO
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | Status | BYTE[2] | SW1 dan SW2, dalam urutan byte itu. Untuk informasi selengkapnya, lihat catatan yang mengikuti tabel ini. |
4 | 4 | Saluran | UINT32(0..19) | Pengidentifikasi saluran logis. Jika anggota ini adalah 0, maka operasi gagal. |
8 | 4 | ResponseLength | UKURAN(0..256) | Panjang respons dalam byte. |
12 | 4 | ResponseOffset | OFFSET | Offset dalam byte, dihitung dari awal struktur ini, ke array byte yang disebut Respons yang berisi respons dari SELECT. |
16 | - | DataBuffer | DATABUFFER | Data array byte respons . |
Jika perintah mengembalikan MBIM_STATUS_MS_NO_LOGICAL_CHANNELS, bidang Status akan berisi kata status UICC SW1 dan SW2 dari perintah KELOLA SALURAN dan bidang yang tersisa akan menjadi nol. Jika perintah mengembalikan MBIM_STATUS_MS_SELECT_FAILED, bidang Status akan berisi kata status UICC SW1 dan SW2 dari perintah SELECT dan bidang yang tersisa akan menjadi nol. Untuk status lainnya, InformationBuffer akan kosong.
Peristiwa yang tidak diminta
Tidak dapat diterapkan.
Kode status
Kode status berikut berlaku:
Kode status | Deskripsi |
---|---|
MBIM_STATUS_SUCCESS | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_BUSY | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_FAILURE | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_SIM_NOT_INSERTED | Tidak dapat melakukan operasi UICC karena UICC hilang. |
MBIM_STATUS_BAD_SIM | Tidak dapat melakukan operasi UICC karena UICC dalam status kesalahan. |
MBIM_STATUS_NOT_INITIALIZED | Tidak dapat melakukan operasi UICC karena UICC belum sepenuhnya diinisialisasi. |
MBIM_STATUS_MS_NO_LOGICAL_CHANNELS | Pembukaan saluran logis gagal karena tidak ada saluran logis yang tersedia di UICC (baik tidak mendukungnya atau semuanya sedang digunakan). |
MBIM_STATUS_MS_SELECT_FAILED | Pembukaan saluran logis tidak berhasil karena SELECT gagal. |
MBIM_CID_MS_UICC_CLOSE_CHANNEL
Host mengirim MBIM_CID_MS_UICC_CLOSE_CHANNEL ke fungsi untuk menutup saluran logis di UICC. Host dapat menentukan nomor saluran atau dapat menentukan grup saluran.
Jika host menentukan nomor saluran, fungsi harus memeriksa apakah saluran ini dibuka oleh MBIM_CID_MS_UICC_OPEN_CHANNEL sebelumnya. Jika demikian, itu harus mengirim perintah KELOLA SALURAN ke UICC untuk menutup saluran, mengembalikan status MBIM_STATUS_SUCCESS, dan mengembalikan SW1 SW2 dari KELOLA SALURAN. Jika tidak, seharusnya tidak mengambil tindakan dan mengembalikan status kegagalan MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL.
Jika host menentukan grup saluran, fungsi menentukan saluran logis (jika ada) mana yang dibuka dengan grup saluran tersebut dan mengirim perintah KELOLA SALURAN ke UICC untuk setiap saluran tersebut. Ini mengembalikan status MBIM_STATUS_SUCCESS dengan SW1 SW2 dari SALURAN KELOLA terakhir. Jika tidak ada saluran yang ditutup, itu akan mengembalikan 90 00.
Parameter
Operasi | Set | Kueri | Pemberitahuan |
---|---|---|---|
Perintah | MBIM_MS_SET_UICC_CLOSE_CHANNEL | Tidak berlaku | Tidak berlaku |
Respons | MBIM_MS_UICC_CLOSE_CHANNEL_INFO | Tidak berlaku | Tidak berlaku |
Kueri
Tidak dapat diterapkan.
Set
InformationBuffer MBIM_COMMAND_MSG berisi struktur MBIM_MS_SET_UICC_CLOSE_CHANNEL berikut.
MBIM_MS_SET_UICC_CLOSE_CHANNEL
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | Saluran | UINT32(0..19) | Jika bukan nol, menentukan saluran yang akan ditutup. Jika nol, menentukan bahwa saluran yang terkait dengan ChannelGroup akan ditutup. |
4 | 4 | ChannelGroup | UINT32 | Jika Saluran nol, ini menentukan nilai tag dan semua saluran dengan tag ini ditutup. Jika Saluran bukan nol, bidang ini diabaikan. |
Respons
InformationBuffer MBIM_COMMAND_DONE berisi struktur MBIM_MS_UICC_CLOSE_CHANNEL_INFO berikut.
MBIM_MS_UICC_CLOSE_CHANNEL_INFO
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | Status | BYTE[2] | SW1 dan SW2 dari MANAGE CHANNEL terakhir yang dijalankan oleh fungsi atas nama perintah ini. |
Peristiwa yang tidak diminta
Tidak dapat diterapkan.
Kode status
Kode status | Deskripsi |
---|---|
MBIM_STATUS_SUCCESS | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_BUSY | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_FAILURE | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_SIM_NOT_INSERTED | Tidak dapat melakukan operasi UICC karena UICC hilang. |
MBIM_STATUS_BAD_SIM | Tidak dapat melakukan operasi UICC karena UICC dalam status kesalahan. |
MBIM_STATUS_NOT_INITIALIZED | Tidak dapat melakukan operasi UICC karena UICC belum sepenuhnya diinisialisasi. |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | Nomor saluran logis tidak valid (dengan kata lain, nomor saluran tersebut tidak dibuka dengan MBIM_CID_MS_UICC_OPEN_CHANNEL). |
MBIM_CID_MS_UICC_APDU
Host menggunakan MBIM_CID_MS_UICC_APDU untuk mengirim perintah APDU ke saluran logis tertentu di UICC dan menerima respons. Fungsi MBIM harus memastikan bahwa saluran logis sebelumnya dibuka dengan MBIM_CID_MS_UICC_OPEN_CHANNEL dan gagal dengan status MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL jika tidak.
Host harus mengirim APDU lengkap ke fungsi . APDU dapat dikirim dengan nilai byte kelas yang ditentukan dalam definisi interindustri pertama di bagian 4 dari standar ISO/IEC 7816-4:2013, atau dalam definisi yang diperluas di Bagian 10.1.1 dari spesifikasi teknis ETSI TS 102 221. APDU dapat dikirim tanpa pesan aman atau dengan olahpesan yang aman. Header perintah tidak diautentikasi. Host menentukan jenis byte kelas, nomor saluran logis, dan pesan aman bersama dengan APDU.
Byte pertama dari perintah APDU adalah byte kelas, dikodekan sebagaimana didefinisikan oleh bagian 4 dari standar ISO/IEC 7816-4:2013 atau bagian 10.1.1 dari spesifikasi teknis ETSI TS 102 221. Host dapat mengirim byte kelas 0X, 4X, 6X, 8X, CX, atau EX. Namun, fungsi tidak meneruskan byte ini langsung ke UICC. Sebaliknya, sebelum mengirim APDU ke UICC, fungsi akan menggantikan byte pertama dari host dengan byte kelas baru (dikodekan sebagaimana didefinisikan oleh bagian 4 dari spesifikasi teknis ISO/IEC 7816-4:2013 atau bagian 10.1.1 dari spesifikasi teknis ETSI TS 102 221) berdasarkan Jenis, Nilai Saluran, dan SecureMessaging yang ditentukan oleh host:
Kelas byte | Deskripsi |
---|---|
0X | 7816-4 interindustry, 1 <= saluran <= 3, mengodekan keamanan dalam nibble rendah jika relevan |
4X | 7816-4 interindustry, 4 <= saluran <= 19, tidak ada olahpesan yang aman |
6X | 7816-4 interindustry, 4 <= saluran <= 19, aman (header tidak diautentikasi) |
8X | 102 221 diperpanjang, 1<= saluran <= 3, mengodekan keamanan dalam nibble rendah jika relevan |
CX | 102 221 diperpanjang, 4 <= saluran <= 19, tidak ada pesan aman |
EX | 102 221 diperluas, 4 <= saluran <= 19, aman (header tidak diautentikasi) |
Fungsi ini akan mengembalikan status, SW1 SW2, dan respons dari UICC ke host.
Parameter
Operasi | Set | Kueri | Pemberitahuan |
---|---|---|---|
Perintah | MBIM_MS_SET_UICC_APDU | Tidak berlaku | Tidak berlaku |
Respons | MBIM_MS_UICC_APDU_INFO | Tidak berlaku | Tidak berlaku |
Kueri
Tidak dapat diterapkan.
Set
InformationBuffer MBIM_COMMAND_MSG berisi struktur MBIM_MS_SET_UICC_APDU berikut.
MBIM_MS_SET_UICC_APDU
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | Saluran | UINT32(1..19) | Menentukan saluran tempat APDU akan dikirim. |
4 | 4 | SecureMessaging | MBIM_MS_UICC_SECURE_MESSAGING | Menentukan apakah APDU ditukar menggunakan olahpesan aman. |
8 | 4 | Jenis | MBIM_MS_UICC_CLASS_BYTE_TYPE | Menentukan jenis definisi byte kelas. |
12 | 4 | Ukuran Perintah | UINT32(0..261) | Panjang Perintah dalam byte. |
16 | 4 | CommandOffset | OFFSET | Offset dalam byte, dihitung dari awal struktur ini, ke array byte yang disebut Perintah yang berisi APDU. |
20 | - | DataBuffer | DATABUFFER | Array byte Perintah . |
Struktur MBIM_MS_SET_UICC_APDU menggunakan struktur data MBIM_MS_UICC_SECURE_MESSAGING dan MBIM_MS_UICC_CLASS_BYTE_TYPE berikut.
MBIM_MS_UICC_SECURE_MESSAGING
Jenis | Nilai | Deskripsi |
---|---|---|
MBIMMsUiccSecureMessagingNone | 0 | Tidak ada olahpesan yang aman. |
MBIMMsUiccSecureMessagingNoHdrAuth | 1 | Olahpesan aman, header perintah tidak diautentikasi. |
MBIM_MS_UICC_CLASS_BYTE_TYPE
Jenis | Nilai | Deskripsi |
---|---|---|
MBIMMsUiccInterindustry | 0 | Ditentukan sesuai dengan definisi interindustri pertama dalam ISO 7816-4. |
MBIMMsUiccExtended | 1 | Ditentukan sesuai dengan definisi yang diperluas dalam ETSI 102 221. |
Respons
InformationBuffer MBIM_COMMAND_DONE berisi struktur MBIM_MS_UICC_APDU_INFO berikut.
MBIM_MS_UICC_APDU_INFO
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | Status | BYTE[2] | Kata-kata status SW1 dan SW2 yang dihasilkan dari perintah . |
4 | 4 | ResponseLength | UKURAN | Panjang Respons dalam byte. |
8 | 4 | ResponseOffset | OFFSET | Offset dalam byte, dihitung dari awal struktur ini, ke array byte yang disebut Respons yang berisi respons dari SELECT. |
12 | - | DataBuffer | DATABUFFER | Array byte respons . |
Peristiwa yang tidak diminta
Tidak dapat diterapkan.
Kode status
Kode status berikut berlaku:
Kode status | Deskripsi |
---|---|
MBIM_STATUS_SUCCESS | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_BUSY | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_FAILURE | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_SIM_NOT_INSERTED | Tidak dapat melakukan operasi UICC karena UICC hilang. |
MBIM_STATUS_BAD_SIM | Tidak dapat melakukan operasi UICC karena UICC dalam status kesalahan. |
MBIM_STATUS_NOT_INITIALIZED | Tidak dapat melakukan operasi UICC karena UICC belum sepenuhnya diinisialisasi. |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | Nomor saluran logis tidak valid (dengan kata lain, nomor saluran tersebut tidak dibuka dengan MBIM_CID_MS_UICC_OPEN_CHANNEL). |
Jika fungsi dapat mengirim APDU ke UICC, fungsi mengembalikan MBIM_STATUS_SUCCESS bersama dengan kata-kata status SW1 SW2 dan respons dari UICC (jika ada). Host harus memeriksa status (SW1 SW2) untuk menentukan apakah perintah APDU berhasil pada UICC atau alasan gagal.
MBIM_CID_MS_UICC_TERMINAL_CAPABILITY
Host mengirim MBIM_CID_MS_UICC_TERMINAL_CAPABILITY untuk menginformasikan modem tentang kemampuan host. APDU KEMAMPUAN TERMINAL, yang ditentukan dalam Bagian 11.1.19 spesifikasi teknis ETSI TS 102 221, harus dikirim ke kartu sebelum aplikasi pertama dipilih (jika didukung). Oleh karena itu, host tidak dapat langsung mengirim TERMINAL CAPABILITY APDU melainkan mengirim perintah MBIM_CID_MS_UICC_TERMINAL_CAPABILITY yang berisi satu atau beberapa objek kemampuan terminal yang akan disimpan terus-menerus oleh modem. Pada penyisipan atau reset kartu berikutnya, setelah ATR, modem akan MEMILIH MF dan memeriksa apakah KEMAMPUAN TERMINAL didukung. Jika demikian, modem akan mengirim APDU KEMAMPUAN TERMINAL dengan informasi yang ditentukan oleh perintah MBIM_CID_MS_UICC_TERMINAL_CAPABILITY serta informasi yang dihasilkan modem.
Parameter
Operasi | Set | Kueri | Pemberitahuan |
---|---|---|---|
Perintah | MBIM_MS_SET_UICC_TERMINAL_CAPABILITY | Kosong | Tidak berlaku |
Respons | Tidak berlaku | MBIM_MS_TERMINAL_CAPABILITY_INFO | Tidak berlaku |
Kueri
InformationBuffer akan null dan InformationBufferLength akan menjadi nol.
Set
InformationBuffer MBIM_COMMAND_MSG berisi struktur MBIM_MS_SET_UICC_TERMINAL_CAPABILITY berikut.
MBIM_MS_SET_UICC_TERMINAL_CAPABILITY
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | ElementCount | UINT32 | Jumlah elemen objek kemampuan terminal. |
4 | 8*EC | CapabilityList OL_PAIR_LIST | Daftar pasangan offset-length untuk setiap TLV objek kemampuan terminal. | |
4+8*EC | - | DataBuffer | DATABUFFER | Array byte dari TLV objek kemampuan terminal yang sebenarnya. |
Respons
Respons akan berisi perintah SET yang tepat dengan objek kemampuan terminal terakhir yang dikirim ke modem. Oleh karena itu, MBIM_MS_TERMINAL_CAPABILITY_INFO identik dengan MBIM_MS_SET_UICC_TERMINAL_CAPABILITY.
MBIM_MS_TERMINAL_CAPABILITY_INFO
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | ElementCount | UINT32 | Jumlah elemen objek kemampuan terminal. |
4 | 8*EC | CapabilityList OL_PAIR_LIST | Daftar pasangan offset-length untuk setiap TLV objek kemampuan terminal. | |
4+8*EC | - | DataBuffer | DATABUFFER | Array byte dari TLV objek kemampuan terminal yang sebenarnya. |
Peristiwa yang tidak diminta
Tidak dapat diterapkan.
Kode status
Kode status | Deskripsi |
---|---|
MBIM_STATUS_SUCCESS | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_BUSY | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_FAILURE | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_SIM_NOT_INSERTED | Tidak dapat melakukan operasi UICC karena UICC hilang. |
MBIM_STATUS_BAD_SIM | Tidak dapat melakukan operasi UICC karena UICC dalam status kesalahan. |
MBIM_STATUS_NOT_INITIALIZED | Tidak dapat melakukan operasi UICC karena UICC belum sepenuhnya diinisialisasi. |
MBIM_STATUS_MS_INVALID_LOGICAL_CHANNEL | Nomor saluran logis tidak valid (dengan kata lain, nomor saluran tersebut tidak dibuka dengan MBIM_CID_MS_UICC_OPEN_CHANNEL). |
MBIM_CID_MS_UICC_RESET
Host mengirim MBIM_CID_MS_UICC_RESET ke fungsi MBIM untuk mengatur ulang UICC atau untuk mengkueri status passthrough fungsi.
Ketika host meminta agar fungsi mengatur ulang UICC, fungsi menentukan tindakan passthrough.
Jika host menentukan tindakan passthrough MBIMMsUICCPassThroughEnable , fungsi mengatur ulang UICC dan, setelah UICC menyala, memperlakukan UICC seolah-olah berada dalam mode passthrough yang memungkinkan komunikasi antara host dan UICC (bahkan jika UICC tidak memiliki sistem file Telecom UICC). Fungsi ini tidak mengirim APDUs apa pun ke kartu dan tidak mengganggu kapan saja dengan komunikasi antara host dan UICC.
Jika host menentukan tindakan passthrough MBIMMsUICCPassThroughDisable , fungsi mereset UICC dan, setelah UICC menyala, memperlakukan UICC sebagai Telecom UICC biasa dan mengharapkan sistem file Telecom UICC ada di UICC.
Ketika host meminta fungsi untuk menentukan status passthrough, jika fungsi merespons dengan status MBIMMsUICCPassThroughEnabled , itu berarti mode passthrough diaktifkan. Jika fungsi merespons dengan status MBIMMsUICCPassThroughDisabled , itu berarti mode passthrough dinonaktifkan.
Parameter
Jenis | Set | Kueri | Pemberitahuan |
---|---|---|---|
Perintah | MBIM_MS_SET_UICC_RESET | Kosong | Tidak berlaku |
Respons | MBIM_MS_UICC_RESET_INFO | MBIM_MS_UICC_RESET_INFO | Tidak berlaku |
Kueri
InformationBuffer akan null dan InformationBufferLength akan menjadi nol.
Set
MBIM_SET_MS_UICC_RESET
Struktur MBIM_SET_MS_UICC_RESET berisi tindakan passthrough yang ditentukan oleh host.
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | PassThroughAction | MBIM_MS_UICC_PASSTHROUGH_ACTION | Untuk informasi selengkapnya, lihat MBIM_MS_UICC_PASSTHROUGH_ACTION. |
MBIM_MS_UICC_PASSTHROUGH_ACTION
Enumerasi MBIM_MS_UICC_PASSTHROUGH_ACTION menentukan jenis tindakan passthrough yang dapat ditentukan host ke fungsi MBIM.
Jenis | Nilai |
---|---|
MBIMMsUiccPassThroughDisable | 0 |
MBIMMsUiccPassThroughEnable | 1 |
Respons
MBIM_MS_UICC_RESET_INFO
Struktur MBIM_MS_UICC_RESET_INFO berisi status passthrough fungsi MBIM.
Offset | Ukuran | Bidang | Jenis | Deskripsi |
---|---|---|---|---|
0 | 4 | PassThroughStatus | MBIM_MS_UICC_PASSTHROUGH_STATUS | Untuk informasi selengkapnya, lihat MBIM_MS_UICC_PASSTHROUGH_STATUS. |
MBIM_MS_UICC_PASSTHROUGH_STATUS
Enumerasi MBIM_MS_UICC_PASSTHROUGH_STATUS menentukan jenis status passthrough yang ditentukan fungsi MBIM ke host.
Jenis | Nilai |
---|---|
MBIMMsUiccPassThroughDisabled | 0 |
MBIMMsUiccPassThroughEnabled | 1 |
Peristiwa yang tidak diminta
Tidak dapat diterapkan.
Kode status
Kode status | Deskripsi |
---|---|
MBIM_STATUS_SUCCESS | Status MBIM dasar sebagaimana didefinisikan untuk semua perintah. |
MBIM_STATUS_BUSY | Perangkat sibuk. |
MBIM_STATUS_FAILURE | Operasi gagal. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Perangkat tidak mendukung operasi ini. |
OID_WWAN_UICC_RESET
NDIS yang setara untuk MBIM_CID_MS_UICC_RESET OID_WWAN_UICC_RESET.