Hi,

I'm trying to add a HDD to a CEPC image. I've followed all the step-by-step
instructions and scoured the documentation for anything I might have missed,
to no avail. My bios detects the hard drive correctly, but in the kernel
debugger, when CE tries to initialize the drive, it complains that "device
busy" and then "failed to initialize device." My working hypothesis is that
CE can't deal with the ide controller, which is an intel 82801DB (deviceId
0x24CB). I haven't been able to find CE drivers for the Intel chipset on our
SBC. Intel cryptically says "PIO" on their driver matrix for this chipset,
but changing the transfer mode hasn't made any difference.

If anyone has some insight into this problem, I would greatly appreciate the
help. Here's the debug log:

>>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at 0x01FD7000-0x01FD7608)
ATAPI DLL_PROCESS_ATTACH
ATAPI:PCIConfig!DeviceConfig+(0)
ATAPI:PCIConfig!ConfigRsrc+(Bus 0, Device 31, Function 1)
ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x10, Type I/O, Size 0x8
ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x14, Type I/O, Size 0x4
ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x18, Type I/O, Size 0x8
ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x1c, Type I/O, Size 0x4
ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x20, Type I/O, Size 0x10
ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x24, Type Memory, Size 0x400
ATAPI:PCIConfig!ConfigRsrc-
Warning: No Match template is found for following PCI Device
-------------------------------------------------------------------------------
Bus/Device/Function = 0/31/3, Unknown Device Type
VendorID = 0x8086, DeviceID = 0x24C3, Command = 0x0001, Status = 0x0280
RevisionID = 0x02, ProgIf = 0x00, SubClass = 0x05, BaseClass = 0x0C
CacheLineSize = 0x00, LatencyTimer = 0x00, HeaderType = 0x00, BIST = 0x00
BaseAddresses:
0x00000000 0x00000000 0x00000000 0x00000000 0x00000501 0x00000000
CIS = 0x00000000, SubVendorID = 0x8086, SubSystemID = 0x24C2
ROMBaseAddress = 0x00000000
InterruptLine = 0x0A, InterruptPin = 0x02, MinGrant = 0x00, MaxLatency =
0x00
-------------------------------------------------------------------------------
PCIBUS!PCICfgCheckBARs: WARNING: No matching registry key was found for
placed device 0/31/3.
PCIBUS!PCICfgCheckBARs: Problems can result if the device is being
used while configuring PCIbus.
PCIBUS!PCICfgAllocMemSpace: Failed to place Device resource: Bus 0, Device
0, Function 0
ATAPI:PCIConfig!DeviceConfig+(1)
PCIBUS!PCICfgAllocIoSpace: Failed to place Bridge resource: Bus 0, Device
30, Function 0
PCIBUS!PCICfgAllocIoSpace: Failed to place Device resource: Bus 0, Device
31, Function 3
ATAPI:PCIConfig!DeviceConfig+(1)
ATAPI:PCIConfig!DeviceConfig+(1)
ATAPI:PCIConfig!DeviceConfig+(1)
ATAPI:PCIConfig!DeviceConfig+(1)
ATAPI:PCIConfig!DeviceConfig+(1)
ATAPI DLL_PROCESS_DETACH
<<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at
0x01FD7000-0x01FD7608)
EPC_X86_DEBUG\ATAPI.DLL'
>>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at 0x01FD7000-0x01FD7608)
C_X86_DEBUG\ATAPI.DLL'
ATAPI DLL_PROCESS_ATTACH
ATAPI:PCIConfig!DeviceConfig+(2)
ATAPI:PCIConfig!ConfigSize+(Bus 0, Device 31, Function 1)
ATAPI:PCIConfig!ConfigSize-
ATAPI DLL_PROCESS_DETACH
<<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at
0x01FD7000-0x01FD7608)
EPC_X86_DEBUG\ATAPI.DLL'
>>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at 0x01FD7000-0x01FD7608)
C_X86_DEBUG\ATAPI.DLL'
ATAPI DLL_PROCESS_ATTACH
ATAPI:PCIConfig!DeviceConfig+(3)
ATAPI DLL_PROCESS_DETACH
<<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at
0x01FD7000-0x01FD7608)
EPC_X86_DEBUG\ATAPI.DLL'
DEVICE!RegReadActivationValues
RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\BusPrefix) returned 2
>>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at 0x01FD7000-0x01FD7608)
C_X86_DEBUG\ATAPI.DLL'
ATAPI DLL_PROCESS_ATTACH
Atapi!DumpRegKey> Drivers\Active\4294967293
Hnd = 00051600
Name = IDE1:
Key = Drivers\BuiltIn\PCI\Instance\ALI14531
BusParent = 0004C540
InterfaceType = 00000005
BusName = PCI_0_31_1
Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531
IoLen :
8
4
8
4
10
IoBase :
a030
a040
a038
a044
a020
MemLen = 00000400
MemBase = 80000000
FunctionNumber = 00000001
DeviceNumber = 0000001F
BusNumber = 00000000
InterfaceType = 00000005
SubSystemID = 000024C2
SubVendorID = 00008086
RevisionID = 00000002
DeviceID = 000024CB
VendorID = 00008086
ProgIF = 0000008A
RegisterStride = 00000001
StatusPollCyclePause = 00000005
StatusPollsPerCycle = 00000020
StatusPollCycles = 00000100
SoftResetTimeout = 00000003
DMAAlignment = 00000004
SysIntr = 00000000
Irq = 0000000E
Legacy = 00000001
ConfigEntry = GenericConfig
SubClass = 00000001
Class = 00000001
Order = 00000002
Dll = atapi.dll
Prefix = IDE
IClass :
{CDDC3621-3512-4b3f-BB6F-B4DD5E061795}
SpawnFunction = CreatePCIHDCD
InstanceIndex = 00000001
Atapi!IDE_Init> Start of IDE/ATA device enumeration
Atapi!IDE_Init> Enumerated IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
Atapi!IDE_Init> Enumerated IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
Atapi!IDE_Init> Enumerated IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
Atapi!IDE_Init> Enumerated IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
Atapi!IDE_Init> End of IDE/ATA device enumeration
Atapi!IDE_Init> Activating IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
DEVICE!RegReadActivationValues
RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device0\BusPrefix)
returned 2
Atapi!DumpRegKey> Drivers\Active\4294967294
Hnd = 00051EF0
Name = DSK1:
Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
Port = 00051820
TransferMode = 000000FF
DeviceId = 00000000
LookAhead = 00000001
WriteCache = 00000001
DrqDataBlockSize = 00000200
DoubleBufferSize = 00010000
DMA = 00000002
InterruptDriven = 00000001
Dll = atapi.dll
Prefix = DSK
IClass :
{A4E7EDDA-E575-4252-9D6B-4195D48BB865}
Atapi!CPCIDisk::CPCIDisk> device count(1)
Atapi!CDisk::ResetController> Device is busy; 3 seconds remaining
Atapi!CDisk::ResetController> Device is busy; 2 seconds remaining
Atapi!CDisk::ResetController> Device is busy; 1 seconds remaining
Atapi!CDisk::ResetController> Timeout
Atapi!CDisk::Init> Failed to initialize device
Atapi!CPCIDisk::~CPCIDisk> device count(0)
DEVICE!LaunchDevice: Init() failed for device 0x00051ef0
DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
atapi.dll, context 0x802d030
Atapi!IDE_Init> Activating IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
DEVICE!RegReadActivationValues
RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device1\BusPrefix)
returned 2
Atapi!DumpRegKey> Drivers\Active\00
Hnd = 00052160
Name = DSK1:
Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
Port = 00051820
TransferMode = 000000FF
DeviceId = 00000001
LookAhead = 00000001
WriteCache = 00000001
DrqDataBlockSize = 00000200
DoubleBufferSize = 00010000
DMA = 00000002
InterruptDriven = 00000001
Dll = atapi.dll
Prefix = DSK
IClass :
{A4E7EDDA-E575-4252-9D6B-4195D48BB865}
Atapi!CPCIDisk::CPCIDisk> device count(1)
Atapi!CDisk::IsDevicePresent> Device 1 is not present; Error register(0xff)
Atapi!CDisk::InitController> Device did not respond to identify
Atapi!CDisk::Init> Failed to initialize device
Atapi!CPCIDisk::~CPCIDisk> device count(0)
DEVICE!LaunchDevice: Init() failed for device 0x00052160
DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
atapi.dll, context 0x802d030
Atapi!IDE_Init> Activating IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
DEVICE!RegReadActivationValues
RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device2\BusPrefix)
returned 2
Atapi!DumpRegKey> Drivers\Active\01
Hnd = 000523D0
Name = DSK1:
Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
Port = 00051890
DeviceId = 00000000
TransferMode = 000000FF
LookAhead = 00000001
WriteCache = 00000001
DrqDataBlockSize = 00000200
DoubleBufferSize = 00010000
DMA = 00000002
InterruptDriven = 00000001
Dll = atapi.dll
Prefix = DSK
IClass :
{A4E7EDDA-E575-4252-9D6B-4195D48BB865}
Atapi!CPCIDisk::CPCIDisk> device count(1)
Atapi!CDisk::ResetController> Device is busy; 3 seconds remaining
Atapi!CDisk::ResetController> Device is busy; 2 seconds remaining
Atapi!CDisk::ResetController> Device is busy; 1 seconds remaining
Atapi!CDisk::ResetController> Timeout
Atapi!CDisk::Init> Failed to initialize device
Atapi!CPCIDisk::~CPCIDisk> device count(0)
DEVICE!LaunchDevice: Init() failed for device 0x000523d0
DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
atapi.dll, context 0x802d030
Atapi!IDE_Init> Activating IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
DEVICE!RegReadActivationValues
RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device3\BusPrefix)
returned 2
Atapi!DumpRegKey> Drivers\Active\02
Hnd = 00052640
Name = DSK1:
Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
Port = 00051890
DeviceId = 00000001
TransferMode = 000000FF
LookAhead = 00000001
WriteCache = 00000001
DrqDataBlockSize = 00000200
DoubleBufferSize = 00010000
DMA = 00000002
InterruptDriven = 00000001
Dll = atapi.dll
Prefix = DSK
IClass :
{A4E7EDDA-E575-4252-9D6B-4195D48BB865}
Atapi!CPCIDisk::CPCIDisk> device count(1)
Atapi!CDisk::IsDevicePresent> Device 1 is not present; Error register(0xff)
Atapi!CDisk::InitController> Device did not respond to identify
Atapi!CDisk::Init> Failed to initialize device
Atapi!CPCIDisk::~CPCIDisk> device count(0)
DEVICE!LaunchDevice: Init() failed for device 0x00052640
DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
atapi.dll, context 0x802d030

RE: Hard drive does not init by Mike

Mike
Wed Jun 14 06:31:02 CDT 2006

I am not an expert in Win CE .Any Try this.

In the diskmain.cpp increase the sleep time from 5 secs to 25 ( any value
more than 5).This files found in ATAPI driver


"rjameson" wrote:

> Hi,
>
> I'm trying to add a HDD to a CEPC image. I've followed all the step-by-step
> instructions and scoured the documentation for anything I might have missed,
> to no avail. My bios detects the hard drive correctly, but in the kernel
> debugger, when CE tries to initialize the drive, it complains that "device
> busy" and then "failed to initialize device." My working hypothesis is that
> CE can't deal with the ide controller, which is an intel 82801DB (deviceId
> 0x24CB). I haven't been able to find CE drivers for the Intel chipset on our
> SBC. Intel cryptically says "PIO" on their driver matrix for this chipset,
> but changing the transfer mode hasn't made any difference.
>
> If anyone has some insight into this problem, I would greatly appreciate the
> help. Here's the debug log:
>
> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at 0x01FD7000-0x01FD7608)
> ATAPI DLL_PROCESS_ATTACH
> ATAPI:PCIConfig!DeviceConfig+(0)
> ATAPI:PCIConfig!ConfigRsrc+(Bus 0, Device 31, Function 1)
> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x10, Type I/O, Size 0x8
> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x14, Type I/O, Size 0x4
> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x18, Type I/O, Size 0x8
> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x1c, Type I/O, Size 0x4
> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x20, Type I/O, Size 0x10
> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x24, Type Memory, Size 0x400
> ATAPI:PCIConfig!ConfigRsrc-
> Warning: No Match template is found for following PCI Device
> -------------------------------------------------------------------------------
> Bus/Device/Function = 0/31/3, Unknown Device Type
> VendorID = 0x8086, DeviceID = 0x24C3, Command = 0x0001, Status = 0x0280
> RevisionID = 0x02, ProgIf = 0x00, SubClass = 0x05, BaseClass = 0x0C
> CacheLineSize = 0x00, LatencyTimer = 0x00, HeaderType = 0x00, BIST = 0x00
> BaseAddresses:
> 0x00000000 0x00000000 0x00000000 0x00000000 0x00000501 0x00000000
> CIS = 0x00000000, SubVendorID = 0x8086, SubSystemID = 0x24C2
> ROMBaseAddress = 0x00000000
> InterruptLine = 0x0A, InterruptPin = 0x02, MinGrant = 0x00, MaxLatency =
> 0x00
> -------------------------------------------------------------------------------
> PCIBUS!PCICfgCheckBARs: WARNING: No matching registry key was found for
> placed device 0/31/3.
> PCIBUS!PCICfgCheckBARs: Problems can result if the device is being
> used while configuring PCIbus.
> PCIBUS!PCICfgAllocMemSpace: Failed to place Device resource: Bus 0, Device
> 0, Function 0
> ATAPI:PCIConfig!DeviceConfig+(1)
> PCIBUS!PCICfgAllocIoSpace: Failed to place Bridge resource: Bus 0, Device
> 30, Function 0
> PCIBUS!PCICfgAllocIoSpace: Failed to place Device resource: Bus 0, Device
> 31, Function 3
> ATAPI:PCIConfig!DeviceConfig+(1)
> ATAPI:PCIConfig!DeviceConfig+(1)
> ATAPI:PCIConfig!DeviceConfig+(1)
> ATAPI:PCIConfig!DeviceConfig+(1)
> ATAPI:PCIConfig!DeviceConfig+(1)
> ATAPI DLL_PROCESS_DETACH
> <<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at
> 0x01FD7000-0x01FD7608)
> EPC_X86_DEBUG\ATAPI.DLL'
> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at 0x01FD7000-0x01FD7608)
> C_X86_DEBUG\ATAPI.DLL'
> ATAPI DLL_PROCESS_ATTACH
> ATAPI:PCIConfig!DeviceConfig+(2)
> ATAPI:PCIConfig!ConfigSize+(Bus 0, Device 31, Function 1)
> ATAPI:PCIConfig!ConfigSize-
> ATAPI DLL_PROCESS_DETACH
> <<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at
> 0x01FD7000-0x01FD7608)
> EPC_X86_DEBUG\ATAPI.DLL'
> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at 0x01FD7000-0x01FD7608)
> C_X86_DEBUG\ATAPI.DLL'
> ATAPI DLL_PROCESS_ATTACH
> ATAPI:PCIConfig!DeviceConfig+(3)
> ATAPI DLL_PROCESS_DETACH
> <<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at
> 0x01FD7000-0x01FD7608)
> EPC_X86_DEBUG\ATAPI.DLL'
> DEVICE!RegReadActivationValues
> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\BusPrefix) returned 2
> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at 0x01FD7000-0x01FD7608)
> C_X86_DEBUG\ATAPI.DLL'
> ATAPI DLL_PROCESS_ATTACH
> Atapi!DumpRegKey> Drivers\Active\4294967293
> Hnd = 00051600
> Name = IDE1:
> Key = Drivers\BuiltIn\PCI\Instance\ALI14531
> BusParent = 0004C540
> InterfaceType = 00000005
> BusName = PCI_0_31_1
> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531
> IoLen :
> 8
> 4
> 8
> 4
> 10
> IoBase :
> a030
> a040
> a038
> a044
> a020
> MemLen = 00000400
> MemBase = 80000000
> FunctionNumber = 00000001
> DeviceNumber = 0000001F
> BusNumber = 00000000
> InterfaceType = 00000005
> SubSystemID = 000024C2
> SubVendorID = 00008086
> RevisionID = 00000002
> DeviceID = 000024CB
> VendorID = 00008086
> ProgIF = 0000008A
> RegisterStride = 00000001
> StatusPollCyclePause = 00000005
> StatusPollsPerCycle = 00000020
> StatusPollCycles = 00000100
> SoftResetTimeout = 00000003
> DMAAlignment = 00000004
> SysIntr = 00000000
> Irq = 0000000E
> Legacy = 00000001
> ConfigEntry = GenericConfig
> SubClass = 00000001
> Class = 00000001
> Order = 00000002
> Dll = atapi.dll
> Prefix = IDE
> IClass :
> {CDDC3621-3512-4b3f-BB6F-B4DD5E061795}
> SpawnFunction = CreatePCIHDCD
> InstanceIndex = 00000001
> Atapi!IDE_Init> Start of IDE/ATA device enumeration
> Atapi!IDE_Init> Enumerated IDE/ATA device
> Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
> Atapi!IDE_Init> Enumerated IDE/ATA device
> Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
> Atapi!IDE_Init> Enumerated IDE/ATA device
> Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
> Atapi!IDE_Init> Enumerated IDE/ATA device
> Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
> Atapi!IDE_Init> End of IDE/ATA device enumeration
> Atapi!IDE_Init> Activating IDE/ATA device
> Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
> DEVICE!RegReadActivationValues
> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device0\BusPrefix)
> returned 2
> Atapi!DumpRegKey> Drivers\Active\4294967294
> Hnd = 00051EF0
> Name = DSK1:
> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
> Port = 00051820
> TransferMode = 000000FF
> DeviceId = 00000000
> LookAhead = 00000001
> WriteCache = 00000001
> DrqDataBlockSize = 00000200
> DoubleBufferSize = 00010000
> DMA = 00000002
> InterruptDriven = 00000001
> Dll = atapi.dll
> Prefix = DSK
> IClass :
> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
> Atapi!CPCIDisk::CPCIDisk> device count(1)
> Atapi!CDisk::ResetController> Device is busy; 3 seconds remaining
> Atapi!CDisk::ResetController> Device is busy; 2 seconds remaining
> Atapi!CDisk::ResetController> Device is busy; 1 seconds remaining
> Atapi!CDisk::ResetController> Timeout
> Atapi!CDisk::Init> Failed to initialize device
> Atapi!CPCIDisk::~CPCIDisk> device count(0)
> DEVICE!LaunchDevice: Init() failed for device 0x00051ef0
> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
> atapi.dll, context 0x802d030
> Atapi!IDE_Init> Activating IDE/ATA device
> Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
> DEVICE!RegReadActivationValues
> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device1\BusPrefix)
> returned 2
> Atapi!DumpRegKey> Drivers\Active\00
> Hnd = 00052160
> Name = DSK1:
> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
> Port = 00051820
> TransferMode = 000000FF
> DeviceId = 00000001
> LookAhead = 00000001
> WriteCache = 00000001
> DrqDataBlockSize = 00000200
> DoubleBufferSize = 00010000
> DMA = 00000002
> InterruptDriven = 00000001
> Dll = atapi.dll
> Prefix = DSK
> IClass :
> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
> Atapi!CPCIDisk::CPCIDisk> device count(1)
> Atapi!CDisk::IsDevicePresent> Device 1 is not present; Error register(0xff)
> Atapi!CDisk::InitController> Device did not respond to identify
> Atapi!CDisk::Init> Failed to initialize device
> Atapi!CPCIDisk::~CPCIDisk> device count(0)
> DEVICE!LaunchDevice: Init() failed for device 0x00052160
> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
> atapi.dll, context 0x802d030
> Atapi!IDE_Init> Activating IDE/ATA device
> Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
> DEVICE!RegReadActivationValues
> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device2\BusPrefix)
> returned 2
> Atapi!DumpRegKey> Drivers\Active\01
> Hnd = 000523D0
> Name = DSK1:
> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
> Port = 00051890
> DeviceId = 00000000
> TransferMode = 000000FF
> LookAhead = 00000001
> WriteCache = 00000001
> DrqDataBlockSize = 00000200
> DoubleBufferSize = 00010000
> DMA = 00000002
> InterruptDriven = 00000001
> Dll = atapi.dll
> Prefix = DSK
> IClass :
> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
> Atapi!CPCIDisk::CPCIDisk> device count(1)
> Atapi!CDisk::ResetController> Device is busy; 3 seconds remaining
> Atapi!CDisk::ResetController> Device is busy; 2 seconds remaining
> Atapi!CDisk::ResetController> Device is busy; 1 seconds remaining
> Atapi!CDisk::ResetController> Timeout
> Atapi!CDisk::Init> Failed to initialize device
> Atapi!CPCIDisk::~CPCIDisk> device count(0)
> DEVICE!LaunchDevice: Init() failed for device 0x000523d0
> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
> atapi.dll, context 0x802d030
> Atapi!IDE_Init> Activating IDE/ATA device
> Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
> DEVICE!RegReadActivationValues
> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device3\BusPrefix)
> returned 2
> Atapi!DumpRegKey> Drivers\Active\02
> Hnd = 00052640
> Name = DSK1:
> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
> Port = 00051890
> DeviceId = 00000001
> TransferMode = 000000FF
> LookAhead = 00000001
> WriteCache = 00000001
> DrqDataBlockSize = 00000200
> DoubleBufferSize = 00010000
> DMA = 00000002
> InterruptDriven = 00000001
> Dll = atapi.dll
> Prefix = DSK
> IClass :
> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
> Atapi!CPCIDisk::CPCIDisk> device count(1)
> Atapi!CDisk::IsDevicePresent> Device 1 is not present; Error register(0xff)
> Atapi!CDisk::InitController> Device did not respond to identify
> Atapi!CDisk::Init> Failed to initialize device
> Atapi!CPCIDisk::~CPCIDisk> device count(0)
> DEVICE!LaunchDevice: Init() failed for device 0x00052640
> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
> atapi.dll, context 0x802d030
>

Re: Hard drive does not init by Bruce

Bruce
Wed Jun 14 07:37:17 CDT 2006

If I understand you, you might be better to change the load order of the
drivers. It sounds like a bad way to wait for another driver to load, there
may be better ways.

Certainly your suggestion may be a way to debug the problem.

--
Bruce Eitman (eMVP)
Senior Engineer
beitman AT applieddata DOT net

Applied Data Systems
www.applieddata.net
An ISO 9001:2000 Registered Company
Microsoft WEP Gold-level Member

"Mike" <Mike@discussions.microsoft.com> wrote in message
news:7964311C-4993-4C94-B3D6-64E6AED01CA7@microsoft.com...
>I am not an expert in Win CE .Any Try this.
>
> In the diskmain.cpp increase the sleep time from 5 secs to 25 ( any value
> more than 5).This files found in ATAPI driver
>
>
> "rjameson" wrote:
>
>> Hi,
>>
>> I'm trying to add a HDD to a CEPC image. I've followed all the
>> step-by-step
>> instructions and scoured the documentation for anything I might have
>> missed,
>> to no avail. My bios detects the hard drive correctly, but in the kernel
>> debugger, when CE tries to initialize the drive, it complains that
>> "device
>> busy" and then "failed to initialize device." My working hypothesis is
>> that
>> CE can't deal with the ide controller, which is an intel 82801DB
>> (deviceId
>> 0x24CB). I haven't been able to find CE drivers for the Intel chipset on
>> our
>> SBC. Intel cryptically says "PIO" on their driver matrix for this
>> chipset,
>> but changing the transfer mode hasn't made any difference.
>>
>> If anyone has some insight into this problem, I would greatly appreciate
>> the
>> help. Here's the debug log:
>>
>> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at
>> >>> 0x01FD7000-0x01FD7608)
>> ATAPI DLL_PROCESS_ATTACH
>> ATAPI:PCIConfig!DeviceConfig+(0)
>> ATAPI:PCIConfig!ConfigRsrc+(Bus 0, Device 31, Function 1)
>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x10, Type I/O, Size 0x8
>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x14, Type I/O, Size 0x4
>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x18, Type I/O, Size 0x8
>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x1c, Type I/O, Size 0x4
>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x20, Type I/O, Size 0x10
>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x24, Type Memory, Size
>> 0x400
>> ATAPI:PCIConfig!ConfigRsrc-
>> Warning: No Match template is found for following PCI Device
>> -------------------------------------------------------------------------------
>> Bus/Device/Function = 0/31/3, Unknown Device Type
>> VendorID = 0x8086, DeviceID = 0x24C3, Command = 0x0001, Status = 0x0280
>> RevisionID = 0x02, ProgIf = 0x00, SubClass = 0x05, BaseClass = 0x0C
>> CacheLineSize = 0x00, LatencyTimer = 0x00, HeaderType = 0x00, BIST =
>> 0x00
>> BaseAddresses:
>> 0x00000000 0x00000000 0x00000000 0x00000000 0x00000501
>> 0x00000000
>> CIS = 0x00000000, SubVendorID = 0x8086, SubSystemID = 0x24C2
>> ROMBaseAddress = 0x00000000
>> InterruptLine = 0x0A, InterruptPin = 0x02, MinGrant = 0x00, MaxLatency
>> =
>> 0x00
>> -------------------------------------------------------------------------------
>> PCIBUS!PCICfgCheckBARs: WARNING: No matching registry key was found for
>> placed device 0/31/3.
>> PCIBUS!PCICfgCheckBARs: Problems can result if the device is
>> being
>> used while configuring PCIbus.
>> PCIBUS!PCICfgAllocMemSpace: Failed to place Device resource: Bus 0,
>> Device
>> 0, Function 0
>> ATAPI:PCIConfig!DeviceConfig+(1)
>> PCIBUS!PCICfgAllocIoSpace: Failed to place Bridge resource: Bus 0, Device
>> 30, Function 0
>> PCIBUS!PCICfgAllocIoSpace: Failed to place Device resource: Bus 0, Device
>> 31, Function 3
>> ATAPI:PCIConfig!DeviceConfig+(1)
>> ATAPI:PCIConfig!DeviceConfig+(1)
>> ATAPI:PCIConfig!DeviceConfig+(1)
>> ATAPI:PCIConfig!DeviceConfig+(1)
>> ATAPI:PCIConfig!DeviceConfig+(1)
>> ATAPI DLL_PROCESS_DETACH
>> <<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data
>> at
>> 0x01FD7000-0x01FD7608)
>> EPC_X86_DEBUG\ATAPI.DLL'
>> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at
>> >>> 0x01FD7000-0x01FD7608)
>> C_X86_DEBUG\ATAPI.DLL'
>> ATAPI DLL_PROCESS_ATTACH
>> ATAPI:PCIConfig!DeviceConfig+(2)
>> ATAPI:PCIConfig!ConfigSize+(Bus 0, Device 31, Function 1)
>> ATAPI:PCIConfig!ConfigSize-
>> ATAPI DLL_PROCESS_DETACH
>> <<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data
>> at
>> 0x01FD7000-0x01FD7608)
>> EPC_X86_DEBUG\ATAPI.DLL'
>> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at
>> >>> 0x01FD7000-0x01FD7608)
>> C_X86_DEBUG\ATAPI.DLL'
>> ATAPI DLL_PROCESS_ATTACH
>> ATAPI:PCIConfig!DeviceConfig+(3)
>> ATAPI DLL_PROCESS_DETACH
>> <<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data
>> at
>> 0x01FD7000-0x01FD7608)
>> EPC_X86_DEBUG\ATAPI.DLL'
>> DEVICE!RegReadActivationValues
>> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\BusPrefix) returned
>> 2
>> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data at
>> >>> 0x01FD7000-0x01FD7608)
>> C_X86_DEBUG\ATAPI.DLL'
>> ATAPI DLL_PROCESS_ATTACH
>> Atapi!DumpRegKey> Drivers\Active\4294967293
>> Hnd = 00051600
>> Name = IDE1:
>> Key = Drivers\BuiltIn\PCI\Instance\ALI14531
>> BusParent = 0004C540
>> InterfaceType = 00000005
>> BusName = PCI_0_31_1
>> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531
>> IoLen :
>> 8
>> 4
>> 8
>> 4
>> 10
>> IoBase :
>> a030
>> a040
>> a038
>> a044
>> a020
>> MemLen = 00000400
>> MemBase = 80000000
>> FunctionNumber = 00000001
>> DeviceNumber = 0000001F
>> BusNumber = 00000000
>> InterfaceType = 00000005
>> SubSystemID = 000024C2
>> SubVendorID = 00008086
>> RevisionID = 00000002
>> DeviceID = 000024CB
>> VendorID = 00008086
>> ProgIF = 0000008A
>> RegisterStride = 00000001
>> StatusPollCyclePause = 00000005
>> StatusPollsPerCycle = 00000020
>> StatusPollCycles = 00000100
>> SoftResetTimeout = 00000003
>> DMAAlignment = 00000004
>> SysIntr = 00000000
>> Irq = 0000000E
>> Legacy = 00000001
>> ConfigEntry = GenericConfig
>> SubClass = 00000001
>> Class = 00000001
>> Order = 00000002
>> Dll = atapi.dll
>> Prefix = IDE
>> IClass :
>> {CDDC3621-3512-4b3f-BB6F-B4DD5E061795}
>> SpawnFunction = CreatePCIHDCD
>> InstanceIndex = 00000001
>> Atapi!IDE_Init> Start of IDE/ATA device enumeration
>> Atapi!IDE_Init> Enumerated IDE/ATA device
>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
>> Atapi!IDE_Init> Enumerated IDE/ATA device
>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
>> Atapi!IDE_Init> Enumerated IDE/ATA device
>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
>> Atapi!IDE_Init> Enumerated IDE/ATA device
>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
>> Atapi!IDE_Init> End of IDE/ATA device enumeration
>> Atapi!IDE_Init> Activating IDE/ATA device
>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
>> DEVICE!RegReadActivationValues
>> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device0\BusPrefix)
>> returned 2
>> Atapi!DumpRegKey> Drivers\Active\4294967294
>> Hnd = 00051EF0
>> Name = DSK1:
>> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
>> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
>> Port = 00051820
>> TransferMode = 000000FF
>> DeviceId = 00000000
>> LookAhead = 00000001
>> WriteCache = 00000001
>> DrqDataBlockSize = 00000200
>> DoubleBufferSize = 00010000
>> DMA = 00000002
>> InterruptDriven = 00000001
>> Dll = atapi.dll
>> Prefix = DSK
>> IClass :
>> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
>> Atapi!CPCIDisk::CPCIDisk> device count(1)
>> Atapi!CDisk::ResetController> Device is busy; 3 seconds remaining
>> Atapi!CDisk::ResetController> Device is busy; 2 seconds remaining
>> Atapi!CDisk::ResetController> Device is busy; 1 seconds remaining
>> Atapi!CDisk::ResetController> Timeout
>> Atapi!CDisk::Init> Failed to initialize device
>> Atapi!CPCIDisk::~CPCIDisk> device count(0)
>> DEVICE!LaunchDevice: Init() failed for device 0x00051ef0
>> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
>> atapi.dll, context 0x802d030
>> Atapi!IDE_Init> Activating IDE/ATA device
>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
>> DEVICE!RegReadActivationValues
>> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device1\BusPrefix)
>> returned 2
>> Atapi!DumpRegKey> Drivers\Active\00
>> Hnd = 00052160
>> Name = DSK1:
>> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
>> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
>> Port = 00051820
>> TransferMode = 000000FF
>> DeviceId = 00000001
>> LookAhead = 00000001
>> WriteCache = 00000001
>> DrqDataBlockSize = 00000200
>> DoubleBufferSize = 00010000
>> DMA = 00000002
>> InterruptDriven = 00000001
>> Dll = atapi.dll
>> Prefix = DSK
>> IClass :
>> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
>> Atapi!CPCIDisk::CPCIDisk> device count(1)
>> Atapi!CDisk::IsDevicePresent> Device 1 is not present; Error
>> register(0xff)
>> Atapi!CDisk::InitController> Device did not respond to identify
>> Atapi!CDisk::Init> Failed to initialize device
>> Atapi!CPCIDisk::~CPCIDisk> device count(0)
>> DEVICE!LaunchDevice: Init() failed for device 0x00052160
>> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
>> atapi.dll, context 0x802d030
>> Atapi!IDE_Init> Activating IDE/ATA device
>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
>> DEVICE!RegReadActivationValues
>> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device2\BusPrefix)
>> returned 2
>> Atapi!DumpRegKey> Drivers\Active\01
>> Hnd = 000523D0
>> Name = DSK1:
>> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
>> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
>> Port = 00051890
>> DeviceId = 00000000
>> TransferMode = 000000FF
>> LookAhead = 00000001
>> WriteCache = 00000001
>> DrqDataBlockSize = 00000200
>> DoubleBufferSize = 00010000
>> DMA = 00000002
>> InterruptDriven = 00000001
>> Dll = atapi.dll
>> Prefix = DSK
>> IClass :
>> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
>> Atapi!CPCIDisk::CPCIDisk> device count(1)
>> Atapi!CDisk::ResetController> Device is busy; 3 seconds remaining
>> Atapi!CDisk::ResetController> Device is busy; 2 seconds remaining
>> Atapi!CDisk::ResetController> Device is busy; 1 seconds remaining
>> Atapi!CDisk::ResetController> Timeout
>> Atapi!CDisk::Init> Failed to initialize device
>> Atapi!CPCIDisk::~CPCIDisk> device count(0)
>> DEVICE!LaunchDevice: Init() failed for device 0x000523d0
>> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
>> atapi.dll, context 0x802d030
>> Atapi!IDE_Init> Activating IDE/ATA device
>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
>> DEVICE!RegReadActivationValues
>> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device3\BusPrefix)
>> returned 2
>> Atapi!DumpRegKey> Drivers\Active\02
>> Hnd = 00052640
>> Name = DSK1:
>> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
>> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
>> Port = 00051890
>> DeviceId = 00000001
>> TransferMode = 000000FF
>> LookAhead = 00000001
>> WriteCache = 00000001
>> DrqDataBlockSize = 00000200
>> DoubleBufferSize = 00010000
>> DMA = 00000002
>> InterruptDriven = 00000001
>> Dll = atapi.dll
>> Prefix = DSK
>> IClass :
>> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
>> Atapi!CPCIDisk::CPCIDisk> device count(1)
>> Atapi!CDisk::IsDevicePresent> Device 1 is not present; Error
>> register(0xff)
>> Atapi!CDisk::InitController> Device did not respond to identify
>> Atapi!CDisk::Init> Failed to initialize device
>> Atapi!CPCIDisk::~CPCIDisk> device count(0)
>> DEVICE!LaunchDevice: Init() failed for device 0x00052640
>> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
>> atapi.dll, context 0x802d030
>>



Re: Hard drive does not init by Dean

Dean
Wed Jun 14 07:48:56 CDT 2006

If I'm not mistaken, there is a timeout specification for hard drives to
spin up and be ready. It's something like 30 seconds. I've seen a similar
problem on some drives, increasing the allowable timeout fixed the problem.

I don't believe there should be any load order dependencies for the ATAPI
driver. In any case, it's loaded by the PCI driver so it's already loaded
late and the load order would not apply anyway...

--
Dean Ramsier - eMVP
BSQUARE Corporation


"Bruce Eitman (eMVP)" <beitman.nospam@applieddata.net.nospam> wrote in
message news:upWQS%236jGHA.3572@TK2MSFTNGP04.phx.gbl...
> If I understand you, you might be better to change the load order of the
> drivers. It sounds like a bad way to wait for another driver to load,
> there may be better ways.
>
> Certainly your suggestion may be a way to debug the problem.
>
> --
> Bruce Eitman (eMVP)
> Senior Engineer
> beitman AT applieddata DOT net
>
> Applied Data Systems
> www.applieddata.net
> An ISO 9001:2000 Registered Company
> Microsoft WEP Gold-level Member
>
> "Mike" <Mike@discussions.microsoft.com> wrote in message
> news:7964311C-4993-4C94-B3D6-64E6AED01CA7@microsoft.com...
>>I am not an expert in Win CE .Any Try this.
>>
>> In the diskmain.cpp increase the sleep time from 5 secs to 25 ( any value
>> more than 5).This files found in ATAPI driver
>>
>>
>> "rjameson" wrote:
>>
>>> Hi,
>>>
>>> I'm trying to add a HDD to a CEPC image. I've followed all the
>>> step-by-step
>>> instructions and scoured the documentation for anything I might have
>>> missed,
>>> to no avail. My bios detects the hard drive correctly, but in the kernel
>>> debugger, when CE tries to initialize the drive, it complains that
>>> "device
>>> busy" and then "failed to initialize device." My working hypothesis is
>>> that
>>> CE can't deal with the ide controller, which is an intel 82801DB
>>> (deviceId
>>> 0x24CB). I haven't been able to find CE drivers for the Intel chipset
>>> on our
>>> SBC. Intel cryptically says "PIO" on their driver matrix for this
>>> chipset,
>>> but changing the transfer mode hasn't made any difference.
>>>
>>> If anyone has some insight into this problem, I would greatly appreciate
>>> the
>>> help. Here's the debug log:
>>>
>>> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data
>>> >>> at 0x01FD7000-0x01FD7608)
>>> ATAPI DLL_PROCESS_ATTACH
>>> ATAPI:PCIConfig!DeviceConfig+(0)
>>> ATAPI:PCIConfig!ConfigRsrc+(Bus 0, Device 31, Function 1)
>>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x10, Type I/O, Size 0x8
>>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x14, Type I/O, Size 0x4
>>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x18, Type I/O, Size 0x8
>>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x1c, Type I/O, Size 0x4
>>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x20, Type I/O, Size
>>> 0x10
>>> ATAPI:PCIConfig!ConfigRsrc: BAR(0/31/1): Offset 0x24, Type Memory, Size
>>> 0x400
>>> ATAPI:PCIConfig!ConfigRsrc-
>>> Warning: No Match template is found for following PCI Device
>>> -------------------------------------------------------------------------------
>>> Bus/Device/Function = 0/31/3, Unknown Device Type
>>> VendorID = 0x8086, DeviceID = 0x24C3, Command = 0x0001, Status =
>>> 0x0280
>>> RevisionID = 0x02, ProgIf = 0x00, SubClass = 0x05, BaseClass = 0x0C
>>> CacheLineSize = 0x00, LatencyTimer = 0x00, HeaderType = 0x00, BIST =
>>> 0x00
>>> BaseAddresses:
>>> 0x00000000 0x00000000 0x00000000 0x00000000 0x00000501
>>> 0x00000000
>>> CIS = 0x00000000, SubVendorID = 0x8086, SubSystemID = 0x24C2
>>> ROMBaseAddress = 0x00000000
>>> InterruptLine = 0x0A, InterruptPin = 0x02, MinGrant = 0x00, MaxLatency
>>> =
>>> 0x00
>>> -------------------------------------------------------------------------------
>>> PCIBUS!PCICfgCheckBARs: WARNING: No matching registry key was found for
>>> placed device 0/31/3.
>>> PCIBUS!PCICfgCheckBARs: Problems can result if the device is
>>> being
>>> used while configuring PCIbus.
>>> PCIBUS!PCICfgAllocMemSpace: Failed to place Device resource: Bus 0,
>>> Device
>>> 0, Function 0
>>> ATAPI:PCIConfig!DeviceConfig+(1)
>>> PCIBUS!PCICfgAllocIoSpace: Failed to place Bridge resource: Bus 0,
>>> Device
>>> 30, Function 0
>>> PCIBUS!PCICfgAllocIoSpace: Failed to place Device resource: Bus 0,
>>> Device
>>> 31, Function 3
>>> ATAPI:PCIConfig!DeviceConfig+(1)
>>> ATAPI:PCIConfig!DeviceConfig+(1)
>>> ATAPI:PCIConfig!DeviceConfig+(1)
>>> ATAPI:PCIConfig!DeviceConfig+(1)
>>> ATAPI:PCIConfig!DeviceConfig+(1)
>>> ATAPI DLL_PROCESS_DETACH
>>> <<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data
>>> at
>>> 0x01FD7000-0x01FD7608)
>>> EPC_X86_DEBUG\ATAPI.DLL'
>>> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data
>>> >>> at 0x01FD7000-0x01FD7608)
>>> C_X86_DEBUG\ATAPI.DLL'
>>> ATAPI DLL_PROCESS_ATTACH
>>> ATAPI:PCIConfig!DeviceConfig+(2)
>>> ATAPI:PCIConfig!ConfigSize+(Bus 0, Device 31, Function 1)
>>> ATAPI:PCIConfig!ConfigSize-
>>> ATAPI DLL_PROCESS_DETACH
>>> <<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data
>>> at
>>> 0x01FD7000-0x01FD7608)
>>> EPC_X86_DEBUG\ATAPI.DLL'
>>> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data
>>> >>> at 0x01FD7000-0x01FD7608)
>>> C_X86_DEBUG\ATAPI.DLL'
>>> ATAPI DLL_PROCESS_ATTACH
>>> ATAPI:PCIConfig!DeviceConfig+(3)
>>> ATAPI DLL_PROCESS_DETACH
>>> <<< Unloading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data
>>> at
>>> 0x01FD7000-0x01FD7608)
>>> EPC_X86_DEBUG\ATAPI.DLL'
>>> DEVICE!RegReadActivationValues
>>> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\BusPrefix)
>>> returned 2
>>> >>> Loading module atapi.dll at address 0x03CE0000-0x03D06000 (RW data
>>> >>> at 0x01FD7000-0x01FD7608)
>>> C_X86_DEBUG\ATAPI.DLL'
>>> ATAPI DLL_PROCESS_ATTACH
>>> Atapi!DumpRegKey> Drivers\Active\4294967293
>>> Hnd = 00051600
>>> Name = IDE1:
>>> Key = Drivers\BuiltIn\PCI\Instance\ALI14531
>>> BusParent = 0004C540
>>> InterfaceType = 00000005
>>> BusName = PCI_0_31_1
>>> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531
>>> IoLen :
>>> 8
>>> 4
>>> 8
>>> 4
>>> 10
>>> IoBase :
>>> a030
>>> a040
>>> a038
>>> a044
>>> a020
>>> MemLen = 00000400
>>> MemBase = 80000000
>>> FunctionNumber = 00000001
>>> DeviceNumber = 0000001F
>>> BusNumber = 00000000
>>> InterfaceType = 00000005
>>> SubSystemID = 000024C2
>>> SubVendorID = 00008086
>>> RevisionID = 00000002
>>> DeviceID = 000024CB
>>> VendorID = 00008086
>>> ProgIF = 0000008A
>>> RegisterStride = 00000001
>>> StatusPollCyclePause = 00000005
>>> StatusPollsPerCycle = 00000020
>>> StatusPollCycles = 00000100
>>> SoftResetTimeout = 00000003
>>> DMAAlignment = 00000004
>>> SysIntr = 00000000
>>> Irq = 0000000E
>>> Legacy = 00000001
>>> ConfigEntry = GenericConfig
>>> SubClass = 00000001
>>> Class = 00000001
>>> Order = 00000002
>>> Dll = atapi.dll
>>> Prefix = IDE
>>> IClass :
>>> {CDDC3621-3512-4b3f-BB6F-B4DD5E061795}
>>> SpawnFunction = CreatePCIHDCD
>>> InstanceIndex = 00000001
>>> Atapi!IDE_Init> Start of IDE/ATA device enumeration
>>> Atapi!IDE_Init> Enumerated IDE/ATA device
>>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
>>> Atapi!IDE_Init> Enumerated IDE/ATA device
>>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
>>> Atapi!IDE_Init> Enumerated IDE/ATA device
>>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
>>> Atapi!IDE_Init> Enumerated IDE/ATA device
>>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
>>> Atapi!IDE_Init> End of IDE/ATA device enumeration
>>> Atapi!IDE_Init> Activating IDE/ATA device
>>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
>>> DEVICE!RegReadActivationValues
>>> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device0\BusPrefix)
>>> returned 2
>>> Atapi!DumpRegKey> Drivers\Active\4294967294
>>> Hnd = 00051EF0
>>> Name = DSK1:
>>> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
>>> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
>>> Port = 00051820
>>> TransferMode = 000000FF
>>> DeviceId = 00000000
>>> LookAhead = 00000001
>>> WriteCache = 00000001
>>> DrqDataBlockSize = 00000200
>>> DoubleBufferSize = 00010000
>>> DMA = 00000002
>>> InterruptDriven = 00000001
>>> Dll = atapi.dll
>>> Prefix = DSK
>>> IClass :
>>> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
>>> Atapi!CPCIDisk::CPCIDisk> device count(1)
>>> Atapi!CDisk::ResetController> Device is busy; 3 seconds remaining
>>> Atapi!CDisk::ResetController> Device is busy; 2 seconds remaining
>>> Atapi!CDisk::ResetController> Device is busy; 1 seconds remaining
>>> Atapi!CDisk::ResetController> Timeout
>>> Atapi!CDisk::Init> Failed to initialize device
>>> Atapi!CPCIDisk::~CPCIDisk> device count(0)
>>> DEVICE!LaunchDevice: Init() failed for device 0x00051ef0
>>> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
>>> atapi.dll, context 0x802d030
>>> Atapi!IDE_Init> Activating IDE/ATA device
>>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
>>> DEVICE!RegReadActivationValues
>>> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device1\BusPrefix)
>>> returned 2
>>> Atapi!DumpRegKey> Drivers\Active\00
>>> Hnd = 00052160
>>> Name = DSK1:
>>> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
>>> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
>>> Port = 00051820
>>> TransferMode = 000000FF
>>> DeviceId = 00000001
>>> LookAhead = 00000001
>>> WriteCache = 00000001
>>> DrqDataBlockSize = 00000200
>>> DoubleBufferSize = 00010000
>>> DMA = 00000002
>>> InterruptDriven = 00000001
>>> Dll = atapi.dll
>>> Prefix = DSK
>>> IClass :
>>> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
>>> Atapi!CPCIDisk::CPCIDisk> device count(1)
>>> Atapi!CDisk::IsDevicePresent> Device 1 is not present; Error
>>> register(0xff)
>>> Atapi!CDisk::InitController> Device did not respond to identify
>>> Atapi!CDisk::Init> Failed to initialize device
>>> Atapi!CPCIDisk::~CPCIDisk> device count(0)
>>> DEVICE!LaunchDevice: Init() failed for device 0x00052160
>>> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
>>> atapi.dll, context 0x802d030
>>> Atapi!IDE_Init> Activating IDE/ATA device
>>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
>>> DEVICE!RegReadActivationValues
>>> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device2\BusPrefix)
>>> returned 2
>>> Atapi!DumpRegKey> Drivers\Active\01
>>> Hnd = 000523D0
>>> Name = DSK1:
>>> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
>>> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
>>> Port = 00051890
>>> DeviceId = 00000000
>>> TransferMode = 000000FF
>>> LookAhead = 00000001
>>> WriteCache = 00000001
>>> DrqDataBlockSize = 00000200
>>> DoubleBufferSize = 00010000
>>> DMA = 00000002
>>> InterruptDriven = 00000001
>>> Dll = atapi.dll
>>> Prefix = DSK
>>> IClass :
>>> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
>>> Atapi!CPCIDisk::CPCIDisk> device count(1)
>>> Atapi!CDisk::ResetController> Device is busy; 3 seconds remaining
>>> Atapi!CDisk::ResetController> Device is busy; 2 seconds remaining
>>> Atapi!CDisk::ResetController> Device is busy; 1 seconds remaining
>>> Atapi!CDisk::ResetController> Timeout
>>> Atapi!CDisk::Init> Failed to initialize device
>>> Atapi!CPCIDisk::~CPCIDisk> device count(0)
>>> DEVICE!LaunchDevice: Init() failed for device 0x000523d0
>>> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
>>> atapi.dll, context 0x802d030
>>> Atapi!IDE_Init> Activating IDE/ATA device
>>> Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
>>> DEVICE!RegReadActivationValues
>>> RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device3\BusPrefix)
>>> returned 2
>>> Atapi!DumpRegKey> Drivers\Active\02
>>> Hnd = 00052640
>>> Name = DSK1:
>>> Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
>>> Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
>>> Port = 00051890
>>> DeviceId = 00000001
>>> TransferMode = 000000FF
>>> LookAhead = 00000001
>>> WriteCache = 00000001
>>> DrqDataBlockSize = 00000200
>>> DoubleBufferSize = 00010000
>>> DMA = 00000002
>>> InterruptDriven = 00000001
>>> Dll = atapi.dll
>>> Prefix = DSK
>>> IClass :
>>> {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
>>> Atapi!CPCIDisk::CPCIDisk> device count(1)
>>> Atapi!CDisk::IsDevicePresent> Device 1 is not present; Error
>>> register(0xff)
>>> Atapi!CDisk::InitController> Device did not respond to identify
>>> Atapi!CDisk::Init> Failed to initialize device
>>> Atapi!CPCIDisk::~CPCIDisk> device count(0)
>>> DEVICE!LaunchDevice: Init() failed for device 0x00052640
>>> DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK, index 1, dll
>>> atapi.dll, context 0x802d030
>>>
>
>



Re: Hard drive does not init by Bruce

Bruce
Wed Jun 14 09:36:34 CDT 2006

I understand now, thanks.

--
Bruce Eitman (eMVP)
Senior Engineer
beitman AT applieddata DOT net

Applied Data Systems
www.applieddata.net
An ISO 9001:2000 Registered Company
Microsoft WEP Gold-level Member

"Dean Ramsier" <ramsiernospam@nospam.com> wrote in message
news:O%23nJbD7jGHA.4284@TK2MSFTNGP05.phx.gbl...
> If I'm not mistaken, there is a timeout specification for hard drives to
> spin up and be ready. It's something like 30 seconds. I've seen a
> similar problem on some drives, increasing the allowable timeout fixed the
> problem.
>
> I don't believe there should be any load order dependencies for the ATAPI
> driver. In any case, it's loaded by the PCI driver so it's already loaded
> late and the load order would not apply anyway...
>
> --
> Dean Ramsier - eMVP
> BSQUARE Corporation
>
>
> "Bruce Eitman (eMVP)" <beitman.nospam@applieddata.net.nospam> wrote in
> message news:upWQS%236jGHA.3572@TK2MSFTNGP04.phx.gbl...
>> If I understand you, you might be better to change the load order of the
>> drivers. It sounds like a bad way to wait for another driver to load,
>> there may be better ways.
>>
>> Certainly your suggestion may be a way to debug the problem.
>>
>> --
>> Bruce Eitman (eMVP)
>> Senior Engineer
>> beitman AT applieddata DOT net
>>
>> Applied Data Systems
>> www.applieddata.net
>> An ISO 9001:2000 Registered Company
>> Microsoft WEP Gold-level Member
>>
>> "Mike" <Mike@discussions.microsoft.com> wrote in message
>> news:7964311C-4993-4C94-B3D6-64E6AED01CA7@microsoft.com...
>>>I am not an expert in Win CE .Any Try this.
>>>
>>> In the diskmain.cpp increase the sleep time from 5 secs to 25 ( any
>>> valu