Hello OSR members. First up, apologies, I’m a hardware dev and my Win programming is a little limited. Hope I am in the correct list!
I started working on an USB interface using a ‘MICROCHIP PIC’ based circuit. I threw together and checked the basic circuit and flashed the MCHPUSB Bootloader to the 18F2550 MCU. It should all just work as far as I can tell, unfortunately I get a Blue Screen, instead.
I ran windbg but it’s mostly gobbledegook to me. I could really use some help debugging to correct this frustrating problem. I will say, it does not happen in safe mode (XPProSP3) and only when attempting to enter the bootloader and not during the normal USER MODE operation/application. The bootloader code is standard and *should* not pose a problem.
I saw a similar thread and that’s what brought me to this site. From what I can tell it may not apply to me.
So, after installing the Microchip Custom USB Device Driver (successfully) I proceed to plug in my USB B type to the circuit. A few seconds later the BSOD shows IRQL LESS EQUAL, Bugcheck 0xA -> NTOSKRNL.EXE and USBPORT.SYS, also SPTD.SYS, although removing SPTD has no significance. I’m on a Pentium4. Here’s the analysis:
IRQL_NOT_LESS_OR_EQUAL (a)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If a kernel debugger is available get the stack backtrace.
Arguments:
Arg1: e1edb5b0, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000001, bitfield :
bit 0 : value 0 = read operation, 1 = write operation
bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
Arg4: 8067337a, address which referenced memory
Debugging Details:
WRITE_ADDRESS: e1edb5b0
CURRENT_IRQL: 2
FAULTING_IP:
nt!ViFlushDoubleBuffer+182
8067337a f3a5 rep movs dword ptr es:[edi],dword ptr [esi]
CUSTOMER_CRASH_COUNT: 5
DEFAULT_BUCKET_ID: COMMON_SYSTEM_FAULT
BUGCHECK_STR: 0xA
PROCESS_NAME: svchost.exe
LAST_CONTROL_TRANSFER: from 80673951 to 8067337a
STACK_TEXT:
f78a2e30 80673951 8948bd90 00000000 e1edb5b0 nt!ViFlushDoubleBuffer+0x182
f78a2e64 b7891f8d 89ea7610 891e9d20 00000000 nt!VfFlushAdapterBuffers+0x147
f78a2ee4 b7892d47 f78d68dc 00000000 8a0467d8 USBPORT!USBPORT_CompleteTransfer+0x22b
f78a2f14 b7893944 026e6f44 8a0460e0 8a0460e0 USBPORT!USBPORT_DoneTransfer+0x137
f78a2f4c b789513a 8a046028 804e2ec4 8a046230 USBPORT!USBPORT_FlushDoneTransferList+0x16c
f78a2f78 b78a324b 8a046028 804e2ec4 8a046028 USBPORT!USBPORT_DpcWorker+0x224
f78a2fb4 b78a33c2 8a046028 00000001 8a04a590 USBPORT!USBPORT_IsrDpcWorker+0x38f
f78a2fd0 804dbbd4 8a04664c 6b755044 00000000 USBPORT!USBPORT_IsrDpc+0x166
f78a2ff4 804db89e aea5095c 00000000 00000000 nt!KiRetireDpcList+0x46
f78a2ff8 aea5095c 00000000 00000000 00000000 nt!KiDispatchInterrupt+0x2a
WARNING: Frame IP not in any known module. Following frames may be wrong.
804db89e 00000000 00000009 bb835675 00000128 0xaea5095c
STACK_COMMAND: kb
FOLLOWUP_IP:
USBPORT!USBPORT_CompleteTransfer+22b
b7891f8d 56 push esi
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: USBPORT!USBPORT_CompleteTransfer+22b
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: USBPORT
IMAGE_NAME: USBPORT.SYS
DEBUG_FLR_IMAGE_TIMESTAMP: 480254ce
FAILURE_BUCKET_ID: 0xA_USBPORT!USBPORT_CompleteTransfer+22b
BUCKET_ID: 0xA_USBPORT!USBPORT_CompleteTransfer+22b
Followup: MachineOwner
Thanks for any help and Kindest of Regards