Anasayfa Makale DRIVER_PNP_WATCHDOG Mavi Ekran Hatası Nasıl Çözülür?

DRIVER_PNP_WATCHDOG Mavi Ekran Hatası Nasıl Çözülür?

DRIVER_PNP_WATCHDOG mavi ekran hatası nasıl çözülür?
DRIVER_PNP_WATCHDOG çözümü

Daha önce DRIVER_POWER_STATE_FAILURE mavi ekran hatasının nasıl çözüneceğine bakmıştık. Bu rehberde daha da detaya inip DRIVER_PNP_WATCHDOG mavi ekran hatasını çözeceğiz.

İlk olarak bu mavi ekran hata kodu, bir sürücünün belirli bir süre içinde bir PnP işlemini tamamlayamadığını gösterir. Soruna sebep olan sürücüyü tespit etmek için de Minidump dosyasına ihtiyacımız var. Bu dosyaları analiz etmek için WinDbg Preview adlı yazılımdan faydalanacağız. Eğer minidump dosyasını açarken erişim izni sorunu yaşıyorsanız dosya sahipliğini almanız gerekmekte. Bunu da belirtmemizde fayda var.

Her şeyden önce, daha önceki rehberlerimizde de anlattığımız gibi dosyayı analiz etmeye !analyze -v komutuyla başlıyoruz. Komut sonrası çıktıda bizi DRIVER_PNP_WATCHDOG başlığı ve diğer detaylar karşılıyor.

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

DRIVER_PNP_WATCHDOG (1d5)
A driver has failed to complete a Pnp operation within a specific time.
Arguments:
Arg1: 0000006900630070, First few character of the service associated with the devnode.
Arg2: ffffd80a692fb710, Pointer to the nt!TRIAGE_PNP_WATCHDOG on Win10 RS4 and higher.
Arg3: ffffc807e0470140, Thread responsible for the Pnp Watchdog.
Arg4: 0000000000057e4c, Milliseconds elapsed since the watchdog was armed.

Debugging Details:
------------------

Implicit thread is now ffffc807`e0470140
*** WARNING: Unable to verify timestamp for win32k.sys

KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.mSec
    Value: 9578

    Key  : Analysis.DebugAnalysisManager
    Value: Create

    Key  : Analysis.Elapsed.mSec
    Value: 17212

    Key  : Analysis.Init.CPU.mSec
    Value: 952

    Key  : Analysis.Init.Elapsed.mSec
    Value: 3554

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 79

    Key  : WER.OS.Branch
    Value: co_release

    Key  : WER.OS.Timestamp
    Value: 2021-06-04T16:28:00Z

    Key  : WER.OS.Version
    Value: 10.0.22000.1


FILE_IN_CAB:  setupmem.dmp

BUGCHECK_CODE:  1d5

BUGCHECK_P1: 6900630070

BUGCHECK_P2: ffffd80a692fb710

BUGCHECK_P3: ffffc807e0470140

BUGCHECK_P4: 57e4c

FAULTING_THREAD:  ffffc807e0470140

BLACKBOXBSD: 1 (!blackboxbsd)


BLACKBOXNTFS: 1 (!blackboxntfs)


BLACKBOXPNP: 1 (!blackboxpnp)


BLACKBOXWINLOGON: 1

PROCESS_NAME:  System

LOCK_ADDRESS:  fffff8020e445f20 -- (!locks fffff8020e445f20)

Resource @ nt!PiEngineLock (0xfffff8020e445f20)    Exclusively owned
    Contention Count = 46
    NumberOfExclusiveWaiters = 2
     Threads: ffffc807e0470140-01<*> 

     Threads Waiting On Exclusive Access:
              ffffc807e03ba080       ffffc807f100b0c0       
1 total locks

PNP_TRIAGE_DATA: 
	Lock address  : 0xfffff8020e445f20
	Thread Count  : 1
	Thread address: 0xffffc807e0470140
	Thread wait   : 0x5f89

STACK_TEXT:  
ffffd80a`693e21a0 fffff802`0da5dc17     : fffff802`00000000 00000000`00000000 00000000`00000600 ffffc807`df010000 : nt!KiSwapContext+0x76
ffffd80a`693e22e0 fffff802`0da5fac9     : ffffc807`00000000 00000000`0000001e ffffd80a`693e24f8 00000000`00000000 : nt!KiSwapThread+0x3a7
ffffd80a`693e23c0 fffff802`0da8a9e1     : 00000000`00000000 fffff802`00000000 00000000`0000006a 00000000`f5a9df12 : nt!KiCommitThreadWait+0x159
ffffd80a`693e2460 fffff802`0de8b449     : ffffdc00`aabdbda0 ffffdc00`00000000 ffffdc00`aabdbda0 ffffdc00`aa9885a0 : nt!KeWaitForMultipleObjects+0x2b1
ffffd80a`693e2560 fffff802`0dfd90b8     : 00000000`00000000 ffffdc00`aa988500 00000000`00000000 ffffffff`ee1e5d00 : nt!PiUEventNotifyUserMode+0x285
ffffd80a`693e25f0 fffff802`0e15c746     : ffffdc00`aadfbd20 ffffdc00`aa9885a0 ffffdc00`aadfbd20 ffffd80a`693e28c8 : nt!PnpNotifyUserModeDeviceRemoval+0xc4
ffffd80a`693e2800 fffff802`0e0ef3a4     : 00000000`00000000 00000000`00000000 ffffd80a`693e28e9 00000000`00000000 : nt!PiProcessQueryAndCancelRemoval+0x15a
ffffd80a`693e2870 fffff802`0dfd73e5     : ffffd80a`693e29b0 ffffc807`e3f2d800 ffffc807`ee702900 ffffdc00`0000002d : nt!PnpProcessQueryRemoveAndEject+0x119ddc
ffffd80a`693e2950 fffff802`0de662b5     : ffffdc00`a9ddc9c0 ffffdc00`aacaa990 ffffc807`e02abc00 00000000`00000000 : nt!PnpProcessTargetDeviceEvent+0x109
ffffd80a`693e2980 fffff802`0da48aaf     : ffffc807`e02abcd0 ffffc807`e0470140 ffffc807`ee7029d0 fffff802`00000000 : nt!PnpDeviceEventWorker+0x2c5
ffffd80a`693e2a00 fffff802`0db5b615     : ffffc807`e0470140 ffffb701`8c520000 ffffc807`e0470140 00000000`00000000 : nt!ExpWorkerThread+0x14f
ffffd80a`693e2bf0 fffff802`0dc16c24     : ffffb701`8c510180 ffffc807`e0470140 fffff802`0db5b5c0 00000000`00000000 : nt!PspSystemThreadStartup+0x55
ffffd80a`693e2c40 00000000`00000000     : ffffd80a`693e3000 ffffd80a`693dd000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x34


STACK_COMMAND:  .thread 0xffffc807e0470140 ; kb

SYMBOL_NAME:  nt!KiSwapContext+76

MODULE_NAME: nt

IMAGE_NAME:  ntkrnlmp.exe

IMAGE_VERSION:  10.0.22000.176

BUCKET_ID_FUNC_OFFSET:  76

FAILURE_BUCKET_ID:  0x1D5_nt!KiSwapContext

OS_VERSION:  10.0.22000.1

BUILDLAB_STR:  co_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {3ada5172-33ef-c5a1-2a56-a080946d38c5}

Followup:     MachineOwner
---------

lm komutu nedir?

Ardından her zaman yaptığımız gibi komut kısmına lm yazıyoruz. Kısaca tanımlamak gerekirse, lm komutu tüm modülleri ve her modül için sembollerin durumunu listeler. Burada komut, yüklenen modüller ve yüklenmeyen modüller olarak iki liste halinde sonuç sunar. Yüklenmeyen modüller her zaman olmamakla beraber çoğu zaman sorunun kaynağını bize sunar.

Aşağıda lm komutunun yüklenmeyen modüllerin çıktısı yer almakta ve burada normalde görünenin dışında birkaç SYS dosyası bulunmakta.

Unloaded modules:
fffff802`0ad70000 fffff802`0ae88000   aqnic650.sys
fffff802`1f940000 fffff802`1f96d000   HDAudBus.sys
fffff802`1f970000 fffff802`1f9e2000   portcls.sys
fffff802`1f9f0000 fffff802`1fa12000   drmk.sys
fffff802`135f0000 fffff802`13622000   storahci.sys
fffff802`1fad0000 fffff802`1fae2000   kbdhid.sys
fffff802`1fb10000 fffff802`1fb21000   mouhid.sys
fffff802`0a920000 fffff802`0a92c000   AMDPCIDev.sy
fffff802`0aeb0000 fffff802`0afcd000   e3xw10x64.sy
fffff802`0b280000 fffff802`0b296000   ipt.sys 
fffff802`205d0000 fffff802`205df000   dump_storpor
fffff802`1f640000 fffff802`1f675000   dump_stornvm
fffff802`1f6a0000 fffff802`1f6be000   dump_dumpfve
fffff802`1fa30000 fffff802`1fa3d000   amdgpio2.sys
fffff802`1fa40000 fffff802`1fa72000   msgpioclx.sy
fffff802`20500000 fffff802`2051f000   dam.sys 
fffff802`20520000 fffff802`2052f000   KMPDC.sys
fffff802`203d0000 fffff802`20465000   csc.sys 
fffff802`11de0000 fffff802`11df2000   WdBoot.sys
fffff802`14860000 fffff802`14872000   hwpolicy.sys

Burada yer alan SYS dosyalarını internette araştırdığımızda Wi-Fi modülüne ilişkin bir sonuç çıktı zira aqnic650.sys ve e3xw10x64.sys dosyaları ağ sürücüsüne ait. Bu tarz bilgileri de SYS dosya adını internette araştırarak edinebilirsiniz. Şimdilik şüphelimiz ağ sürücüsü fakat emin olmak adına analize devam edelim.

Görüldüğü üzere minidumpta çok da detay sunulmamakta. O halde Microsoft’un Bug Check 0x1D5: DRIVER_PNP_WATCHDOG makalesine bir göz atalım zira bu bizim aldığımız mavi ekran hatasıyla alakalı detaylı bilgi edinebileceğimiz bir makale.

Makalede cause yani neden kısmında bize detaylı çözüm yoluyla alakalı bilgi sunulmakta. Buna göre makalede yer alan neden kısmına bir göz atalım. Burada bize “Bu, bir sürücünün belirli bir süre içinde bir PnP işlemini tamamlayamadığını gösterir.” denmekte.

PnP (Plug and Play) nedir?

Kısaca PnP’den bahsetmek gerekirse; Plug and Play’in kısaltmasıdır, Tak ve Çalıştır anlamına gelmektedir. Windows’un donanım değişikliklerine uyum sağlamasını sağlayan bir yapı olarak da tanımlayabiliriz. Örneğin bir kullanıcı takacağı bir USB fareyi el ile yapılandırmadan Windows’un gerekli kurulumlarını yapmasını bekledikten sonra fareyi kullanabilir.

Microsoft bize burada PnP işleminin tamamlanamadığını belirttiğinden biz de hatanın kaynağı olan PnP aygıtını !blackbox pnp komutuyla bulacağız.

!blackbox pnp komutu nedir?

Bu komut, bir minidump dosyasının oluşturulması sırasında yakalanabilecek PnP cihazları hakkında bilgileri görüntüler. Genellikle hatanın kaynağı konusunda fikir sahibi olmamızı sağlar. Aşağıda az önce analiz ettiğimiz minidump dosyasının !blackbox pnp çıktısı yer almakta.

    PnpActivityId      : {00000000-0000-0000-0000-000000000000}
    PnpActivityTime    : 132774097103997317
    PnpEventInformation: 0
    PnpEventInProgress : 1
    PnpProblemCode     : 21
    PnpVetoType        : 0
    DeviceId           : PCI\VEN_1022&DEV_1483&SUBSYS_7C341462&REV_00\3&11583659&0&0A
    VetoString         :

Gördüğünüz üzere DeviceId kısmında bir donanım kimliği yazmakta. Bu donanım kimliğinin internette yaptığımız araştırmalar sonucu yonga seti kontrolünde olan bir PCI aygıtına işaret ettiğini görmekteyiz. Yani PCI arayüzünü kullanan bir aygıt bu hatanın nedeni.

Şimdi burada doğrudan kablosuz ağ kartını tespit edemiyoruz fakat HWInfo ile baktığımızda ağ kartının bu PCIe kontrolcüsüne bağlı olduğunu görebiliyoruz.

HWInfo Donanım Kimliği
HWInfo ile hangi donanımın hangi PCIe kontrolcüye bağlı olduğunu tespit edebilirsiniz.

Ayrıca çıktıda gördüğünüz üzere PnpProblemCode: 21 yazıyor. Bu kodların tanımlarına Microsoft’un Aygıt Yöneticisi hata mesajları makalesinde detaylı şekilde erişebilirsiniz. Bizim kodumuza göre gerekli makaleye girdikten sonra tavsiye edilen çözüm yolu olarak sistemi yeniden başlatmamızı tavsiye etmiş Microsoft. Tabii ki sistemi yeniden başlatmak sorunu çözmek için yeterli olmadı.

Çözüm

Wi-Fi kartını devre dışı bıraktıktan sonra hem Windows güncellemesi sorunsuz çalışıyor hem de macOS altındaki kilitlenme sorunları ortadan kalkıyor. Zaten lm komutunda bulduğumuz detaylar bizi bu düşünceye sürüklemişti fakat donanım kimliğiyle sorunun kaynağını daha iyi tespit etmiş bulunmaktayız.

Bir sorun daha böylelikle çözüme kavuşmuş bulunmakta. Bir sorununuz olursa Technopat Sosyal’de Mavi Ekran Hata Analizi kategorisinde siz de kendi konunuzu oluşturabilir ve üyelerimizden teknik destek alabilirsiniz. Sorunsuz günler dileriz.