Sdílet prostřednictvím


Kontrola chyb pro ladění miniportu SCSI

V průběhu ladění ovladače miniportu SCSI existují především dvě kontroly chyb: kontrola chyb 0x77 (KERNEL_STACK_INPAGE_ERROR) a kontrola chyb 0x7A (KERNEL_DATA_INPAGE_ERROR). Úplné podrobnosti o jejich parametrech najdete v tématu Kontrola chyb 0x77 a kontrola chyb 0x7A.

Každá z těchto kontrol chyb označuje, že došlo k chybě stránkování. Tyto kontroly chyb mají tři hlavní příčiny:

  • Úplné resetování sběrnice kvůli vypršení časového limitu na konkrétním zařízení nebo žádné aktivitě adaptéru

  • Časový limit výběru

  • Chyby kontroleru

Pokud chcete zjistit přesnou příčinu selhání, začněte pomocí rozšíření !scsikd.classext , které zobrazuje informace o nedávno neúspěšných požadavcích, včetně stavu SRB, stavu SCSI a inteligentních dat požadavku.

kd> !scsikd.classext 816e96b0
Storage class device 816e96b0 with extension at 816e9768

Classpnp Internal Information at 817b4008

    Failed requests:

           Srb    Scsi
    Opcode Status Status Sense Code  Sector   Time  Stamp
    ------ ------ ------ ---------- -------- ------------
      2a     0a     02    03 0c 00  0000abcd 23:01:07.453  Retried
      28     0a     02    03 04 00  0000abcd 23:01:07.984  Retried

dt classpnp!_CLASS_PRIVATE_FDO_DATA 817b4008 -

...

V předchozím příkladu, opcode 0x2A označuje operaci zápisu a opcode 0x28 označuje operaci čtení. Stav SCSI v příkladu je 02, což označuje kontrolní podmínku. Kódy smyslů poskytují další informace o chybách.

Jako vždy zodpovídají vývojáři miniportů za přidružení kódů chyb z hardwaru ke stavovým kódům SRB. K SRB 0x0A jsou obvykle přidruženy časové limity; jedná se o kód časového limitu výběru. SRB 0x0e je obvykle přidružen k úplnému resetování sběrnice, ale může být také přidružen k chybám kontroleru.