Hi All,

I am porting Windows CE 4.0 (Hitachi SH7727 PFM_DS11 platform) USB
OHCI driver to Windows CE 4.2. I am facing following problem in
keyboard HID driver.

4294818975 PID:6df46f22 TID:8de9baa6 0x8de94900: KbdHid: DEBUGCHK
failed in file d:\mckendric\public\common\oak\drivers\usb\class\hid\clients\kbdhid\kbdhid.cpp
at line 1122.

Windows CE 4.2 (kbdhid.cpp) Source (where I get DEBUGCHK fail) ...

DWORD dwIdx;
const VKeyToShiftState *pvkshiftCurr;

DEBUGCHK(pKeyStateFlags != NULL);
>>> DEBUGCHK(vk != 0); <<< Line 1122 kbdhid.cpp

for (dwIdx = 0; dwIdx < dim(rgVKeyDownToShiftState); ++dwIdx) {
pvkshiftCurr = &rgVKeyDownToShiftState[dwIdx];
if (pvkshiftCurr->vk == vk) {
if (hidpKeyEvent == HidP_Keyboard_Make) {
*pKeyStateFlags |= pvkshiftCurr->ksf;
}
else {
*pKeyStateFlags &= ~pvkshiftCurr->ksf;
}
break;
here are the debug message I am getting which shows All the drivers
except Client HID driver loading fails.

4294769084 PID:6df46f22 TID:6df5bfae 0x8df40580: >>> Loading module
ohci.dll at address 0x037B0000-0x037D7000 (RW data at
0x01F85000-0x01F85880)
Loaded symbols for 'D:\WINCE420\PUBLIC\MYSH7727\RELDIR\PFM_DS11-SH3DEBUG\OHCI.DLL'
4294769112 PID:6df46f22 TID:6df5bfae 0x8df40580: >>> Loading module
usbd.dll at address 0x03B50000-0x03B5E000 (RW data at
0x01FBD000-0x01FBD5BC)
Loaded symbols for 'D:\WINCE420\PUBLIC\MYSH7727\RELDIR\PFM_DS11-SH3DEBUG\USBD.DLL'
4294769112 PID:6df46f22 TID:6df5bfae 0x8df40580: USBD: DLL attach
4294769114 PID:6df46f22 TID:6df5bfae 0x8df40580: +USBD:HcdAttach, hcd:
0x321C0
4294769785 PID:6df46f22 TID:edea8606 0x8dea8000: >>> Loading module
hidparse.dll at address 0x03B30000-0x03B40000 (RW data at
0x01FB9000-0x01FB9474)
Loaded symbols for 'D:\WINCE420\PUBLIC\MYSH7727\RELDIR\PFM_DS11-SH3DEBUG\HIDPARSE.DLL'
4294769786 PID:6df46f22 TID:edea8606 0x8dea8000: >>> Loading module
usbhid.dll at address 0x03B40000-0x03B50000 (RW data at
0x01FBB000-0x01FBB548)
Loaded symbols for 'D:\WINCE420\PUBLIC\MYSH7727\RELDIR\PFM_DS11-SH3DEBUG\USBHID.DLL'
4294769789 PID:6df46f22 TID:edea8606 0x8dea8000:
DEVICE!ActivateDeviceEx(Drivers\USB\ClientDrivers\Hid_Class) entered
4294769793 PID:6df46f22 TID:edea8606 0x8dea8000: PNP interface class
{f8a6ba98-087a-43ac-a9d8-b7f13c5bae31} (HID1:) ATTACH
4294769794 PID:6df46f22 TID:edea8606 0x8dea8000: +USBD:OpenPipe, EP:
129, MaxPkt: 8, Type: Interrupt
4294769795 PID:6df46f22 TID:edea8606 0x8dea8000: -USBD:OpenPipe
success, hPipe = 3ADD0
4294769800 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Preparing
to Allocate memory
4294769801 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Top Level
Collection 1 found
4294769801 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Collection
1 exit
4294769802 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Starting
Parsing Pass
4294769802 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Parse
Collection 1
4294769803 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
Offset:8
4294769803 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
Offset:10
4294769804 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Out
offset:8
4294769804 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Out
offset:b
4294769805 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
Offset:18
4294769806 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'X Parse
Collection 1
Loaded symbols for 'D:\WINCE420\PUBLIC\MYSH7727\RELDIR\PFM_DS11-SH3DEBUG\KBDHID.DLL'
4294770071 PID:6df46f22 TID:edea8606 0x8dea8000: >>> Loading module
kbdhid.dll at address 0x03B20000-0x03B28000 (RW data at
0x01FB7000-0x01FB74DF)
4294771086 PID:6df46f22 TID:edea8606 0x8dea8000:
DEVICE!ActivateDeviceEx(Drivers\HID\ClientDrivers\Keyboard) entered
4294771091 PID:6df46f22 TID:edea8606 0x8dea8000: PNP interface class
{CBE6DDF2-F5D4-4e16-9F61-4CCC0B6695F3} (KBD1:) ATTACH
4294771352 PID:6df46f22 TID:edea8606 0x8dea8000: +USBD:OpenPipe, EP:
130, MaxPkt: 8, Type: Interrupt
4294771353 PID:6df46f22 TID:edea8606 0x8dea8000: -USBD:OpenPipe
success, hPipe = 3B6A0
4294770095 PID:4dec284a TID:4df5bd8a 0x8dec28b8: Created 16 Bpp
bitfield-palette, handle = 0x0000000c
4294771356 PID:4dec284a TID:4df5bd8a 0x8dec28b8: Bits-per-pixel: 16
4294771363 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Preparing
to Allocate memory
4294771363 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Top Level
Collection 1 found
4294771364 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Enter Link
Collection
4294771364 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Exit Link
Collection
4294771365 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Collection
1 exit
4294771365 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Top Level
Collection 2 found
4294771365 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Collection
2 exit
4294771366 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Top Level
Collection 3 found
4294771366 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Collection
3 exit
4294771370 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Starting
Parsing Pass
4294771371 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Parse
Collection 1
4294771372 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
Offset:8
4294771373 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
Offset:b
4294771374 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
Offset:10
4294771376 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'X Parse
Collection 1
4294771377 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Parse
Collection 2
4294771378 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
Offset:8
4294771379 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
Offset:b
4294771380 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'X Parse
Collection 2
4294771381 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Parse
Collection 3
4294771382 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
Offset:8
4294771384 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'X Parse
Collection 3
4294771467 PID:6df46f22 TID:adf13f72 0x8df10400: NDIS:
-ProcessPcmciaDeviceNotificationMessages
4294771406 PID:6df46f22 TID:edea8606 0x8dea8000: FindClientRegKey:
Could not find a suitable HID client driver
4294772665 PID:6df46f22 TID:edea8606 0x8dea8000: FindClientRegKey:
Could not find a suitable HID client driver

Now whenever I press any key on USB keyboard I get following DEBUG
CCHK failed
message.

4294818975 PID:6df46f22 TID:8de9baa6 0x8de94900: KbdHid: DEBUGCHK
failed in file
d:\mckendric\public\common\oak\drivers\usb\class\hid\clients\kbdhid\kbdhid.cpp
at line 1122
4294818981 PID:6df46f22 TID:8de9baa6 0x8de94900: KbdHid: DEBUGCHK
failed in file d:\mckendric\public\common\oak\drivers\usb\class\hid\clients\kbdhid\kbdhid.cpp
at line 1122
4294818986 PID:6df46f22 TID:8de9baa6 0x8de94900: KbdHid: DEBUGCHK
failed in file d:\mckendric\public\common\oak\drivers\usb\class\hid\clients\kbdhid\kbdhid.cpp
at line 1122
4294818992 PID:6df46f22 TID:8de9baa6 0x8de94900: KbdHid: DEBUGCHK
failed in file d:\mckendric\public\common\oak\drivers\usb\class\hid\clients\kbdhid\kbdhid.cpp
at line 1122

All the registry setting which are in common.reg I have kept as it is.
Am I missing something ?
Is anything wrong with my OHCI driver ?

Thanks in advance.
Rajesh

Re: Windows CE 4.2(Eval) Debug Check failed kbdhid.cpp at line 1122 by R

R
Fri May 28 09:47:37 CDT 2004

Hello,

the problem is caused by a hardware restriction of the SH7727. For details
look into the SH7727 hardware manual unter the topic "Restriction of the
Data Size in IN Transfer" in the chapter "USB Host module". To solve the
problem you have to modify the HID driver. The HID driver should request
exactly the number of bytes from the OHCI, which are delivered by the HID
device.

Ruediger
"Rajesh" <rajeshvinchhi@hotmail.com> schrieb im Newsbeitrag
news:d318ab39.0405280120.504d189f@posting.google.com...
> Hi All,
>
> I am porting Windows CE 4.0 (Hitachi SH7727 PFM_DS11 platform) USB
> OHCI driver to Windows CE 4.2. I am facing following problem in
> keyboard HID driver.
>
> 4294818975 PID:6df46f22 TID:8de9baa6 0x8de94900: KbdHid: DEBUGCHK
> failed in file
d:\mckendric\public\common\oak\drivers\usb\class\hid\clients\kbdhid\kbdhid.c
pp
> at line 1122.
>
> Windows CE 4.2 (kbdhid.cpp) Source (where I get DEBUGCHK fail) ...
>
> DWORD dwIdx;
> const VKeyToShiftState *pvkshiftCurr;
>
> DEBUGCHK(pKeyStateFlags != NULL);
> >>> DEBUGCHK(vk != 0); <<< Line 1122 kbdhid.cpp
>
> for (dwIdx = 0; dwIdx < dim(rgVKeyDownToShiftState); ++dwIdx) {
> pvkshiftCurr = &rgVKeyDownToShiftState[dwIdx];
> if (pvkshiftCurr->vk == vk) {
> if (hidpKeyEvent == HidP_Keyboard_Make) {
> *pKeyStateFlags |= pvkshiftCurr->ksf;
> }
> else {
> *pKeyStateFlags &= ~pvkshiftCurr->ksf;
> }
> break;
> here are the debug message I am getting which shows All the drivers
> except Client HID driver loading fails.
>
> 4294769084 PID:6df46f22 TID:6df5bfae 0x8df40580: >>> Loading module
> ohci.dll at address 0x037B0000-0x037D7000 (RW data at
> 0x01F85000-0x01F85880)
> Loaded symbols for
'D:\WINCE420\PUBLIC\MYSH7727\RELDIR\PFM_DS11-SH3DEBUG\OHCI.DLL'
> 4294769112 PID:6df46f22 TID:6df5bfae 0x8df40580: >>> Loading module
> usbd.dll at address 0x03B50000-0x03B5E000 (RW data at
> 0x01FBD000-0x01FBD5BC)
> Loaded symbols for
'D:\WINCE420\PUBLIC\MYSH7727\RELDIR\PFM_DS11-SH3DEBUG\USBD.DLL'
> 4294769112 PID:6df46f22 TID:6df5bfae 0x8df40580: USBD: DLL attach
> 4294769114 PID:6df46f22 TID:6df5bfae 0x8df40580: +USBD:HcdAttach, hcd:
> 0x321C0
> 4294769785 PID:6df46f22 TID:edea8606 0x8dea8000: >>> Loading module
> hidparse.dll at address 0x03B30000-0x03B40000 (RW data at
> 0x01FB9000-0x01FB9474)
> Loaded symbols for
'D:\WINCE420\PUBLIC\MYSH7727\RELDIR\PFM_DS11-SH3DEBUG\HIDPARSE.DLL'
> 4294769786 PID:6df46f22 TID:edea8606 0x8dea8000: >>> Loading module
> usbhid.dll at address 0x03B40000-0x03B50000 (RW data at
> 0x01FBB000-0x01FBB548)
> Loaded symbols for
'D:\WINCE420\PUBLIC\MYSH7727\RELDIR\PFM_DS11-SH3DEBUG\USBHID.DLL'
> 4294769789 PID:6df46f22 TID:edea8606 0x8dea8000:
> DEVICE!ActivateDeviceEx(Drivers\USB\ClientDrivers\Hid_Class) entered
> 4294769793 PID:6df46f22 TID:edea8606 0x8dea8000: PNP interface class
> {f8a6ba98-087a-43ac-a9d8-b7f13c5bae31} (HID1:) ATTACH
> 4294769794 PID:6df46f22 TID:edea8606 0x8dea8000: +USBD:OpenPipe, EP:
> 129, MaxPkt: 8, Type: Interrupt
> 4294769795 PID:6df46f22 TID:edea8606 0x8dea8000: -USBD:OpenPipe
> success, hPipe = 3ADD0
> 4294769800 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Preparing
> to Allocate memory
> 4294769801 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Top Level
> Collection 1 found
> 4294769801 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Collection
> 1 exit
> 4294769802 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Starting
> Parsing Pass
> 4294769802 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Parse
> Collection 1
> 4294769803 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
> Offset:8
> 4294769803 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
> Offset:10
> 4294769804 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Out
> offset:8
> 4294769804 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Out
> offset:b
> 4294769805 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
> Offset:18
> 4294769806 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'X Parse
> Collection 1
> Loaded symbols for
'D:\WINCE420\PUBLIC\MYSH7727\RELDIR\PFM_DS11-SH3DEBUG\KBDHID.DLL'
> 4294770071 PID:6df46f22 TID:edea8606 0x8dea8000: >>> Loading module
> kbdhid.dll at address 0x03B20000-0x03B28000 (RW data at
> 0x01FB7000-0x01FB74DF)
> 4294771086 PID:6df46f22 TID:edea8606 0x8dea8000:
> DEVICE!ActivateDeviceEx(Drivers\HID\ClientDrivers\Keyboard) entered
> 4294771091 PID:6df46f22 TID:edea8606 0x8dea8000: PNP interface class
> {CBE6DDF2-F5D4-4e16-9F61-4CCC0B6695F3} (KBD1:) ATTACH
> 4294771352 PID:6df46f22 TID:edea8606 0x8dea8000: +USBD:OpenPipe, EP:
> 130, MaxPkt: 8, Type: Interrupt
> 4294771353 PID:6df46f22 TID:edea8606 0x8dea8000: -USBD:OpenPipe
> success, hPipe = 3B6A0
> 4294770095 PID:4dec284a TID:4df5bd8a 0x8dec28b8: Created 16 Bpp
> bitfield-palette, handle = 0x0000000c
> 4294771356 PID:4dec284a TID:4df5bd8a 0x8dec28b8: Bits-per-pixel: 16
> 4294771363 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Preparing
> to Allocate memory
> 4294771363 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Top Level
> Collection 1 found
> 4294771364 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Enter Link
> Collection
> 4294771364 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Exit Link
> Collection
> 4294771365 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Collection
> 1 exit
> 4294771365 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Top Level
> Collection 2 found
> 4294771365 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Collection
> 2 exit
> 4294771366 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Top Level
> Collection 3 found
> 4294771366 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Collection
> 3 exit
> 4294771370 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Starting
> Parsing Pass
> 4294771371 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Parse
> Collection 1
> 4294771372 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
> Offset:8
> 4294771373 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
> Offset:b
> 4294771374 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
> Offset:10
> 4294771376 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'X Parse
> Collection 1
> 4294771377 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Parse
> Collection 2
> 4294771378 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
> Offset:8
> 4294771379 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
> Offset:b
> 4294771380 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'X Parse
> Collection 2
> 4294771381 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Parse
> Collection 3
> 4294771382 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'Main
> Offset:8
> 4294771384 PID:6df46f22 TID:edea8606 0x8dea8000: HidParse: 'X Parse
> Collection 3
> 4294771467 PID:6df46f22 TID:adf13f72 0x8df10400: NDIS:
> -ProcessPcmciaDeviceNotificationMessages
> 4294771406 PID:6df46f22 TID:edea8606 0x8dea8000: FindClientRegKey:
> Could not find a suitable HID client driver
> 4294772665 PID:6df46f22 TID:edea8606 0x8dea8000: FindClientRegKey:
> Could not find a suitable HID client driver
>
> Now whenever I press any key on USB keyboard I get following DEBUG
> CCHK failed
> message.
>
> 4294818975 PID:6df46f22 TID:8de9baa6 0x8de94900: KbdHid: DEBUGCHK
> failed in file
>
d:\mckendric\public\common\oak\drivers\usb\class\hid\clients\kbdhid\kbdhid.c
pp
> at line 1122
> 4294818981 PID:6df46f22 TID:8de9baa6 0x8de94900: KbdHid: DEBUGCHK
> failed in file
d:\mckendric\public\common\oak\drivers\usb\class\hid\clients\kbdhid\kbdhid.c
pp
> at line 1122
> 4294818986 PID:6df46f22 TID:8de9baa6 0x8de94900: KbdHid: DEBUGCHK
> failed in file
d:\mckendric\public\common\oak\drivers\usb\class\hid\clients\kbdhid\kbdhid.c
pp
> at line 1122
> 4294818992 PID:6df46f22 TID:8de9baa6 0x8de94900: KbdHid: DEBUGCHK
> failed in file
d:\mckendric\public\common\oak\drivers\usb\class\hid\clients\kbdhid\kbdhid.c
pp
> at line 1122
>
> All the registry setting which are in common.reg I have kept as it is.
> Am I missing something ?
> Is anything wrong with my OHCI driver ?
>
> Thanks in advance.
> Rajesh