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.