none
USBD_STATUS_PID_CHECK_FAILURE RRS feed

  • Question

  • I have a device that uses Usbser.sys.  Our driver was tested, approved and signed.  Now we are having intermittent connection problems with the device that we have only seen on computers that have both USB and physical COM ports.

    I ran a sniffer, and the majority of the failures are related to USBD_STATUS_PID_CHECK_FAILURE in the UP direction, which ends in Device Manager error 10.  Most of the time, if we uninstall and reinstall the drivers, it clears up the problem temporarily.  But if we reboot the computer, we are likely to see a connection failure on startup.

    We have run with this driver for a few years.  It is only some of the older computers with USB and COM ports that have this issue.  We have never seen it on our newer laptops (no physical COM port), not even when they are in a docking station with a physical COM port.

    There is no information on USBD_STATUS_PID_CHECK_FAILURE on the MS website.

    Can you please help me out?

    Friday, August 29, 2014 7:54 PM

Answers

  • Although it is defined, that status is not used anywhere in Windows. However, the value for that status is 0xC0000006, which is the same value used by STATUS_IN_PAGE_ERROR. Check your event log, I think one of your disk drives is having issues.

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Friday, August 29, 2014 9:32 PM
    Moderator

All replies

  • Although it is defined, that status is not used anywhere in Windows. However, the value for that status is 0xC0000006, which is the same value used by STATUS_IN_PAGE_ERROR. Check your event log, I think one of your disk drives is having issues.

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Friday, August 29, 2014 9:32 PM
    Moderator
  • Brian

    Thank you for the information.  The device has an HID bootloader and CDC application.  The bootloader is used to download new code in the field.  On one PC that has consistent failures, when I uninstall and reinstall the device, I see the HID device come up until the driver is re-installed. 

    Could the dual USB be the issue?

    Our Russian distributor is seeing the issue with Win 7 64 bit and Win 7 32 bit on an HP laptop (model HP ProBook 650 G1) with a physical COM port. 

    We are seeing it on a DELL Optiplex 740 desktop with an AMD Athlon 64 processor 3500+. 

    Thanks,

    Laura


    At Work

    Tuesday, September 2, 2014 2:51 PM
  • More data on the issue:

    We also have a CDC-only device with FTDI USB.  I installed it on the 'consistent failures' PC, and it works like a charm.

    The device with failures uses MCHPFSUSB.

    Thanks,

    Laura


    At Work

    Tuesday, September 2, 2014 3:17 PM
  • Did you find any disk errors in the system event log?

    That error code is also sometimes used by the Code Integrity module when an executable has been corrupted/tampered (in that case, you'll see a substatus of STATUS_INVALID_IMAGE_HASH).

    How did you sniff USB and come up with the USBD_STATUS_PID_CHECK_FAILURE value?

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Tuesday, September 2, 2014 8:34 PM
    Moderator
  • Hi Brian,

    I checked the system event log, and there were no hardware events at all. 

    I also ran CHKDSK /F, but there was no difference in the behavior.  We have another (CDC only) device that works consistently on the same machine that fails all the time on one USB port and half the time on the other (HID class bootloader and CDC class application).

    I did see a lot of warnings in the event log that looked like this:

    Log Name:      Microsoft-Windows-DeviceSetupManager/Admin
    Source:        Microsoft-Windows-DeviceSetupManager
    Date:          9/2/2014 10:53:15 AM
    Event ID:      123
    Task Category: None
    Level:         Warning
    Keywords:     
    User:          SYSTEM
    Computer:      h-test
    Description:
    The DSM service was delayed by 15 seconds for a driver query/download/install on device 'USB\VID_04D8&PID_FAA3\5&36FF4167&0&8'
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-DeviceSetupManager" Guid="{FCBB06BB-6A2A-46E3-ABAA-246CB4E508B2}" />
        <EventID>123</EventID>
        <Version>0</Version>
        <Level>3</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x4000000000000000</Keywords>
        <TimeCreated SystemTime="2014-09-02T17:53:15.219085000Z" />
        <EventRecordID>422</EventRecordID>
        <Correlation />
        <Execution ProcessID="996" ThreadID="2780" />
        <Channel>Microsoft-Windows-DeviceSetupManager/Admin</Channel>
        <Computer>h-test</Computer>
        <Security UserID="S-1-5-18" />
      </System>
      <EventData>
        <Data Name="Prop_Seconds">15</Data>
        <Data Name="Prop_DeviceId">USB\VID_04D8&amp;PID_FAA3\5&amp;36FF4167&amp;0&amp;8</Data>
      </EventData>
    </Event>

    To get the information on the USB connection error (USBD_STATUS_PID_CHECK_FAILURE) I used DeviceMonitoringStudio.  The raw data looked like this:

    00000000 25.08.2014 11:48:49.309  UP  PnP: Device Connected
    00000001 25.08.2014 11:48:49.309 +0.0 DOWN 0x00000000
    00000002 25.08.2014 11:48:49.309 +0.0 UP 0x00000000
    00000003 25.08.2014 11:48:49.309 +0.0 DOWN 0x00000000
    00000004 25.08.2014 11:48:49.309 +0.0 UP 0xc0000006

    (Failure here)

    Thank you in advance for any other insight you can provide.


    At Work

    Tuesday, September 2, 2014 9:20 PM
  • I don't know how reliable DeviceMonitoringStudio is, so it isn't clear where the status value came from. If I were you, I'd download Microsoft's Message Analyzer (its free) and use it to capture your USB trace.

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Tuesday, September 2, 2014 11:55 PM
    Moderator
  • Thanks, Brian.  I'll do that.

    At Work

    Wednesday, September 3, 2014 1:52 PM