Eu construí um dispositivo Bluetooth LE HID que é um dispositivo combinado de teclado, mouse e consumidor. Todos os sistemas operacionais podem se conectar a ele bem ... exceto o Windows 8.1, em todo o hardware. Ele se conecta e se duplica, mas parece falhar ao analisar o descritor HID (estou supondo aqui). Em seguida, exibe "Driver Error" e desconecta do dispositivo.
Apenas o teclado aparece em Impressoras e Dispositivos com um aviso. Nas propriedades, afirma que há um 'erro PnP'.
Eu habilitei o Driver Verifier, então quando eu me conecto agora recebo um BSOD driver_verifier_iomanager_violation
Fazendo uma análise do despejo de memória que recebo:
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
DRIVER_VERIFIER_IOMANAGER_VIOLATION (c9)
The IO manager has caught a misbehaving driver.
Arguments:
Arg1: 000000000000024c, A driver has returned STATUS_PENDING but did not mark the IRP pending via a
call to IoMarkIrpPending.
Arg2: fffff8040090aa50, The address in the driver's code where the error was detected.
Arg3: ffffcf819e230bd0, IRP address.
Arg4: 0000000000000103, Status code.
Debugging Details:
------------------
BUGCHECK_STR: 0xc9_24c
DRIVER_VERIFIER_IO_VIOLATION_TYPE: 24c
FAULTING_IP:
nt!ViGenericInternalDeviceControl+0
fffff804'0090aa50 4c8b05b117c8ff mov r8,qword ptr [nt!pXdvIRP_MJ_INTERNAL_DEVICE_CONTROL (fffff804'0058c208)]
FOLLOWUP_IP:
BTHUSB!BthUsb_AsynchCallUsbd+5b
fffff801'0ffdd65f 8bd8 mov ebx,eax
IRP_ADDRESS: ffffcf819e230bd0
DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT
PROCESS_NAME: System
CURRENT_IRQL: 2
ANALYSIS_VERSION: 6.3.9600.17237 (debuggers(dbg).140716-0327) amd64fre
LAST_CONTROL_TRANSFER: from fffff804008fa6b0 to fffff804003c5aa0
STACK_TEXT:
ffffd000'e24836a8 fffff804'008fa6b0 : 00000000'000000c9 00000000'0000024c fffff804'0090aa50 ffffcf81'9e230bd0 : nt!KeBugCheckEx
ffffd000'e24836b0 fffff804'008fd171 : fffff804'008ed470 fffff804'0090aa50 ffffcf81'9e230bd0 00000000'00000103 : nt!VerifierBugCheckIfAppropriate+0x3c
ffffd000'e24836f0 fffff804'008f3bd2 : ffffe001'165f3f40 ffffd000'e2483850 ffffe001'166b0b30 00000000'00000000 : nt!ViErrorFinishReport+0x10d
ffffd000'e2483750 fffff804'008f9bd5 : 00000000'00000000 fffff804'0090aec9 ffffe001'165f3f40 00000000'00020000 : nt!IovpCallDriver2+0x33e
ffffd000'e2483b20 fffff804'008ee928 : ffffcf81'9e230bd0 00000000'00000002 ffffcf81'9e230bd0 00000000'00000000 : nt!VfAfterCallDriver+0x289
ffffd000'e2483bb0 fffff804'0090aec9 : ffffcf81'9e230bd0 ffffe001'15303410 00000000'00000002 ffffe001'165f3f40 : nt!IovCallDriver+0x3e4
ffffd000'e2483c00 fffff804'008ee911 : ffffe001'15303560 ffffcf81'9e230bd0 fffff804'00395bd8 fffff804'0034fa7c : nt!ViFilterDispatchGeneric+0xd1
ffffd000'e2483c40 fffff801'0f806989 : ffffcf81'9e230bd0 fffff801'0ffdd65f fffff804'00395bd8 ffffe001'15dadde0 : nt!IovCallDriver+0x3cd
ffffd000'e2483c90 fffff801'0ffdd65f : ffffcf81'93704f00 ffffcf81'8374ab98 ffffcf81'844eaed0 ffffcf81'8374ab98 : VerifierExt!IofCallDriver_internal_wrapper+0x71
ffffd000'e2483cd0 fffff801'0ffdb9f8 : ffffcf81'93704f00 ffffcf81'844eaed0 ffffcf81'844eaed0 ffffcf81'8374aaa0 : BTHUSB!BthUsb_AsynchCallUsbd+0x5b
ffffd000'e2483d10 fffff801'0ffdbc48 : ffffcf81'93704f00 ffffd000'e2483dd0 ffffcf81'844eaed0 ffffcf81'844eaed0 : BTHUSB!BthUsb_SendTransferUrb+0xe8
ffffd000'e2483d50 fffff801'0ffdaf65 : ffffcf81'8f214fb8 ffffcf81'8374aaa0 ffffcf81'8f214fb8 ffffcf81'8374aaa0 : BTHUSB!BthUsb_WriteAclData+0x234
ffffd000'e2483e00 fffff801'12ca338b : ffffcf81'8f214fb8 ffffd000'e2483f40 ffffcf81'8d1e0ba0 ffffcf81'91184480 : BTHUSB!BthUsb_HciWrite+0xc1
ffffd000'e2483e40 fffff801'12ca3a3c : ffffcf81'91184480 ffffcf81'91184480 00000000'00000000 ffffcf81'8d1e0ba0 : bthport!HCI_SendNextAclWrite+0x943
ffffd000'e2483ff0 fffff801'12ca3cb6 : ffffcf81'9c702ed0 ffffcf81'8897af80 ffffcf81'91184480 00000000'0000001b : bthport!HCI_QueueOrStartAclWrBip+0x15c
ffffd000'e2484070 fffff801'12cf1b8d : ffffcf81'9322cc10 ffffcf81'8d1e0c30 ffffcf81'9c702ed0 ffffd000'e2484140 : bthport!HCI_WriteAclData+0x16e
ffffd000'e24840f0 fffff801'12ce2db5 : ffffcf81'9c702fbc 00000000'c0000225 ffffd000'e24841e9 00000000'00000000 : bthport!L2CapInt_SendFixedCIDData+0xf1
ffffd000'e2484140 fffff801'12ce2381 : ffffcf81'9322cc10 ffffcf81'9322cc10 fffff801'12d0e660 fffff801'12ce2278 : bthport!L2capCon_ProcessPostConnect+0x131
ffffd000'e2484250 fffff801'12cad868 : 00000000'00000000 ffffcf81'8d1e0c30 ffffcf81'9322cc28 ffffcf81'9322cc00 : bthport!L2CapCon_HciConnectCallback+0x109
ffffd000'e2484300 fffff801'12cb3c7d : 00000000'00000000 00000007'8033ec0c ffffcf81'8d1e0ba0 00000000'00000000 : bthport!HCI_CxnCallClientCallback+0xb0
ffffd000'e2484380 fffff801'12ce3069 : ffffcf81'00000000 00000007'8033ec0c ffffcf81'91184480 ffffcf81'9322cc10 : bthport!HCI_CreateConnection+0x2f5
ffffd000'e2484420 fffff801'12ce66f6 : 00000000'00000000 ffffcf81'97ea0d58 ffffcf81'9322cc10 fffff801'12d0e660 : bthport!L2capCon_CreateHciConnection+0xb5
ffffd000'e24844a0 fffff801'12ce6c54 : ffffcf81'96570a20 ffffcf81'9322cc10 ffffcf81'96570a20 ffffd000'e24845b8 : bthport!L2CapCon_ProcessNextSignalRequest+0x1a6
ffffd000'e2484560 fffff801'12c941ce : ffffe001'15311db0 ffffd000'e2484680 ffffcf81'97ea0d58 00000000'00000020 : bthport!L2CapInt_HandleSignalRequest+0x158
ffffd000'e2484600 fffff801'12c9299c : ffffe001'00000078 ffffe001'171cf301 ffffe001'15311c60 ffffe001'15311c60 : bthport!BthDispatchBrb+0xcda
ffffd000'e24846c0 fffff801'12c928bb : ffffcf81'96570a20 ffffe001'171cf310 00000000'00000000 00000000'00000103 : bthport!BthHandleInternalControl+0xdc
ffffd000'e2484720 fffff801'0f80d572 : ffffe001'15311c01 ffffe001'15311c60 ffffd000'e24847b0 fffff801'12c9279c : bthport!BthDispatchInternalControl+0x11f
ffffd000'e2484780 fffff804'008ee911 : ffffcf81'96570a20 00000000'00000002 ffffe001'16155f10 ffffcf81'8a348f00 : VerifierExt!xdv_IRP_MJ_INTERNAL_DEVICE_CONTROL_wrapper+0xfe
ffffd000'e24847e0 fffff804'0090aec9 : ffffcf81'96570a20 ffffe001'200fa4d0 00000000'00000002 ffffe001'15064510 : nt!IovCallDriver+0x3cd
ffffd000'e2484830 fffff804'008ee911 : ffffe001'200fa620 ffffcf81'96570a20 fffff804'00395bd8 ffffe001'15033310 : nt!ViFilterDispatchGeneric+0xd1
ffffd000'e2484870 fffff801'0f806989 : ffffcf81'96570a20 fffff801'0fabd056 fffff804'00395bd8 ffffe001'154f7f40 : nt!IovCallDriver+0x3cd
ffffd000'e24848c0 fffff801'0fabd056 : 00000000'00000005 ffffd000'e2484948 ffffcf81'97ea0d58 ffffcf81'97ea0d58 : VerifierExt!IofCallDriver_internal_wrapper+0x71
ffffd000'e2484900 fffff801'12dba9b0 : ffffcf81'97fb8fc0 ffffcf81'9013ae60 ffffcf81'8b3dae70 00000000'0041400b : Wdf01000!imp_WdfRequestSend+0x156
ffffd000'e2484960 fffff801'12dbb1f1 : ffffcf81'97ea0d58 0000307e'7952b0a8 0000307e'6fec5198 ffffe001'15033310 : BthLEEnum!BthLEEnumSendBrbAsync+0x118
ffffd000'e2484a00 fffff801'12dbbc92 : 00000000'00000000 ffffd000'e2484ab1 00000000'00000017 ffffcf81'9013af70 : BthLEEnum!BthLEEnumSendFixedCIDData+0xd5
ffffd000'e2484a40 fffff801'0fadbd00 : ffffcf81'7f678e00 00000000'00000000 ffffcf81'7f678e00 00000000'00000002 : BthLEEnum!BthLEEnumRootDeviceInternalIoControl+0x2c6
ffffd000'e2484b10 fffff801'0fab7d80 : fffff801'0fb2c300 ffffcf81'9013ae60 ffffcf81'7f678c20 0000307e'6fec5198 : Wdf01000!FxIoQueueIoInternalDeviceControl::Invoke+0x4c
ffffd000'e2484b50 fffff801'0fab7123 : 00000000'00000200 fffff801'0fb2c100 ffffcf81'94d1ef02 ffffd000'e2484d40 : Wdf01000!FxIoQueue::DispatchRequestToDriver+0x570
ffffd000'e2484c20 fffff801'0faefc60 : ffffcf81'7f678c20 00000000'00000000 00000000'00000000 00000000'00000001 : Wdf01000!FxIoQueue::DispatchEvents+0x363
ffffd000'e2484ce0 fffff801'0faef94e : ffffcf81'9544ac00 ffffcf81'9544ac20 ffffd000'e2484d70 ffffcf81'9013af90 : Wdf01000!FxIoQueue::QueueRequestFromForward+0x1ec
ffffd000'e2484d40 fffff801'0fb4486b : 00000000'00000000 ffffcf81'9013ae60 ffffcf81'9013ae60 fffff801'0facfbd0 : Wdf01000!FxIoQueue::ForwardRequestWorker+0xee
ffffd000'e2484db0 fffff801'0fb20976 : 0000307e'809873d8 ffffd000'e2484e40 ffffcf81'7f678c20 00000000'00000041 : Wdf01000!FxIoQueue::ForwardRequestToParent+0xeb
ffffd000'e2484de0 fffff801'12dc16fa : 00000000'00000000 0000307e'710e1518 ffffe001'15030000 ffffcf81'9706ef00 : Wdf01000!imp_WdfRequestForwardToParentDeviceIoQueue+0x1ae
ffffd000'e2484e70 fffff801'0fadbd00 : ffffcf81'9544ae00 0000307e'6fec5198 0000307e'6fec5198 00000000'00000017 : BthLEEnum!BthLEEnumDevicePdoIoInternalDeviceControl+0x5aa
ffffd000'e2484f10 fffff801'0fab7d80 : fffff801'0fb2c300 ffffcf81'9013ae60 ffffcf81'9544ac20 0000307e'6fec5198 : Wdf01000!FxIoQueueIoInternalDeviceControl::Invoke+0x4c
ffffd000'e2484f50 fffff801'0fab7123 : 00000000'00000200 fffff801'0fb2c100 ffffcf81'9750cf02 ffffd000'e2485150 : Wdf01000!FxIoQueue::DispatchRequestToDriver+0x570
ffffd000'e2485020 fffff801'0fac3279 : ffffcf81'9544ac20 ffffcf81'9013ae00 00000000'00000000 ffffd000'e24851c9 : Wdf01000!FxIoQueue::DispatchEvents+0x363
ffffd000'e24850e0 fffff801'0fabbd93 : ffffcf81'96570a00 ffffcf81'9013ae60 ffffcf81'96570a20 ffffcf81'96570a20 : Wdf01000!FxIoQueue::QueueRequest+0x8d
ffffd000'e2485150 fffff801'0f80d572 : 00000000'00020000 ffffd000'e2485200 ffffcf81'8ef1eae0 fffff801'0fabb240 : Wdf01000!FxDevice::DispatchWithLock+0xb51
ffffd000'e2485230 fffff804'008ee911 : ffffcf81'96570a20 00000000'00000002 ffffe001'169ae960 ffffe001'15413880 : VerifierExt!xdv_IRP_MJ_INTERNAL_DEVICE_CONTROL_wrapper+0xfe
ffffd000'e2485290 fffff804'0090aec9 : ffffcf81'96570a20 ffffe001'161af040 00000000'00000002 ffffe001'160d36e0 : nt!IovCallDriver+0x3cd
ffffd000'e24852e0 fffff804'008ee911 : ffffe001'161af190 ffffcf81'96570a20 fffff804'00395bd8 ffffd000'e2485401 : nt!ViFilterDispatchGeneric+0xd1
ffffd000'e2485320 fffff801'0f806989 : ffffcf81'96570a20 fffff801'0fabc711 fffff804'00395bd8 ffffe001'14c8a320 : nt!IovCallDriver+0x3cd
ffffd000'e2485370 fffff801'0fabc711 : ffffd000'e24855f0 ffffd000'e2485449 ffffcf81'901d6e70 ffffd000'e2485449 : VerifierExt!IofCallDriver_internal_wrapper+0x71
ffffd000'e24853b0 fffff801'0fada89c : 00000000'00000000 ffffd000'e2485500 00000000'00000001 00000000'00000000 : Wdf01000!FxIoTarget::SubmitSync+0x191
ffffd000'e24854b0 fffff801'0fb32f48 : fffff801'12dd0000 ffffcf81'901d6e70 ffffcf81'9706efe0 fffff804'008efece : Wdf01000!FxIoTargetSendIoctl+0x1e4
ffffd000'e2485760 fffff801'12ddd63e : 02680284'028402a0 ffffd000'e2485830 00000000'00000280 00000000'00000000 : Wdf01000!imp_WdfIoTargetSendInternalIoctlSynchronously+0x48
ffffd000'e24857c0 fffff801'12de327c : 00000000'00000000 00000000'00000000 ffffd000'e24858e8 fffff801'12dd4f10 : BthLEEnum!BthLEEnumDeviceFdoSendAttDataSync+0x11a
ffffd000'e2485850 fffff801'12de2fe0 : 00000000'00000000 ffffe001'14745310 00000000'00000007 00000000'0000ffff : BthLEEnum!BthLEAttSendPduOneWayInternal+0x160
ffffd000'e24858b0 fffff801'12de1e3e : ffffd000'e2485a90 ffffd000'e24859a9 00000000'0000ffff 00000000'00000000 : BthLEEnum!BthLEAttSendPduTwoWay+0xa8
ffffd000'e2485920 fffff801'12de5415 : 00000000'00000000 00000000'00000000 ffffd000'e2485b00 00000000'00000000 : BthLEEnum!BthLEAttReadByGroupType+0x146
ffffd000'e2485a00 fffff801'12de48b1 : ffffe001'14745310 ffffe001'00000000 00000000'00000000 ffffd000'e2485c08 : BthLEEnum!BthLEGattGetServicesInternal+0x231
ffffd000'e2485b70 fffff801'12ddc49d : 00000000'00000000 00000000'00000000 00000000'00000000 ffffe001'00000000 : BthLEEnum!BthLEGattThoroughRun+0x17d
ffffd000'e2485c00 fffff801'0facb242 : ffffcf81'7f61ea50 ffffd000'e2485db0 fffff801'0fb58ba0 00000000'00000000 : BthLEEnum!BthLEEnumDeviceFdoD0Entry+0x21d
ffffd000'e2485c50 fffff801'0fac7268 : 00000000'00000000 ffffd000'e2485db0 fffff801'0fb58c80 00000000'00000000 : Wdf01000!FxPkgPnp::PowerD0Starting+0x32
ffffd000'e2485cb0 fffff801'0fac765a : ffffcf81'7f61ea50 fffff801'0fb589c0 ffffcf81'7f61ea50 fffff801'0fb589c0 : Wdf01000!FxPkgPnp::PowerEnterNewState+0x138
ffffd000'e2485e00 fffff801'0fac73df : 00000000'00000000 ffffd000'e2485ef0 ffffcf81'7f61ec50 00000000'00000504 : Wdf01000!FxPkgPnp::PowerProcessEventInner+0xc6
ffffd000'e2485e80 fffff801'0facb062 : 00000000'00000000 ffffcf81'7f61ea50 00000000'00000501 ffffd000'e24860b0 : Wdf01000!FxPkgPnp::PowerProcessEvent+0xef
ffffd000'e2485f20 fffff801'0fac6c74 : ffffcf81'7f61ea50 ffffd000'e2485fc0 00000000'00000500 fffff804'0034f920 : Wdf01000!FxPkgPnp::NotPowerPolOwnerStarting+0xe
ffffd000'e2485f50 fffff801'0fac7069 : ffffcf81'7f61ea50 00000000'00000001 ffffcf81'7f61ea50 00000000'00000001 : Wdf01000!FxPkgPnp::NotPowerPolicyOwnerEnterNewState+0xf4
ffffd000'e2485fe0 fffff801'0fac6dd8 : 00000000'00000000 ffffd000'e24860d0 ffffcf81'7f61ed28 00000000'00000000 : Wdf01000!FxPkgPnp::PowerPolicyProcessEventInner+0x1df
ffffd000'e2486060 fffff801'0facd022 : 00000000'00000000 ffffe001'16877040 00000000'00000000 00000000'00000000 : Wdf01000!FxPkgPnp::PowerPolicyProcessEvent+0x10c
ffffd000'e2486100 fffff801'0fac5942 : 00000000'00000101 00000000'00000108 00000000'00000108 fffff804'0034f920 : Wdf01000!FxPkgPnp::PnpEventHardwareAvailable+0x9e
ffffd000'e2486140 fffff801'0fac5a5a : ffffcf81'7f61ea50 ffffcf81'7f61eb00 ffffcf81'7f61ea50 ffffcf81'7f61eb00 : Wdf01000!FxPkgPnp::PnpEnterNewState+0x102
ffffd000'e24861d0 fffff801'0fac5bc4 : 00000000'00000000 ffffd000'e24862c0 ffffcf81'7f61eb80 00000000'00000000 : Wdf01000!FxPkgPnp::PnpProcessEventInner+0xc2
STACK_COMMAND: kb
SYMBOL_STACK_INDEX: 9
SYMBOL_NAME: BTHUSB!BthUsb_AsynchCallUsbd+5b
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: BTHUSB
IMAGE_NAME: BTHUSB.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 545054f8
BUCKET_ID_FUNC_OFFSET: 5b
FAILURE_BUCKET_ID: 0xc9_24c_VRF_BTHUSB!BthUsb_AsynchCallUsbd
BUCKET_ID: 0xc9_24c_VRF_BTHUSB!BthUsb_AsynchCallUsbd
ANALYSIS_SOURCE: KM
FAILURE_ID_HASH_STRING: km:0xc9_24c_vrf_bthusb!bthusb_asynchcallusbd
FAILURE_ID_HASH: {dedf9404-a46e-32ea-628e-5dcde5ffdf19}
Followup: MachineOwner
Para onde eu vou daqui?
Tags drivers bluetooth windows-8.1 bsod