Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Microsoft menyediakan driver yang mematuhi spesifikasi USB Type-C® Connector System Software Interface (UCSI) untuk transportasi Konfigurasi Tingkat Lanjut dan Antarmuka Daya (ACPI). Jika desain Anda menyertakan kontroler tertanam dengan transport ACPI, terapkan UCSI pada BIOS/EC sistem Anda dan muat driver UCSI terbawai (UcmUcsiCx.sys dan UcmUcsiAcpiClient.sys).
Jika perangkat keras yang sesuai dengan UCSI Anda menggunakan transportasi selain ACPI, Anda perlu menulis driver klien UCSI.
Driver untuk mendukung komponen USB Type-C untuk sistem dengan pengendali tertanam
Berikut adalah contoh sistem dengan pengontrol yang disematkan.
Pengalihan peran USB ditangani dalam firmware sistem. Tumpukan driver Sakelar Peran USB tidak dimuat. Di sistem lain, tumpukan driver mungkin tidak dimuat karena peran ganda tidak didukung.
Pengemudi perangkat sisi USB
Driver sisi perangkat USB melayani fungsi/perangkat/periferal. Ekstensi kelas pengontrol fungsi USB mendukung Protokol Transfer Media (MTP) dan pengisian daya menggunakan pengisi daya BC 1.2. Microsoft menyediakan driver klien bawaan untuk pengontrol Synopsys USB 3.0 dan ChipIdea USB 2.0. Anda dapat menulis driver klien kustom untuk pengontrol fungsi Anda dengan menggunakan antarmuka pemrograman driver klien pengontrol fungsi USB. Untuk informasi selengkapnya, lihat Mengembangkan driver Windows untuk pengontrol fungsi USB.
Vendor SoC mungkin memberi Anda driver filter fungsi USB yang lebih rendah untuk deteksi pengisi daya. Jika Anda menggunakan driver bawaan Synopsys USB 3.0 atau driver client ChipIdea USB 2.0, Anda dapat menerapkan driver filter Anda sendiri.
Driver host sisi USB
Driver sisi host USB adalah sekumpulan driver yang bekerja dengan pengontrol host USB yang mematuhi EHCI atau XHCI. Jika driver role-switch menghitung peran host, driver akan dimuat. Jika pengontrol host Anda tidak sesuai spesifikasi, Anda dapat menulis driver kustom dengan menggunakan antarmuka pemrograman ekstensi pengontrol host USB. Untuk informasi selengkapnya, lihat Mengembangkan driver Windows untuk pengontrol host USB.
Manajer konektor USB
Microsoft menyediakan driver dalam kotak UCSI dengan Windows (UcmUcsiCx.sys) yang mengimplementasikan fitur yang ditentukan dalam Spesifikasi Antarmuka Perangkat Lunak Sistem Konektor USB Type-C. Spesifikasi menjelaskan kemampuan UCSI. Ini menjelaskan daftar dan struktur data, untuk perancang komponen perangkat keras, penyusun sistem, dan pengembang driver perangkat.
Driver ini ditujukan untuk sistem dengan pengontrol yang disematkan. Driver ini adalah klien untuk driver ekstensi kelas manajer konektor USB yang disediakan Microsoft (Ucmcx.sys). Driver menangani tugas seperti memulai permintaan ke firmware untuk mengubah peran data atau daya dan mendapatkan informasi yang diperlukan untuk memberikan pesan pemecahan masalah kepada pengguna.
Perintah UCSI yang diperlukan oleh Windows
Lihat spesifikasi UCSI untuk perintah yang diperlukan di semua implementasi UCSI.
Selain perintah yang ditandai sebagai Diperlukan, Windows memerlukan perintah ini:
- DAPATKAN_MODUS_ALTERNATIF
- GET_CAM_SUPPORTED
- GET_PDOS
- SET_NOTIFICATION_ENABLE: Sistem atau pengontrol harus mendukung pemberitahuan berikut di SET_NOTIFICATION_ENABLE:
- Perubahan Kemampuan Penyedia yang Didukung
- Perubahan Tingkat Daya yang Dinegosiasikan
- GET_CONNECTOR_STATUS: Sistem atau pengontrol harus mendukung perubahan status konektor ini dalam GET_CONNECTOR_STATUS:
- Perubahan Kemampuan Penyedia yang Didukung
- Perubahan Tingkat Daya yang Dinegosiasikan
Untuk informasi selengkapnya, lihat Implementasi Intel BIOS UCSI.
UCM-UCSI perangkat ACPI untuk UCSI 2.0 dan yang lebih tinggi
Mulai Windows 11, Pembaruan September versi 22H2, driver perangkat Windows UCM-UCSI ACPI mendukung spesifikasi UCSI versi 2.0 dan 2.1. Spesifikasi UCSI 2.0 memiliki perubahan mendasar dalam pemetaan memori dari struktur data seperti yang didefinisikan dalam Spesifikasi UCSI Tabel 3-1 Struktur Data.
Untuk mempertahankan kompatibilitas mundur, Windows memerlukan UCSI PPM spesifikasi versi 2.0 atau lebih besar untuk menerapkan fungsi _DSM berikut di bawah perangkat ACPIUCM-UCSI di firmware ACPI dan mengembalikan nilai nonzero untuk menunjukkan bahwa UCSI OPM harus mengikuti versi spesifikasi UCSI yang dilaporkan.
- Arg0: UUID = 6F8398C2-7CA4-11E4-AD36-631042B5008F
- Arg1: ID Revisi = 0
- Arg2: Indeks fungsi = 5
- Arg3: Paket kosong (tidak digunakan)
Mengembalikan nilai:
| Elemen | Jenis objek | Deskripsi |
|---|---|---|
| UsePpmReportedUcsiVersion | Bilangan bulat (32-bit) | 0x00000000 (Default): Jika VERSION struktur seperti yang didefinisikan dalam Spesifikasi UCSI Tabel 3-1 Struktur Data memiliki nilai 2.0 atau lebih besar, UCSI OPM masih mengikuti spesifikasi UCSI 1.2. Jika tidak, UCSI OPM mengikuti spesifikasi UCSI sesuai nilai dalam struktur VERSION. |
Nota
Untuk perangkat ACPI UCM-UCSI, fungsi ini baru dalam metode _DSM yang ada. Fungsi lain dari metode _DSM ini harus telah diimplementasikan sesuai implementasi Intel BIOS dari dokumen UCSI . Fungsi 0, yang mengembalikan bitmask dari semua fungsi yang didukung, juga harus diperbarui.
Contoh alur untuk UCSI
Contoh di bagian ini menjelaskan interaksi antara USB Type-C perangkat keras/firmware, driver UCSI, dan sistem operasi.
Deteksi peran DRP
USB Type-C perangkat keras/firmware mendeteksi peristiwa penyambungan perangkat. Sistem DRP Windows 10 pada awalnya berfungsi sebagai peran UFP.
- Firmware mengirimkan pemberitahuan yang menunjukkan perubahan pada konektor.
- Driver UCSI mengirimkan permintaan GET_CONNECTOR_STATUS.
- Firmware merespons bahwa Status Sambungkan =
1dan Jenis Mitra Konektor =DFP.
Driver dalam tumpukan fungsi USB merespons enumerasi.
Ekstensi kelas manajer konektor USB mengenali bahwa tumpukan fungsi USB dimuat, sehingga sistem berada dalam keadaan yang salah. Ini memberi tahu driver UCSI untuk mengirim permintaan Set USB Operation Role dan Set Power Direction Role ke firmware.
USB Type-C perangkat keras/firmware memulai operasi pertukaran peran dengan DFP.
Mendeteksi kondisi kesalahan ketidakcocokan pengisi daya
Perangkat keras/firmware USB Type-C mendeteksi bahwa pengisi daya terhubung dan bernegosiasi dengan pengaturan daya default. Ini juga mengamati bahwa pengisi daya tidak memberikan daya yang cukup untuk sistem.
USB Type-C perangkat keras/firmware mengatur bit pengisian daya lambat.
- Firmware mengirimkan pemberitahuan yang menunjukkan perubahan pada konektor.
- Driver UCSI mengirimkan permintaan GET_CONNECTOR_STATUS.
- Firmware merespons dengan Status Sambungkan =
1, Jenis Mitra Konektor =DFP, dan Status Pengisian Daya Baterai =Slow/Trickle.
Ekstensi kelas manajer konektor USB mengirimkan pemberitahuan ke UI untuk menampilkan pesan pemecahan masalah ketidakcocokan pengisi daya.
Cara menguji UCSI
Ada banyak cara untuk menguji implementasi UCSI Anda. Untuk menguji perintah individual dalam implementasi UCSI BIOS/EC Anda, gunakan UCSIControl.exe, yang disediakan dalam paket perangkat lunak Microsoft USB Test Tool (MUTT). Untuk menguji implementasi UCSI lengkap Anda, gunakan pengujian UCSI yang dapat ditemukan di Windows Hardware Lab Kit (HLK) dan langkah-langkah dalam Prosedur Interop ManualType-C.
UCSIControl.exe
Anda dapat menguji perintah individual dalam implementasi UCSI BIOS/EC Anda dengan menggunakan UCSIControl.exe. Alat ini memungkinkan Anda mengirim perintah UCSI ke firmware melalui driver UCSI. Ini mengharuskan driver dimuat dan dijalankan. Anda juga telah mengaktifkan antarmuka pengujian untuk driver. Secara default, antarmuka ini tidak diaktifkan sehingga mencegahnya agar tidak dapat diakses oleh pengguna yang tidak sah pada sistem ritel.
Temukan simpul perangkat di Device Manager (devmgmt.msc) bernama UCSI USB Connector Manager. Simpul berada di bawah kategori pengontrol Universal Serial Bus .
Pilih dan tahan atau klik kanan perangkat. Pilih Properti dan buka tab Detail .
Pilih Jalur Instans Perangkat dari menu dropdown dan catat nilai properti.
Buka Editor Registri (regedit.exe).
Navigasikan ke jalur instans perangkat di bawah kunci ini.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\<device-instance-path>\Device ParametersBuat nilai DWORD bernama TestInterfaceEnabled dan atur nilai ke 0x1.
Untuk memulai ulang perangkat, pada simpul perangkat di Manajer Perangkat, pilih Nonaktifkan, lalu pilih Aktifkan. Atau, Anda dapat menghidupkan ulang PC.
Anda dapat melihat bantuan dengan menjalankan UcsiControl.exe /?.
Berikut adalah perintah umum:
| Perintah UCSI | perintah UcsiControl.exe |
|---|---|
| Setel Ulang PPM | UcsiControl.exe Kirim 0 1 |
| Reset Konektor | Soft reset: UcsiControl.exe Kirim 0 10003 Reset paksa: UcsiControl.exe Kirim 0 810003 |
| Atur Pengaktifan Pemberitahuan | Semua pemberitahuan: UcsiControl.exe Kirim 0 ffff0005 Hanya penyelesaian perintah: UcsiControl.exe Kirim 0 00010005 Tidak ada pemberitahuan: UcsiControl.exe Kirim 0 00000005 |
| Dapatkan Kapabilitas | UcsiControl.exe Kirim 0 6 |
| Dapatkan Kemampuan Konektor | UcsiControl.exe Kirim 0 10007 |
| Atur UOM | DFP: UcsiControl.exe Kirim 0 810008 UFP: UcsiControl.exe Kirim 0 1010008 DRP: UcsiControl.exe Kirim 0 2010008 |
| Atur UOR | DFP: UcsiControl.exe Kirim 0 810009 UFP: UcsiControl.exe Kirim 0 1010009 Terima: UcsiControl.exe Kirim 0 2010009 |
| Atur PDR | Penyedia: UcsiControl.exe Kirim 0 81000B Konsumen: UcsiControl.exe Kirim 0 101000B Terima: UcsiControl.exe Kirim 0 201000B |
| Dapatkan PDO | Sumber Lokal: UcsiControl.exe Kirim 7 00010010 Sink Lokal: UcsiControl.exe Kirim 3 00010010 Sumber Remote: UcsiControl.exe Kirim 7 00810010 Remote Sink: UcsiControl.exe Kirim 3 00810010 |
| Dapatkan Status Konektor | UcsiControl.exe Kirim 0 010012 |
| Dapatkan Status Kesalahan | UcsiControl.exe Kirim 0 13 |