none
Embedded Compact 7 USB Error Messages RRS feed

  • Question

  • Hi,

     

    Under EC7, Update3, seeing some USB related error messages that I don't recall seeing under CE6.  From a functionality perspective, things seem to be working though.  Also, seeing some errors related to HcdPipeCache being full, suggesting increasing the registry value, as well as some debugchecks being hit in the USB drivers, but there is no registry key by this name in the generated CE image.  Anyone knowledgeable in USB that may be able to weigh in? 

     

    20003 PID:400002 TID:384002a OSAXST1: >>> Loading Module 'ftdi_ser.dll' (0xC0456000) at address 0xCDB80000-0xCDB93000 in Process 'NK.EXE' (0x8B49FAD0)

    PB Debugger Loaded 'FTDI_SER.DLL', no matching symbolic information found.

    20051 PID:3c7001a TID:37f002a OSAXST1: >>> Loading Module 'servicesfilter.dll' (0xC0455440) at address 0x40230000-0x40243000 in Process 'servicesd.exe' (0xC04546F8)

    20204 PID:400002 TID:384002a EHCD: CFunction(tier 2)::OpenPipe - address 2 pipe 1 appears to have been opened before

    20204 PID:400002 TID:384002a -USBD:OpenPipe - pipe is already open

    20204 PID:400002 TID:384002a !USBD:OpenPipe returning error

    20226 PID:400002 TID:384002a RHeapCheckFreeSentinels: Bad free item: 0xCD9FA930 @0xCD9FAA34 -> 0x1c SHDB 0xcccccccc. Raising exception ...

    20226 PID:400002 TID:384002a RHeapCheckFreeSentinels: Previous Allocation details @0xcd9faa34 Size:0x00000280 FreePC:0xcdb87580 AllocPC:0xcdb87fd8

    20226 PID:400002 TID:384002a Exception 'Raised Exception' (0xc0008002): Thread-Id=0384002a(pth=c0455b08), Proc-Id=00400002(pprc=8b49fad0) 'NK.EXE', VM-active=03c7001a(pprc=c04546f8) 'servicesd.exe'

    20226 PID:400002 TID:384002a PC=efe50b28(k.coredll.dll+0x00050b28) RA=880aa27c(kernel.dll+0x0002d27c) SP=cdb7ec18, BVA=cd9fa930

    45865 PID:400002 TID:384002a EHCD: CFunction(tier 2)::OpenPipe - address 2 pipe 3 appears to have been opened before

    45866 PID:400002 TID:384002a -USBD:OpenPipe - pipe is already open

    45866 PID:400002 TID:384002a !USBD:OpenPipe returning error

    45884 PID:400002 TID:384002a RHeapCheckFreeSentinels: Bad free item: 0xCD9FA930 @0xCD9FAA34 -> 0x1c SHDB 0xcccccccc. Raising exception ...

    45884 PID:400002 TID:384002a RHeapCheckFreeSentinels: Previous Allocation details @0xcd9faa34 Size:0x00000280 FreePC:0xcdb87580 AllocPC:0xcdb87fd8

    45884 PID:400002 TID:384002a Exception 'Raised Exception' (0xc0008002): Thread-Id=0384002a(pth=c0455b08), Proc-Id=00400002(pprc=8b49fad0) 'NK.EXE', VM-active=03c7001a(pprc=c04546f8) 'servicesd.exe'

    45884 PID:400002 TID:384002a PC=efe50b28(k.coredll.dll+0x00050b28) RA=880aa27c(kernel.dll+0x0002d27c) SP=cdb7ec18, BVA=cd9fa930

    55888 PID:400002 TID:384002a EHCD: CFunction(tier 2)::OpenPipe - address 2 pipe 5 appears to have been opened before

    55888 PID:400002 TID:384002a -USBD:OpenPipe - pipe is already open

    55888 PID:400002 TID:384002a !USBD:OpenPipe returning error

     

     

    Here's the pipecache error messages that follow:

     

    329916 PID:400002 TID:27d003e WARNING: HcdOpenPipe(): OpenedPipesCache full; increase 'HcdPipeCache' value in Registry.

    329917 PID:400002 TID:384002a EHCD: CFunction(tier 2)::OpenPipe - address 2 pipe 7 appears to have been opened before

    329917 PID:400002 TID:384002a -USBD:OpenPipe - pipe is already open

    329917 PID:400002 TID:384002a !USBD:OpenPipe returning error

    329937 PID:400002 TID:384002a RHeapCheckFreeSentinels: Bad free item: 0xCD9FAA20 @0xCD9FAA34 -> 0x1c SHDB 0xcccccccc. Raising exception ...

    329937 PID:400002 TID:384002a RHeapCheckFreeSentinels: Previous Allocation details @0xcd9faa34 Size:0x00000280 FreePC:0xcdb87580 AllocPC:0xcdb87fd8

    329937 PID:400002 TID:384002a Exception 'Raised Exception' (0xc0008002): Thread-Id=0384002a(pth=c0455b08), Proc-Id=00400002(pprc=8b49fad0) 'NK.EXE', VM-active=03c7001a(pprc=c04546f8) 'servicesd.exe'

    329939 PID:400002 TID:384002a PC=efe50b28(k.coredll.dll+0x00050b28) RA=880aa27c(kernel.dll+0x0002d27c) SP=cdb7e4f8, BVA=cd9faa20

     

     

    A little later in the boot process, some debugcheck messages when one of our USB devices is accessed

     

    525476 PID:400002 TID:5e60036 EHCD: CQueuedPipe(Bulk)::ClearHaltedFlag - warning! Called on non-stalled pipe

    525476 PID:400002 TID:5e60036 EHCD: CQueuedPipe(Bulk)::ClearHaltedFlag on QHead cd8d7540, token 00000040

    525478 PID:400002 TID:5e60036 USB HCD: DEBUGCHK failed in file d:\chelanrtm14\public\common\oak\drivers\usb\hcd\usb20\usb2com\cdevice.cpp at line 3136

    526828 PID:400002 TID:5e60036 USB HCD: DEBUGCHK failed in file d:\chelanrtm14\public\common\oak\drivers\usb\hcd\usb20\usb2com\cdevice.cpp at line 3139

     

    which is hitting this code statement:

    DEBUGCHK( m_maxNumPipes == 2 &&

    m_ppCPipe[ ENDPOINT0_CONTROL_PIPE ] != NULL &&

    port <= m_usbHubDescriptor.bNumberOfPorts );

    Thanks,

    Nick

     

     

     

    Saturday, November 12, 2011 3:46 PM

Answers

  • I was unsuccessful creating a registry entry with the hcdPipeCache entry to increase the pipe cache, not sure how to do this, cannot locate any documentation on this variable.  After modifying the ehci header file that defined this variable in the ECHI driver (as 8), the pipe cache error messages went away.  My guess is that our system has more than 8 endpoints, which makes sense.

    Also, appears that the latest cumulative update (update 4) addresses some EHCI related USB issues, which appears to be having a good effect on our hardware with overnight USB tests.  Still seeing the "already opened before" usb messages, but things are working properly.  Previously, one of our USB devices was "dropping out" over time.  Still need to do more testing on this to make sure this issue is gone.

    Used the VS2008 check for update option to perform the updates, then noticed at least one of the effected files had not changed once the update succeeded.  Manually ran the update to get the affected files to update.  This is probably a good candidate for a new thread issue, however.  Previously, CE6 platform builder had a way to check file CRCs to verify update integrity, does not appear that EC7 has this built into platform builder anymore, or at least, I have not found it.

     

     

    • Marked as answer by NCSUNickV Thursday, December 1, 2011 2:01 PM
    Thursday, December 1, 2011 1:59 PM