Re: Windows CE - Cannot access hard disk on my CEPC image by user2084
user2084
Thu Nov 18 22:28:50 CST 2004
user2084@hotmail.com (User 2084) wrote :
> I'm trying to access an IDE hard drive from my CEPC OS image.
Ok, I've got additional debug information. But first a question. On a
CEPC, am I able to use an on-board IDE controller that is part of the
chipset? Or do I have to install a PCI IDE controller? It's not clear
to me what is and isn't supported, but perhaps I haven't read the
documentation carefully enough. Is this specified in the Win CE
documentation? In any case, I've tried several different PC
motherboards without any success. I haven't been able to find a PCI
IDE card with the supported chipsets, but I'd really prefer using
on-board IDE if possible.
I've examined my reginit.ini file and the debug output of my image. It
seems as if all the ATAPI sections are included. I was hoping that
the device would use the GenericIDE configuration, but I never see
that come up on my debug output, only see the ALI14531 device shown. I
get the error message:
0x83fcf800: Atapi!CDisk::ResetController> Device is busy; 3 seconds
remaining
When the device is initialized.
One other question - do I have to enable Hive registry to use a IDE
drive?
I'm hoping someone here might be able to point me in the right
direction. Thanks in advance.
Here is my ATAPI Debug output:
0x83fcf800: ATAPI DLL_PROCESS_ATTACH
0x83fcf800: ATAPI:PCIConfig!DeviceConfig+(2)
0x83fcf800: ATAPI:PCIConfig!ConfigSize+(Bus 0, Device 31, Function 1)
0x83fcf800: ATAPI:PCIConfig!ConfigSize-
0x83fcf800: ATAPI DLL_PROCESS_DETACH
0x83fcf800: ATAPI DLL_PROCESS_ATTACH
0x83fcf800: ATAPI:PCIConfig!DeviceConfig+(3)
0x83fcf800: ATAPI DLL_PROCESS_DETACH
0x83fcf800: DEVICE!RegReadActivationValues
RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\BusPrefix)
returned 2
0x83fcf800: ATAPI DLL_PROCESS_ATTACH
0x83fcf800: Atapi!DumpRegKey> Drivers\Active\06
0x83fcf800: Hnd = 00058050
0x83fcf800: Name = IDE1:
0x83fcf800: Key = Drivers\BuiltIn\PCI\Instance\ALI14531
0x83fcf800: BusParent = 000581D0
0x83fcf800: InterfaceType = 00000005
0x83fcf800: BusName = PCI_0_31_1
0x83fcf800: Atapi!DumpRegKey> Drivers\BuiltIn\PCI\Instance\ALI14531
0x83fcf800: IoLen :
0x83fcf800: 8
0x83fcf800: 4
0x83fcf800: 8
0x83fcf800: 4
0x83fcf800: 10
0x83fcf800: IoBase :
0x83fcf800: a010
0x83fcf800: a020
0x83fcf800: a018
0x83fcf800: a024
0x83fcf800: a000
0x83fcf800: FunctionNumber = 00000001
0x83fcf800: DeviceNumber = 0000001F
0x83fcf800: BusNumber = 00000000
0x83fcf800: InterfaceType = 00000005
0x83fcf800: ProgIF = 0000008A
0x83fcf800: RegisterStride = 00000001
0x83fcf800: StatusPollCyclePause = 00000005
0x83fcf800: StatusPollsPerCycle = 00000020
0x83fcf800: StatusPollCycles = 00000100
0x83fcf800: SoftResetTimeout = 00000003
0x83fcf800: DMAAlignment = 00000004
0x83fcf800: SysIntr = 00000000
0x83fcf800: Irq = 0000000E
0x83fcf800: Legacy = 00000001
0x83fcf800: ConfigEntry = GenericConfig
0x83fcf800: SubClass = 00000001
0x83fcf800: Class = 00000001
0x83fcf800: Order = 00000002
0x83fcf800: Dll = atapi.dll
0x83fcf800: Prefix = IDE
0x83fcf800: IClass :
0x83fcf800: {CDDC3621-3512-4b3f-BB6F-B4DD5E061795}
0x83fcf800: SpawnFunction = CreatePCIHDCD
0x83fcf800: InstanceIndex = 00000001
0x83fcf800: Atapi!IDE_Init> Start of IDE/ATA device enumeration
0x83fcf800: Atapi!IDE_Init> Enumerated IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
0x83fcf800: Atapi!IDE_Init> Enumerated IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
0x83fcf800: Atapi!IDE_Init> Enumerated IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
0x83fcf800: Atapi!IDE_Init> Enumerated IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
0x83fcf800: Atapi!IDE_Init> End of IDE/ATA device enumeration
0x83fcf800: Atapi!IDE_Init> Activating IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
0x83fcf800: DEVICE!RegReadActivationValues
RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device0\BusPrefix)
returned
2
0x83fcf800: Atapi!DumpRegKey> Drivers\Active\07
0x83fcf800: Hnd = 0005B900
0x83fcf800: Name = DSK1:
0x83fcf800: Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
0x83fcf800: Atapi!DumpRegKey>
Drivers\BuiltIn\PCI\Instance\ALI14531\Device0
0x83fcf800: Port = 0005B230
0x83fcf800: TransferMode = 000000FF
0x83fcf800: DeviceId = 00000000
0x83fcf800: LookAhead = 00000001
0x83fcf800: WriteCache = 00000001
0x83fcf800: DrqDataBlockSize = 00000200
0x83fcf800: DoubleBufferSize = 00010000
0x83fcf800: DMA = 00000002
0x83fcf800: InterruptDriven = 00000001
0x83fcf800: Dll = atapi.dll
0x83fcf800: Prefix = DSK
0x83fcf800: IClass :
0x83fcf800: {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
0x83fcf800: Atapi!CPCIDisk::CPCIDisk> device count(1)
0x83fcf800: Atapi!CDisk::ResetController> Device is busy; 3 seconds
remaining
0x83fcf800: Atapi!CDisk::ResetController> Device is busy; 2 seconds
remaining
0x83fcf800: Atapi!CDisk::ResetController> Device is busy; 1 seconds
remaining
0x83fcf800: Atapi!CDisk::ResetController> Timeout
0x83fcf800: Atapi!CDisk::Init> Failed to initialize device
0x83fcf800: Atapi!CPCIDisk::~CPCIDisk> device count(0)
0x83fcf800: DEVICE!LaunchDevice: Init() failed for device 0x0005b900
0x83fcf800: DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK,
index 1,
dll atapi.dll, context 0x602d030
0x83fcf800: Atapi!IDE_Init> Activating IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
0x83fcf800: DEVICE!RegReadActivationValues
RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device1\BusPrefix)
returned
2
0x83fcf800: Atapi!DumpRegKey> Drivers\Active\08
0x83fcf800: Hnd = 0005BB70
0x83fcf800: Name = DSK1:
0x83fcf800: Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
0x83fcf800: Atapi!DumpRegKey>
Drivers\BuiltIn\PCI\Instance\ALI14531\Device1
0x83fcf800: Port = 0005B230
0x83fcf800: TransferMode = 000000FF
0x83fcf800: DeviceId = 00000001
0x83fcf800: LookAhead = 00000001
0x83fcf800: WriteCache = 00000001
0x83fcf800: DrqDataBlockSize = 00000200
0x83fcf800: DoubleBufferSize = 00010000
0x83fcf800: DMA = 00000002
0x83fcf800: InterruptDriven = 00000001
0x83fcf800: Dll = atapi.dll
0x83fcf800: Prefix = DSK
0x83fcf800: IClass :
0x83fcf800: {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
0x83fcf800: Atapi!CPCIDisk::CPCIDisk> device count(1)
0x83fcf800: Atapi!CDisk::IsDevicePresent> Device 1 is not present;
Error
register(0xff)
0x83fcf800: Atapi!CDisk::InitController> Device did not respond to
identify
0x83fcf800: Atapi!CDisk::Init> Failed to initialize device
0x83fcf800: Atapi!CPCIDisk::~CPCIDisk> device count(0)
0x83fcf800: DEVICE!LaunchDevice: Init() failed for device 0x0005bb70
0x83fcf800: DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK,
index 1,
dll atapi.dll, context 0x602d030
0x83fcf800: Atapi!IDE_Init> Activating IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
0x83fcf800: DEVICE!RegReadActivationValues
RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device2\BusPrefix)
returned
2
0x83fcf800: Atapi!DumpRegKey> Drivers\Active\09
0x83fcf800: Hnd = 0005BDE0
0x83fcf800: Name = DSK1:
0x83fcf800: Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
0x83fcf800: Atapi!DumpRegKey>
Drivers\BuiltIn\PCI\Instance\ALI14531\Device2
0x83fcf800: Port = 0005B2A0
0x83fcf800: DeviceId = 00000000
0x83fcf800: TransferMode = 000000FF
0x83fcf800: LookAhead = 00000001
0x83fcf800: WriteCache = 00000001
0x83fcf800: DrqDataBlockSize = 00000200
0x83fcf800: DoubleBufferSize = 00010000
0x83fcf800: DMA = 00000002
0x83fcf800: InterruptDriven = 00000001
0x83fcf800: Dll = atapi.dll
0x83fcf800: Prefix = DSK
0x83fcf800: IClass :
0x83fcf800: {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
0x83fcf800: Atapi!CPCIDisk::CPCIDisk> device count(1)
0x83fcf800: Atapi!CDisk::ResetController> Device is busy; 3 seconds
remaining
0x83fcf800: Atapi!CDisk::ResetController> Device is busy; 2 seconds
remaining
0x83fcf800: Atapi!CDisk::ResetController> Device is busy; 1 seconds
remaining
0x83fcf800: Atapi!CDisk::ResetController> Timeout
0x83fcf800: Atapi!CDisk::Init> Failed to initialize device
0x83fcf800: Atapi!CPCIDisk::~CPCIDisk> device count(0)
0x83fcf800: DEVICE!LaunchDevice: Init() failed for device 0x0005bde0
0x83fcf800: DEVICE!I_ActivateDeviceEx: couldn't activate: prefix DSK,
index 1,
dll atapi.dll, context 0x602d030
0x83fcf800: Atapi!IDE_Init> Activating IDE/ATA device
Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
0x83fcf800: DEVICE!RegReadActivationValues
RegQueryValueEx(Drivers\BuiltIn\PCI\Instance\ALI14531\Device3\BusPrefix)
returned
2
0x83fcf800: Atapi!DumpRegKey> Drivers\Active\10
0x83fcf800: Hnd = 0005C050
0x83fcf800: Name = DSK1:
0x83fcf800: Key = Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
0x83fcf800: Atapi!DumpRegKey>
Drivers\BuiltIn\PCI\Instance\ALI14531\Device3
0x83fcf800: Port = 0005B2A0
0x83fcf800: DeviceId = 00000001
0x83fcf800: TransferMode = 000000FF
0x83fcf800: LookAhead = 00000001
0x83fcf800: WriteCache = 00000001
0x83fcf800: DrqDataBlockSize = 00000200
0x83fcf800: DoubleBufferSize = 00010000
0x83fcf800: DMA = 00000002
0x83fcf800: InterruptDriven = 00000001
0x83fcf800: Dll = atapi.dll
0x83fcf800: Prefix = DSK
0x83fcf800: IClass :
0x83fcf800: {A4E7EDDA-E575-4252-9D6B-4195D48BB865}
0x83fcf800: Atapi!CPCIDisk::CPCIDisk> device count(1)
0x83fcf800: Atapi!CDisk::IsDevicePresent> Device 1 is not present;
Error
register(0xff)
0x83fcf800: Atapi!CDisk::InitController> Device did not respond to
identify
0x83fcf800: Atapi!CDisk::Init> Failed to initialize device
0x83fcf800: Atapi!CPCIDisk::~CPCIDisk> device count(0)
0x83fcf800: DEVICE!LaunchDevice: Init() failed for device 0x0005c050