How to debug Bsod 0x7B in scsi miniport during system boot ?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Konstantin S. (sinyuk_at_gmail.com)
Date: 11/08/04

  • Next message: Max Paklin: "Re: Confusion about AVStream Properties"
    Date: 7 Nov 2004 23:58:10 -0800
    
    

    Hello to All,

    I am developping scsi miniport driver for custom Flash under XP
    Embedded.
    When I boot from HDD the miniport successfully loads and windows
    mounts the Flash card (with compressed NTFS).

    When I boot from Flash card (I have BIOS int 13 support for Flash) I
    managed
    succesfully pass the miniport Init (DeviceEntry , FindAdapter,
    HardwareInitialize) and after a number of StartIO reads to sector 0
    and Read_Capacity I get BSOF 0x7B :
    i.e.
     *** Fatal System Error: 0x0000007b
                          (0xFC938640,0xC0000034,0x00000000,0x00000000)

    The devnode for device is created:

    DevNode 0x81288008 for PDO 0x8128b538
       InstancePath is "ROOT\FlashDrv\0000"
       ServiceName is "FlashDrv"
       State = DeviceNodeStarted (0x308)
       Previous State = DeviceNodeEnumerateCompletion (0x30d)
       DevNode 0x81288c98 for PDO 0x812881e0
         InstancePath is
    "SCSI\Disk&Ven_Compulab&Prod_Primary_Flash&Rev_1001\1&2c231adf&0&000"
         ServiceName is "disk"
         State = DeviceNodeStarted (0x308)
         Previous State = DeviceNodeEnumerateCompletion (0x30d)

    The BSOF comes from nt!IopMarkBootPartition.
    My flash partition is active and it boots with non miniport version of
    driver,
    so I conclude that the MBR and BootPartition is OK.

    I compared debug trace of HDD and Flash boot processes and found the
    match till the crash point .
    After the crash point the HDD version issued read sector 63 request.

    I don't know why the kernel can't read boot partition properly.
    And the only tool for debug that I have for now is this forum.

    What I chaecked:
    1) The Hardware layer Initialize and reads Flash card properly.
    2) The MBF is valid and the boot partition is marked as active.
    3) I cheked for a conflict with atapi.sys (booting without attached
    HDD or removing atapi.sys from the system)
    4) My ARC path is multi(0)disk(0)rdisk(0)partition(1) and it is the
    only one that works (not SCSI or signature).

    I stuck with this problem for a week and don't know what to do.
    There were a copuple of people at this forum that had the same problem
    , but they hadn't posted their solution .

    Any help or advice will be appreciated !

    Regards,
     Konstantin.


  • Next message: Max Paklin: "Re: Confusion about AVStream Properties"

    Relevant Pages

    • Re: about CF and Hard Disk
      ... You would have your HDD as primary, and your CF as slave (this is ... You can set the Boot path in there to boot from the ... it will boot normally from flash. ...
      (microsoft.public.windowsxp.embedded)
    • Re: More Thoughts on Green Arrays
      ... There is an SPI flash boot node, ... used, booting from flash, reading data from flash, using analog ...
      (comp.lang.forth)
    • Re: WinCE 5.0 RegFlush on Cold Boot
      ... the highest risk when using flash is full corruption due to power ... I know that this is not what is happening and I'm sure this registry flush ... at boot would not wear out a flash block for years. ... constantly it would still last a decade before you had a failure. ...
      (microsoft.public.windowsce.platbuilder)
    • Re: WinCE 5.0 RegFlush on Cold Boot
      ... There's no clean way to prevent the flush, ... I know that this is not what is happening and I'm sure this registry flush ... at boot would not wear out a flash block for years. ...
      (microsoft.public.windowsce.platbuilder)
    • system hangs trying to recover hive registry on a 100% full filesystem
      ... A Nand Flash block device driver. ... The Nand Flashdisk is loaded early in the boot process to be able to load ... Hive registry enabled on the Nand Flashdisk ...
      (microsoft.public.windowsce.platbuilder)