USB 3.0 xHCI çekirdek modu hata ayıklamasını ayarlama (KDUSB xHCI-DBC USB 3.0)

Windows için Hata Ayıklama Araçları, USB 3.0 kablosu üzerinden çekirdek modunda hata ayıklamayı destekler. Bu makalede USB 3.0 hata ayıklamasını el ile ayarlama açıklanmaktadır.

Hata ayıklayıcısını çalıştıran bilgisayaraana bilgisayar adı verilir ve hata ayıklanan bilgisayarahedef bilgisayar adı verilir.

USB 3.0 kablosu üzerinde hata ayıklama için aşağıdaki donanım gerekir:

  • Ana bilgisayarda bir xHCI (USB 3.0) konak denetleyicisi
  • Hedef bilgisayarda, hata ayıklamayı destekleyen bir xHCI (USB 3.0) konak denetleyicisi
  • Hedef bilgisayar USB ana bilgisayar denetleyicisi Intel xHCI-Debug Yetenek Arabirimi'ni (DBC) desteklemelidir. Daha fazla bilgi için Intel Web sitesinde bulunan xHCI belirtimine bakın.

Kablo gereksinimleri

  • İki adet A tipi erkek fişli ve Vbus bağlantısı olmayan, A-A geçişli turuncu bir Microsoft USB hata ayıklama kablosu. Bu kablo DataPro - USB 3.0 Super-Speed A/A Hata Ayıklama Kablosu gibi satıcılardan kullanılabilir.

Sorun gidermeyi basitleştirmek için kabloyu doğrudan hedef bilgisayarla ana bilgisayar arasında bağlayarak hub'lardan veya yerleştirme istasyonlarından kaçının.

İkili aktarım dosyaları

kdstub.dll, KDUSB xHCI-DBC USB 3.0 hata ayıklayıcı aktarımını desteklemek için kullanılır.

Hedef bilgisayarı ayarlama

  1. Hedef bilgisayarda UsbView aracını başlatın. UsbView aracı, Windows için Hata Ayıklama Araçları'na dahildir. Bir x64 sistemi için UsbView ,C:\Program Files (x86)\Windows Kits\10\Tools\kitversion\x64\usbview.exekonumunda bulunur.

  2. UsbView'da tüm xHCI konak denetleyicilerini bulun.

  3. UsbView'da xHCI konak denetleyicilerinin düğümlerini genişletin. Konak denetleyicisindeki bir bağlantı noktasının hata ayıklamayı desteklediğini gösteren bir gösterge arayın.

    [Port1]
    
    Is Port User Connectable:         yes
    Is Port Debug Capable:            yes
    Companion Port Number:            3
    Companion Hub Symbolic Link Name: USB#ROOT_HUB30#5&32bab638&0&0#{...}
    Protocols Supported:
     USB 1.1:                         no
     USB 2.0:                         no
     USB 3.0:                         yes
    
  4. Hata ayıklama için kullanmayı planladığınız xHCI denetleyicisi için veri yolu, cihaz ve işlev numaralarını not edin. UsbView bu sayıları görüntüler. Aşağıdaki örnekte veri yolu numarası 48, cihaz numarası 0 ve işlev numarası 0'dır.

    USB xHCI Compliant Host Controller
    ...
    DriverKey: {36fc9e60-c465-11cf-8056-444553540000}\0020
    ...
    Bus.Device.Function (in decimal): 48.0.0
    
  5. Hata ayıklamayı destekleyen bir xHCI denetleyicisini tanımladıktan sonra, sonraki adım xHCI denetleyicisindeki bir bağlantı noktasıyla ilişkili fiziksel USB bağlayıcısını bulmaktır. Fiziksel bağlayıcıyı bulmak için herhangi bir USB 3.0 cihazını hedef bilgisayardaki herhangi bir USB bağlayıcısına takın. Cihazınızın nerede olduğunu görmek için UsbView'ı yenileyin. UsbView cihazınızı seçtiğiniz xHCI ana bilgisayar denetleyicisine bağlı olarak gösteriyorsa, USB 3.0 hata ayıklaması için kullanabileceğiniz fiziksel bir USB bağlayıcısı bulmuşsunuz demektir.

Önemli

Önyükleme bilgilerini değiştirmek için kullanmadan bcdedit önce, test bilgisayarında BitLocker ve Güvenli Önyükleme gibi Windows güvenlik özelliklerini geçici olarak askıya almanız gerekebilir. Test tamamlandığında bu güvenlik özelliklerini yeniden etkinleştirin ve güvenlik özellikleri devre dışı bırakıldığında test bilgisayarını uygun şekilde yönetin.

  1. Hedef bilgisayarda, Yönetici olarak bir Komut İstemi penceresi açın ve şu komutları girin:

    bcdedit /debug on
    bcdedit /dbgsettings usb targetname:<TargetName>
    

    TargetName , hedef bilgisayar için oluşturduğunuz bir addır. TargetName'in hedef bilgisayarın resmi adı olması gerekmediğinden emin olun; bu kısıtlamalara uyduğunuz sürece oluşturduğunuz herhangi bir dize olabilir:

    • Dize, TargetName içinde herhangi bir yerde büyük veya küçük harf fark etmeksizin "debug" içermemelidir. Örneğin, hedef adınızda herhangi bir yerde "DeBuG" veya "DEBUG" kullanıyorsanız hata ayıklama düzgün çalışmaz.
    • Dizedeki tek karakterler kısa çizgi (-), alt çizgi(_), 0 ile 9 arasında basamaklar ve A ile Z (büyük veya küçük harf) harfleridir.
    • Dizenin uzunluk üst sınırı 24 karakterdir.
  2. Cihaz Yöneticisi'nde, hata ayıklama için kullanmayı planladığınız USB Denetleyicisi'ni bulun. Genel sekmesindeki Konum'un altında veri yolu, cihaz ve işlev numaraları görüntülenir. Şu komutu girin:

    bcdedit /set "{dbgsettings}" busparams <b.d.f>
    

    B, d ve f , USB ana bilgisayar denetleyicisi için veri yolu, cihaz ve işlev numaralarıdır. Veri yolu, cihaz ve işlev numaraları ondalık formatta olmalıdır.

    Örnek:

    bcdedit /set "{dbgsettings}" busparams 48.0.0
    
  3. Hedef bilgisayarı yeniden başlatın.

Güç yönetimini devre dışı bırakma

Bazı durumlarda güç geçişleri USB 3.0 üzerinden hata ayıklamayı etkileyebilir. Bu sorunları önlemek için, hata ayıklama için kullandığınız xHCI konak denetleyicisi ve kök hub'ı için seçmeli askıya alma özelliğini devre dışı bırakın.

  1. Cihaz Yöneticisi'nde xHCI konak denetleyicisinin düğümüne gidin. Düğüme sağ tıklayın ve Özellikler'i seçin. Güç Yönetimi sekmesi varsa, sekmeyi açın ve Bilgisayarın güç tasarrufu için bu cihazı kapatmasına izin ver onay kutusunu temizleyin.

  2. Cihaz Yöneticisi'nde, xHCI ana denetleyicisinin kök hub'ının düğümüne gidin. Düğüme sağ tıklayın ve Özellikler'i seçin. Güç Yönetimi sekmesi varsa, sekmeyi açın ve Bilgisayarın güç tasarrufu için bu cihazı kapatmasına izin ver onay kutusunu temizleyin.

Hata ayıklama için xHCI konak denetleyicisini kullanmayı bitirdiğinizde, xHCI konak denetleyicisi için seçmeli askıya alma özelliğini yeniden etkinleştirin.

Hata ayıklama oturumunu ilk kez başlatma

  1. Konak ve hedef bilgisayarlarda hata ayıklama için seçtiğiniz USB 3.0 bağlantı noktalarına bir USB 3.0 hata ayıklama kablosu bağlayın.
  2. Konak bilgisayarda çalışan Windows'un bitliğini (32 bit veya 64 bit) belirleyin.
  3. Ana bilgisayarda, ana bilgisayarda çalışan Windows'un bit mimarisiyle eşleşen bir WinDbg sürümünü (Yönetici olarak) açın. Örneğin, konak bilgisayar Windows'un 64 bit sürümünü çalıştırıyorsa WinDbg'nin 64 bit sürümünü Yönetici olarak açın.
  4. Dosya menüsünde Çekirdek Hata Ayıklama öğesini seçin. Çekirdek Hata Ayıklama iletişim kutusunda USB sekmesini açın. Hedef bilgisayarı ayarlarken oluşturduğunuz hedef adı girin. Tamam'a tıklayın.

Bu noktada, USB hata ayıklama sürücüsü ana bilgisayara yüklenir, bu nedenle WinDbg'nin bitliğini Windows'un bitliğiyle eşleştirmek önemlidir. USB hata ayıklama sürücüsü yüklendikten sonra, sonraki hata ayıklama oturumları için WinDbg'nin 32 bit veya 64 bit sürümünü kullanabilirsiniz.

Hata ayıklama oturumu başlat

WinDbg'yi kullanma

Konak bilgisayarda WinDbg'yi açın. Dosya menüsünde Çekirdek Hata Ayıklama öğesini seçin. Çekirdek Hata Ayıklama iletişim kutusunda USB sekmesini açın. Hedef bilgisayarı ayarlarken oluşturduğunuz hedef adı girin. Tamam'ı seçin.

Bir Komut İstemi penceresine aşağıdaki komutu girerek WinDbg ile oturum da başlatabilirsiniz; burada HedefAdı , hedef bilgisayarı ayarlarken oluşturduğunuz hedef addır:

windbg /k usb:targetname=<TargetName>

KD kullanma

Konak bilgisayarda bir Komut İstemi penceresi açın ve aşağıdaki komutu girin. Burada HedefAdı , hedef bilgisayarı ayarlarken oluşturduğunuz hedef addır:

kd /k usb:targetname=<TargetName>

Hedef bilgisayarı yeniden başlatın

Hata ayıklayıcı bağlandıktan sonra hedef bilgisayarı yeniden başlatın. Bilgisayarı yeniden başlatmanın bir yolu, yöneticinin komut isteminden shutdown -r -t 0 komutunu kullanmaktır.

Hedef bilgisayar yeniden başlatıldıktan sonra hata ayıklayıcının otomatik olarak bağlanması gerekir.

Sorun giderme

USB cihazı tanınmıyor

Ana bilgisayarda hata ayıklama kablosunu taktığınızda USB cihazının tanınmadığı metinle bir Windows bildirimi görüntülenirse bilinen bir USB 3.1 ile 3.1 arasındaki uyumluluk sorununa maruz kalma olasılığı vardır. Bu sorun, hata ayıklama kablosu konak üzerindeki bir USB 3.1 denetleyicisine ve hedefte Intel (Ice Lake veya Tiger Lake) 3.1 USB denetleyicisine bağlandığında hata ayıklama yapılandırmalarını etkiler.

Daha fazla bilgi ve işlemci modeli listeleri için bkz. Ice Lake (mikroişlemci) ve veya Tiger Lake (mikro işlemci). Hedef makinenin işlemci modelini bulmak için Ayarlar uygulamasını açın ve Sistem'e ve ardından Hakkında'ya gidin. İşlemci , Cihaz belirtimleri altında listelenir.

Bu sorunu doğrulamak için Cihaz Yöneticisi'ni açın ve Evrensel Seri Veri Yolu denetleyicileri altında USB Hata Ayıklama Bağlantı Cihazı'nı arayın. Bu cihaz bulunamıyorsa, Diğer cihazlar'ın altında Bilinmeyen cihaz olup olmadığını denetleyin. Özellikler sayfasını açmak için cihaza sağ tıklayın. Cihaz durumu metin kutusunda Windows'un bu cihazı durdurduğuna ilişkin metin bulunur çünkü sorun bildirdi (Kod 43) ve USB cihazı geçersiz bir USB BOS tanımlayıcısı döndürdü.

Bu sorunu geçici olarak çözmek için bir yönetici komut isteminden bu komutları çalıştırarak kayıt defterinde değişiklik yapın:

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\349500E00000 /v SkipBOSDescriptorQuery /t REG_DWORD /d 1 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\045E06560000 /v SkipBOSDescriptorQuery /t REG_DWORD /d 1 /f

Ardından, hata ayıklama kablosunu çıkarın ve yeniden takın.

Bağlantı, hata ayıklayıcı konsolu pencerelerindeki iletileri yeniden denenir ve hedefe girilemez - SkipPciProbeDebugDevice

KDNET hata ayıklayıcısı konsolunda aşağıdaki iletiyle karşılaşırsanız, hedefe bir giriş başlatamazsanız veya belirli komutlarla (kdfile'lar gibi) ilgili sorunlarla karşılaşırsanız, bunun nedeni KDNET'in sıra dışı ping paketi alması olabilir."

... Retry sending the same data packet for 128 times.

The transport connection between host kernel debugger and target Windows seems lost.
please try resync with target, recycle the host debugger, or reboot the target Windows.

bu sorun, pci.sys sürücüsünün hata ayıklama cihazını yanlış bir şekilde yokladığı için oluşabilir. Hataları ortadan kaldırmak için bir yönetici komut isteminde TARGET cihazında aşağıdaki kayıt defteri girdisini oluşturun.

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\SERVICES\kdnet /v SkipPciProbeDebugDevice /t REG_DWORD /d 1 /f

Ardından hedef makineyi yeniden başlatın.

shutdown /r /t 0

Cihaz yeniden başlatıldıktan sonra hatalar kaybolmalıdır ve komutlar beklendiği gibi çalışmalıdır.

Ayrıca bkz.

Çekirdek modunda hata ayıklamayı el ile ayarlama

Otomatik olarak KDNET Ağ Çekirdeği Hata Ayıklamasını Ayarlama

KDNET Ağ Çekirdeği Hata Ayıklama Ayarlarını Elle Yapılandırma

USB KDNET EEM Kernel-Mode Hata Ayıklama Kurulumu (KDNET-EEM-USB)

USB KDNET çekirdek modu hata ayıklamasını ayarlama (KDNET-USB)