RE: Bulk transfer with UVC driver by AT
AT
Sat Feb 02 13:31:00 CST 2008
Btw, this is the windbg trace of the bug. As the function failing is
USBPORT_InitializeIsoTransfer, I assume there's no bulk support. Is this
right?
Thanks,
AT
kd> !analyze -v
*******************************************************************************
*
*
* Bugcheck Analysis
*
*
*
*******************************************************************************
UNEXPECTED_KERNEL_MODE_TRAP (7f)
This means a trap occurred in kernel mode, and it's a trap of a kind
that the kernel isn't allowed to have/catch (bound trap) or that
is always instant death (double fault). The first number in the
bugcheck params is the number of the trap (8 = double fault, etc)
Consult an Intel x86 family manual to learn more about what these
traps are. Here is a *portion* of those codes:
If kv shows a taskGate
use .tss on the part before the colon, then kv.
Else if kv shows a trapframe
use .trap on that value
Else
.trap on the appropriate frame will show where the trap was taken
(on x86, this will be the ebp that goes with the procedure KiTrap)
Endif
kb will then show the corrected stack.
Arguments:
Arg1: 00000000, EXCEPTION_DIVIDED_BY_ZERO
Arg2: 00000000
Arg3: 00000000
Arg4: 00000000
Debugging Details:
------------------
BUGCHECK_STR: 0x7f_0
CUSTOMER_CRASH_COUNT: 2
DEFAULT_BUCKET_ID: DRIVER_FAULT
PROCESS_NAME: graphedt.exe
LAST_CONTROL_TRANSFER: from 806217cf to 80533523
STACK_TEXT:
ecca0544 806217cf 0000007f f70c5866 8597f298 nt!KeBugCheck2+0x6d9
ecca059c 804df3d0 ecca05a8 ecca0654 f70c5866 nt!VdmConvertToLinearAddress+0x6c
ecca05a8 f70c5866 badb0d00 00000000 50726261 nt!Dr_kitx_a+0x6c
ecca0654 f70cbfed 86383028 85d18208 8597f000
USBPORT!USBPORT_InitializeIsoTransfer+0x3f6
ecca06cc 806f13cc 86383028 00000000 00000000 USBPORT!USBPORT_MapTransfer+0x489
ecca06f8 8052d289 862d3650 8638305c 00000011 hal!HalpBiosDisplayReset+0x8
ecca0710 f70cc4ef 862d3650 86383028 00000011 nt!xHalGetPartialGeometry+0x7e
ecca0754 f70cd30e 86383028 85df38f0 85a8c008
USBPORT!USBPORT_FlushMapTransferList+0x1b1
ecca07ac f70ce1f6 02a8c008 ffffffff 804e2eb4
USBPORT!USBPORT_FlushPendingList+0x5d6
ecca07dc f70d5641 86246f68 804e2eb4 85d18208
USBPORT!USBPORT_QueueTransferUrb+0x248
ecca0810 f70d4d5c 86383028 85df38f0 001c0646
USBPORT!USBPORT_IsochTransfer+0x49b
ecca083c f70d9dfe 85fce030 86383028 000000a0 USBPORT!USBPORT_ProcessURB+0x3f4
ecca085c f70c31e2 85fce030 85df38f0 85df38f0
USBPORT!USBPORT_PdoInternalDeviceControlIrp+0x7e
ecca0880 804e37f7 85df39cc 85fce188 85d18208 USBPORT!USBPORT_Dispatch+0x148
ecca0880 85df39cc 85df39cc 85fce188 85d18208 nt!KeUpdateSystemTime+0xba
WARNING: Frame IP not in any known module. Following frames may be wrong.
f78e74db 00000000 00000000 00000000 00000000 0x85df39cc
STACK_COMMAND: kb
FOLLOWUP_IP:
USBPORT!USBPORT_InitializeIsoTransfer+3f6
f70c5866 f775f0 div eax,dword ptr [ebp-10h]
SYMBOL_STACK_INDEX: 3
SYMBOL_NAME: USBPORT!USBPORT_InitializeIsoTransfer+3f6
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: USBPORT
IMAGE_NAME: USBPORT.SYS
DEBUG_FLR_IMAGE_TIMESTAMP: 41107d62
FAILURE_BUCKET_ID: 0x7f_0_USBPORT!USBPORT_InitializeIsoTransfer+3f6
BUCKET_ID: 0x7f_0_USBPORT!USBPORT_InitializeIsoTransfer+3f6
Followup: MachineOwner
---------
"AT" wrote:
> Hi,
> I am developing an UVC device.
> In order to increase the transfer rate I'd like to use a bulk endpoint for
> the video transfer.
> I can successfully enumerate and create a filter graph with my device, but
> as soon as I start the graph, my machine reboots. Note that this does not
> happen if I use an isochronous endpoint.
> The blue screen error that shows up is 0x0000007F with the first parameter
> 0x00000000 (division by zero).
> Is bulk transfer supported for the current xp sp2 usbvideo.sys driver?
> Is this a known bug?
> What's the best setup to debug this situation?
> Any other hint?
>
> Thanks
>
> AT