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.
Artikel ini menyediakan informasi tentang menggunakan alat Logman untuk mengambil jejak peristiwa USB ETW. Logman adalah alat pelacakan yang dibangun ke dalam Windows. Anda dapat menggunakan Logman untuk mengambil peristiwa ke dalam file log jejak peristiwa.
Prasyarat
File log jejak peristiwa dapat tumbuh dengan sangat cepat, tetapi file log yang lebih kecil lebih mudah dinavigasi dan lebih mudah ditransmisikan. Sebelum memulai jejak, pertimbangkan untuk mengambil langkah-langkah berikut untuk mengecualikan peristiwa asing dari log sehingga Anda dapat fokus pada aktivitas perangkat yang ingin Anda periksa:
- Putuskan sambungan perangkat USB non-kritis yang bukan perangkat yang dituju. Lebih sedikit perangkat menghasilkan jejak yang lebih kecil sehingga lebih mudah dibaca dan dianalisis.
- Jika sistem Anda memiliki keyboard atau mouse USB, masukkan perintah pelacakan dengan menggunakan Desktop Jauh sebagai gantinya.
- Persempit awal dan akhir jejak sebanyak mungkin di sekitar operasi yang diminati.
- Jika Anda hanya tertarik pada kategori peristiwa USB tertentu, Anda dapat menggunakan kata kunci untuk memfilter peristiwa yang direkam. Untuk informasi selengkapnya, lihat Keterangan.
Jejak peristiwa dari tumpukan driver USB 3.0 mirip dengan jejak tumpukan driver USB 2.0, yang diperkenalkan di Windows 7. Jejak peristiwa dari tumpukan driver USB 2.0 dapat diambil di komputer Windows 8. Cara Anda mengambil jejak peristiwa dari tumpukan driver USB 2.0 dan USB 3.0 serupa. Anda dapat mengambil peristiwa dari tumpukan driver USB 2.0 atau USB 3.0 secara independen. Saat Anda menyambungkan perangkat USB 2.0 ke pengontrol host USB 3.0, Anda mendapatkan jejak peristiwa dari tumpukan driver USB 3.0. Dalam hal ini, Anda akan melihat peristiwa stack driver USB 3.0 yang baru untuk perangkat USB 2.0.
Petunjuk
Untuk mengumpulkan peristiwa pelacakan USB
Buka jendela prompt perintah yang memiliki hak istimewa administratif. Untuk melakukannya, pilih Mulai, ketik cmd di kotak pencarian, Pilih dan tahan (atau klik kanan) cmd.exe, lalu pilih Jalankan sebagai administrator.
Di jendela prompt perintah, masukkan perintah ini untuk memulai sesi pengambilan:
logman create trace -n usbtrace -o %SystemRoot%\Tracing\usbtrace.etl -nb 128 640 -bs 128 logman update trace -n usbtrace -p Microsoft-Windows-USB-USBXHCI (Default,PartialDataBusTrace) logman update trace -n usbtrace -p Microsoft-Windows-USB-UCX (Default,PartialDataBusTrace) logman update trace -n usbtrace -p Microsoft-Windows-USB-USBHUB3 (Default,PartialDataBusTrace) logman update trace -n usbtrace -p Microsoft-Windows-USB-USBPORT logman update trace -n usbtrace -p Microsoft-Windows-USB-USBHUB logman update trace -n usbtrace -p Microsoft-Windows-Kernel-IoTrace 0 2 logman start -n usbtrace
Setelah setiap perintah ini selesai, Logman akan ditampilkan
The command completed successfully.
Lakukan operasi yang ingin Anda tangkap. Misalnya, untuk mengambil peristiwa untuk enumerasi perangkat, Anda dapat menyambungkan usb flash drive yang muncul sebagai "Perangkat yang tidak diketahui" di Device Manager. Biarkan jendela command prompt terbuka.
Hentikan sesi setelah Anda menyelesaikan skenario. Masukkan perintah ini untuk mengakhiri sesi pengambilan:
Anda dapat menghentikan hub USB dan pengumpulan peristiwa port dengan menjalankan perintah berikut:
logman stop -n usbtrace logman delete -n usbtrace move /Y %SystemRoot%\Tracing\usbtrace_000001.etl %SystemRoot%\Tracing\usbtrace.etl
Sesi pengambilan sebelumnya menghasilkan file etl, bernama usbtrace.etl. File pelacakan disimpan di %SystemRoot%\Tracing\usbtrace.etl (C:\Windows\Tracing\usbtrace.etl). Pindahkan file ke lokasi lain atau ganti namanya untuk menghindari penimpaan saat Anda merekam sesi berikutnya.
File berisi jejak peristiwa dari tumpukan driver USB 3.0 dan USB 2.0. Jika Anda ingin mengurangi jejak peristiwa hanya ke satu tumpukan driver USB, hapus tumpukan driver lain dari sesi pelacakan berikutnya. Anda dapat melakukannya dengan memodifikasi urutan perintah yang ditunjukkan pada langkah 2 untuk menghapus baris "pembaruan logman" yang sesuai dengan tumpukan driver yang ingin Anda hapus dari sesi pelacakan.
Komentar
Menangkap filter untuk peristiwa pada tumpukan driver USB 3.0
Perhatikan kata kunci ETW seperti Default dan PartialDataBusTrace dalam perintah pengambilan Logman. Kata-kata tersebut adalah kata kunci ETW yang menunjukkan jenis peristiwa yang ingin Anda lihat. Anda dapat menggunakan kata kunci ETW untuk memfilter peristiwa yang ditulis driver USB ke log jejak dan menyesuaikan berapa banyak informasi yang ingin Anda lihat tentang peristiwa yang diambil dari tumpukan driver USB 3.0. Peristiwa yang cocok dengan salah satu kata kunci Anda disimpan. Perhatikan bahwa metode pemfilteran ini untuk digunakan pada waktu pengambilan, bukan selama analisis.
Anda dapat memfilter peristiwa berdasarkan kata kunci tergantung pada kebutuhan Anda. Berikut adalah kata kunci untuk memfilter peristiwa tumpukan driver USB 3.0:
Kata kunci ETW | Deskripsi |
---|---|
Default | Menampilkan peristiwa yang berguna untuk pemecahan masalah umum. Peristiwa ini mirip dengan peristiwa USB 2.0 ETW tetapi tidak menyertakan peristiwa transfer USB apa pun. |
StateMachine | Menampilkan transisi komputer status internal driver. Peristiwa tidak disertakan dalam kata kunci Default . |
Rangkuman | Menampilkan peristiwa informasi perangkat di awal jejak dan menangkap status awal pohon USB. Informasi perangkat mengenai peristiwa Rundown penting untuk disimpan agar jejak dapat memuat detail seperti deskriptor USB dan Deskripsi Perangkat USB dari perangkat yang terhubung. Peristiwa ini disertakan dalam kata kunci Default . Saat Anda tidak menggunakan kata kunci Default , Anda harus menggunakan kata kunci Rundown . Peristiwa Rundown yang tersisa memberikan informasi tentang transisi status terbaru dari komputer status internal driver. Peristiwa ini disertakan dalam kata kunci StateMachine . |
Unit | Menampilkan subset peristiwa Default. Menampilkan peristiwa transisi daya perangkat. |
IRP | Menampilkan subset peristiwa Default. Peristiwa menunjukkan IRP dari driver klien dan IRP yang dihasilkan dari permintaan mode pengguna. Namun, permintaan transfer USB (URB) yang valid tidak ditampilkan dengan kata kunci IRP , dan memerlukan HeadersBusTrace, PartialDataBusTrace, atau FullDataBusTrace untuk ditampilkan. |
HeadersBusTrace | Menampilkan semua peristiwa transfer USB tetapi tidak menyimpan paket data. |
PartialDataBusTrace | Menampilkan semua kejadian transfer USB dan menyimpan sejumlah terbatas data bus. |
FullDataBusTrace | Menampilkan semua peristiwa transfer USB dan menyimpan hingga 4 KB data bus untuk transfer massal, gangguan, dan kontrol. Perhatikan bahwa hanya buffer pertama dari sebuah MDL berantai yang dicatat. Data isochronous bus tidak pernah dicatat (meskipun struktur permintaan URB_ISOCH_TRANSFER disimpan). Untuk informasi selengkapnya, lihat Cara mengirim MDL berantai dan Cara mentransfer data ke titik akhir isochronous USB. |
HWVerifyHost | Memperlihatkan subset peristiwa Default . Peristiwa menunjukkan kapan kesalahan terjadi di perangkat keras pengontrol host USB. |
HWVerifyHub | Memperlihatkan sebagian dari peristiwa Default. Peristiwa menunjukkan kapan kesalahan terjadi di perangkat keras hub USB. |
HWVerifyDevice | Menampilkan subset acara Default. Peristiwa menunjukkan kapan kesalahan terjadi di perangkat keras perangkat USB. |
Sebagai contoh, berikut adalah urutan perintah yang memulai sesi untuk mengambil transisi daya perangkat USB. Karena pemilihan penyedia (tumpukan driver USB 3.0), peristiwa diambil hanya untuk perangkat yang terhubung ke hilir pengontrol host USB 3.0.
logman create trace -n usbtrace -o %SystemRoot%\Tracing\usbtrace.etl -nb 128 640 -bs 128
logman update trace -n usbtrace -p Microsoft-Windows-USB-USBXHCI (Rundown,Power)
logman update trace -n usbtrace -p Microsoft-Windows-USB-UCX (Rundown,Power)
logman update trace -n usbtrace -p Microsoft-Windows-USB-USBHUB3 (Rundown,Power)
logman update trace -n usbtrace -p Microsoft-Windows-Kernel-IoTrace 0 2
logman start -n usbtrace
Mengambil filter untuk peristiwa daya
Kata kunci ETW yang berguna untuk perangkat USB adalah penanda PowerDiagnostics dari driver port USB. Ketika Anda menggunakan kata kunci ini, driver port mencatat informasi pengontrol host dan titik akhir, tetapi mengabaikan semua peristiwa yang berkaitan dengan transfer. Jika Anda tidak perlu melihat peristiwa transfer, Anda dapat menggunakan kata kunci PowerDiagnostics untuk mengurangi ukuran log jejak sebanyak 85 persen. Tentukan kata kunci PowerDiagnostics saat Anda memulai jejak, seperti yang diperlihatkan dalam contoh berikut:
Logman start Usbtrace -p Microsoft-Windows-USB-USBPORT PowerDiagnostics -o usbtrace.etl -ets -nb 128 640 -bs 128
Logman update Usbtrace -p Microsoft-Windows-USB-USBHUB –ets
Jika log pelacakan yang sudah difilter memiliki banyak peristiwa pengaktifan dan penonaktifan jadwal asinkron pengontrol host, Anda dapat menyaringnya ketika melihat log dengan menggunakan filter Netmon, seperti yang ditunjukkan dalam contoh berikut:
NOT (Description == "USBPort_MicrosoftWindowsUSBUSBPORT:Host Controller Async Schedule Enable"
OR Description == "USBPort_MicrosoftWindowsUSBUSBPORT:Host Controller Async Schedule Disable")
Untuk informasi selengkapnya tentang filter Netmon, lihat "FILTER USB Netmon" di Studi Kasus: Memecahkan masalah perangkat USB yang tidak diketahui dengan menggunakan ETW dan Netmon.
Terkadang sangat membantu untuk memiliki event transfer di log pelacakan Anda, seperti permintaan hub dan permintaan perangkat yang menyebabkan kesalahan seperti kesalahan XACT atau penghentian. Anda mungkin terlebih dahulu mengambil log tanpa peristiwa transfer dan menganalisis log yang lebih kecil tersebut. Kemudian lakukan penelusuran lagi tanpa pemfilteran setelah Anda memiliki gambaran umum mengenai masalah dalam skenario masalah Anda.