PLEASE: USB (Alt Interface) UdfUsbTargetDeviceSelectConfig failure

I have been writing device drivers for the products that my company
manufactures for
about 10 years. There has not been a need to spend a lot of my time
updating the drivers, but
I found updates necessary and decided to update the drivers to KMDF.
I have updated the PCI Express and PCI cards' drivers and am now working
on the USB driver update.
I am very puzzled. I have carefully stepped through the sample code and
got the OsrUsbFX2
kit and have been reading the DDK documentation and the 'Developing
Drivers with the windows
Driver Foundation' book (very good book... adds a lot to the DDK docs).
Nothing I have found
helps me solve the problem that I am having.

I need to have my driver setup get to the Alternate interface #2, but
have NOT been able to get
past the initial (with default alt#0 configuration parameters)Interface
configuration call
so that I can proceed to switch to the desired Alternate config:

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE(&configParams);
status = WdfUsbTargetDeviceSelectConfig(UsbDevice,
WDF_NO_OBJECT_ATTRIBUTES, &configParams );

... status gets set to 0xc0000001... (a non-descriptive
STATUS_UNSUCCESSFUL error)

About my USB device:

  1. One DEVICE descriptor.
  2. One CONFIGURATION descriptor (standard configuration) (0lh).
  3. One INTERFACE descriptor (standard interface) (00h).
  4. Three different alternate interfaces within the 00h interface:
    a) 00h => Default 0 kbytes/sec interface. (/*Basically a "dumb"
    interface... No ENDPOINTS*/)
    b) Olh => Alternate 1 kbyte/sec interface. (Two endpoints...
    InterruptIN and OUT)
    c) 02h => Alternate 10 kbytes/sec interface. (Two endpoints...
    InterruptIN and OUT)

This device sends small packets of CLOCK/TIME data when available via
the InterruptIN pipe (or at least
it will once I get the driver update working).

I have tried also to use the
WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES
and WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_INTERFACES_DESCRIPTORS with
parameters that
have been setup to use Alternate#2 interface but still with no luck.
In my WDM driver (via SoftICE tools) I had been able to directly
initialize the Interface to Alternate#2.

Also, I am successful with the following calls prior to the above calls
in the EvtPrepareHardware section:

status = WdfUsbTargetDeviceCreate(Device, WDF_NO_OBJECT_ATTRIBUTES,
UsbDevice);
WDF_USB_DEVICE_INFORMATION_INIT(&deviceInfo);
status = WdfUsbTargetDeviceRetrieveInformation(UsbDevice, &deviceInfo);
numInterfaces = WdfUsbTargetDeviceGetNumInterfaces(UsbDevice); //
equals '1' in debug output as expected
UsbInterface = WdfUsbTargetDeviceGetInterface(UsbDevice, 0 );
//the number of alternate settings that the specified USB interface
supports
altSettings = WdfUsbInterfaceGetNumSettings(UsbInterface); // = 3
as expected (Alternate 0, 1 & 2) ... debug
// the interface number
interfaceNumber = WdfUsbInterfaceGetInterfaceNumber(UsbInterface); //
= 0 as expected... debug

numEndpoints = WdfUsbInterfaceGetNumEndpoints(UsbInterface, 0);
// = 0
numEndpoints1 = WdfUsbInterfaceGetNumEndpoints(UsbInterface, 1); //
= 2
numEndpoints2 = WdfUsbInterfaceGetNumEndpoints(UsbInterface, 2); //
= 2

What am I missing... (note the NO endpoints issue for default Alt#0)...
Can this be a reason and if so, what is the workaround?
I have spent the past week on this and trying all the possible ways to
get the initializations
done (in several different ways) prior to the call to SelectConfig.
My device sends CLOCK/TIME data packets as needed via the InterruptIN
pipe (or at least
it will once I get the driver update working). Any help or feedback
would be very appreciated.

Tracey

Tracey Ruesch wrote:

I need to have my driver setup get to the Alternate interface #2, but
have NOT been able to get
past the initial (with default alt#0 configuration
parameters)Interface configuration call
so that I can proceed to switch to the desired Alternate config:

Please allow me to be picky about the terminology, because I know the
wrong terms have been bandied about in many otherwise respectable
sources. You have an “interface”, and your interface has “alternate
settings”. You want to select interface #0, alternate setting #2. I
cringe at the phrase “alternate interface”.

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE(&configParams);
status = WdfUsbTargetDeviceSelectConfig(UsbDevice,
WDF_NO_OBJECT_ATTRIBUTES, &configParams );

… status gets set to 0xc0000001… (a non-descriptive
STATUS_UNSUCCESSFUL error)

Have you tried this combination yet?

WDF_USB_INTERFACE_SETTING_PAIR pairs;
pairs.UsbInterface = WdfUsbTargetDeviceGetInterface( UsbDevice, 0 );
pairs.SettingIndex = 2;
WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES(
&configParams, 1, &pairs );
status = WdfUsbTargetDeviceSelectConfig( UsbDevice,
WDF_NO_OBJECT_ATTRIBUTES, &configParams );

What am I missing… (note the NO endpoints issue for default
Alt#0)… Can this be a reason and if so, what is the workaround?

That is a very common configuration, so I find it difficult to believe
KMDF mishandles it. You just haven’t found the right recipe yet.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

My bad on the “interface” vs. “setting”. You are correct. I am needing
to get to the (one and only interface) interface’s alternate setting #2.

I have tried the INIT_MULTIPLE_INTERFACES macro too (as I had seen
a note on this from Doran in a prior ntdev reply). I will compare your
few lines of code to what I had done to see if I made a mistake on
the pairs or something.
My issue or the feedback I am still lacking is this: is there an
issue with NOT having any endpoints for interface alternate #0 (default)
vs. two (in&out) for the alt#1 and alt#2 (both) that could be the
source of the error when calling WdfUsbTargetDeviceSelectConfig

Thanks you very much.
Tracey

On 8/31/2011 2:24 PM, Tim Roberts wrote:

Tracey wrote:
> I need to have my driver setup get to the Alternatesetting#2, but
> have NOT been able to get
> past the initial (with default alt#0 configuration
> parameters)Interface configuration call
> so that I can proceed to switch to the desired Alternate setting config:
Please allow me to be picky about the terminology, because I know the
wrong terms have been bandied about in many otherwise respectable
sources. You have an “interface”, and your interface has “alternate
settings”. You want to select interface #0, alternate setting #2. I
cringe at the phrase “alternate interface”.

> WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE(&configParams);
> status = WdfUsbTargetDeviceSelectConfig(UsbDevice,
> WDF_NO_OBJECT_ATTRIBUTES,&configParams );
>
> … status gets set to 0xc0000001… (a non-descriptive
> STATUS_UNSUCCESSFUL error)
Have you tried this combination yet?

WDF_USB_INTERFACE_SETTING_PAIR pairs;
pairs.UsbInterface = WdfUsbTargetDeviceGetInterface( UsbDevice, 0 );
pairs.SettingIndex = 2;
WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES(
&configParams, 1,&pairs );
status = WdfUsbTargetDeviceSelectConfig( UsbDevice,
WDF_NO_OBJECT_ATTRIBUTES,&configParams );

> What am I missing… (note the NO endpoints issue for default
> Alt#0)… Can this be a reason and if so, what is the workaround?
That is a very common configuration, so I find it difficult to believe
KMDF mishandles it. You just haven’t found the right recipe yet.

On failure, what does !wdfkd.wdflogdump say ?

d

debt from my phone
________________________________
From: Tracey Ruesch
Sent: Wednesday, August 31, 2011 3:05 PM
To: Windows System Software Devs Interest List
Cc: Tim Roberts
Subject: Re: [ntdev] PLEASE: USB (Alt Interface) UdfUsbTargetDeviceSelectConfig failure

My bad on the “interface” vs. “setting”. You are correct. I am needing
to get to the (one and only interface) interface’s alternate setting #2.

I have tried the INIT_MULTIPLE_INTERFACES macro too (as I had seen
a note on this from Doran in a prior ntdev reply). I will compare your
few lines of code to what I had done to see if I made a mistake on
the pairs or something.
My issue or the feedback I am still lacking is this: is there an
issue with NOT having any endpoints for interface alternate #0 (default)
vs. two (in&out) for the alt#1 and alt#2 (both) that could be the
source of the error when calling WdfUsbTargetDeviceSelectConfig

Thanks you very much.
Tracey

On 8/31/2011 2:24 PM, Tim Roberts wrote:

Tracey wrote:

I need to have my driver setup get to the Alternate setting #2, but
have NOT been able to get
past the initial (with default alt#0 configuration
parameters)Interface configuration call
so that I can proceed to switch to the desired Alternate setting config:

Please allow me to be picky about the terminology, because I know the
wrong terms have been bandied about in many otherwise respectable
sources. You have an “interface”, and your interface has “alternate
settings”. You want to select interface #0, alternate setting #2. I
cringe at the phrase “alternate interface”.

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE(&configParams);
status = WdfUsbTargetDeviceSelectConfig(UsbDevice,
WDF_NO_OBJECT_ATTRIBUTES, &configParams );

… status gets set to 0xc0000001… (a non-descriptive
STATUS_UNSUCCESSFUL error)

Have you tried this combination yet?

WDF_USB_INTERFACE_SETTING_PAIR pairs;
pairs.UsbInterface = WdfUsbTargetDeviceGetInterface( UsbDevice, 0 );
pairs.SettingIndex = 2;
WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES(
&configParams, 1, &pairs );
status = WdfUsbTargetDeviceSelectConfig( UsbDevice,
WDF_NO_OBJECT_ATTRIBUTES, &configParams );

What am I missing… (note the NO endpoints issue for default
Alt#0)… Can this be a reason and if so, what is the workaround?

That is a very common configuration, so I find it difficult to believe
KMDF mishandles it. You just haven’t found the right recipe yet.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

This is where things get very bad for me. I have been using the SoftICE
(on XP) debugger prior to doing the current KDMF driver updates and have NOT
been able to get a kernel debugger setup… No serial port on machine,
no firewire and the USB debug cable I bought has not been
successful (none of the machines have the needed USB port1 debug
port available to be ‘touched’) on my Win7 test setup.
So, I have been using DbgView to get messages out of the kernel to
see where my code has been going. As I did not start from scratch
(used DDK KMDF sample) this has worked pretty well up til now.

*Any more hints that you can give me that will help me answer
your question below.*
(I looked at a crash dump using WinDbg but I don’t have the
symbols loaded and the several hundred lines of output after the
‘!wdfkd.wdflogdump aecusbtc’ didn’t tell me much (or anything
but warnings about symbol files and timestamps))

Tracey

On 8/31/2011 3:18 PM, Doron Holan wrote:

On failure, what does !wdfkd.wdflogdump say ?
>
> d
>
> debt from my phone
> ------------------------------------------------------------------------
> From: Tracey Ruesch
> Sent: Wednesday, August 31, 2011 3:05 PM
> To: Windows System Software Devs Interest List
> Cc: Tim Roberts
> Subject: Re: [ntdev] PLEASE: USB (Alt Interface)
> UdfUsbTargetDeviceSelectConfig failure
>
> My bad on the “interface” vs. “setting”. You are correct. I am needing
> to get to the (one and only interface) interface’s alternate setting #2.
>
> I have tried the INIT_MULTIPLE_INTERFACES macro too (as I had seen
> a note on this from Doran in a prior ntdev reply). I will compare your
> few lines of code to what I had done to see if I made a mistake on
> the pairs or something.
> My issue or the feedback I am still lacking is this: is there an
> issue with NOT having any endpoints for interface alternate #0 (default)
> vs. two (in&out) for the alt#1 and alt#2 (both) that could be the
> source of the error when calling WdfUsbTargetDeviceSelectConfig
>
> Thanks you very much.
> Tracey
>
> On 8/31/2011 2:24 PM, Tim Roberts wrote:
>> Tracey wrote:
>>> I need to have my driver setup get to the Alternatesetting#2, but
>>> have NOT been able to get
>>> past the initial (with default alt#0 configuration
>>> parameters)Interface configuration call
>>> so that I can proceed to switch to the desired Alternate setting config:
>> Please allow me to be picky about the terminology, because I know the
>> wrong terms have been bandied about in many otherwise respectable
>> sources. You have an “interface”, and your interface has “alternate
>> settings”. You want to select interface #0, alternate setting #2. I
>> cringe at the phrase “alternate interface”.
>>
>>> WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE(&configParams);
>>> status = WdfUsbTargetDeviceSelectConfig(UsbDevice,
>>> WDF_NO_OBJECT_ATTRIBUTES,&configParams );
>>>
>>> … status gets set to 0xc0000001… (a non-descriptive
>>> STATUS_UNSUCCESSFUL error)
>> Have you tried this combination yet?
>>
>> WDF_USB_INTERFACE_SETTING_PAIR pairs;
>> pairs.UsbInterface = WdfUsbTargetDeviceGetInterface( UsbDevice, 0 );
>> pairs.SettingIndex = 2;
>> WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES(
>> &configParams, 1,&pairs );
>> status = WdfUsbTargetDeviceSelectConfig( UsbDevice,
>> WDF_NO_OBJECT_ATTRIBUTES,&configParams );
>>
>>> What am I missing… (note the NO endpoints issue for default
>>> Alt#0)… Can this be a reason and if so, what is the workaround?
>> That is a very common configuration, so I find it difficult to believe
>> KMDF mishandles it. You just haven’t found the right recipe yet.
>>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer


|---------------------------------------------------------------|
| Mr. Tracey Ruesch, Technical Sales& Support |
| Adrienne Electronics Corporation |
| 7225 Bermuda Road, Unit G, Las Vegas, Nevada 89119 USA |
| Phone: (702)896-1858 email: ‘xxxxx@adrielec.com’ |
| Fax: (702)896-3034 website: “http://www.adrielec.com” |
|---------------------------------------------------------------|

Sounds like it’s time to byte the bullet, and do what is needed to get WinDbg enabled. At least resolve the symbols problem so you can use WinDbg in a postmortem debug.

Gary Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net

On Sep 1, 2011, at 1:14 PM, Tracey Ruesch wrote:

This is where things get very bad for me. I have been using the SoftICE
(on XP) debugger prior to doing the current KDMF driver updates and have NOT
been able to get a kernel debugger setup… No serial port on machine,
no firewire and the USB debug cable I bought has not been
successful (none of the machines have the needed USB port1 debug
port available to be ‘touched’) on my Win7 test setup.
So, I have been using DbgView to get messages out of the kernel to
see where my code has been going. As I did not start from scratch
(used DDK KMDF sample) this has worked pretty well up til now.

Any more hints that you can give me that will help me answer
your question below.
(I looked at a crash dump using WinDbg but I don’t have the
symbols loaded and the several hundred lines of output after the
‘!wdfkd.wdflogdump aecusbtc’ didn’t tell me much (or anything
but warnings about symbol files and timestamps))

Tracey

On 8/31/2011 3:18 PM, Doron Holan wrote:
>
> On failure, what does !wdfkd.wdflogdump say ?
>>
>> d
>>
>> debt from my phone
>> From: Tracey Ruesch
>> Sent: Wednesday, August 31, 2011 3:05 PM
>> To: Windows System Software Devs Interest List
>> Cc: Tim Roberts
>> Subject: Re: [ntdev] PLEASE: USB (Alt Interface) UdfUsbTargetDeviceSelectConfig failure
>>
>> My bad on the “interface” vs. “setting”. You are correct. I am needing
>> to get to the (one and only interface) interface’s alternate setting #2.
>>
>> I have tried the INIT_MULTIPLE_INTERFACES macro too (as I had seen
>> a note on this from Doran in a prior ntdev reply). I will compare your
>> few lines of code to what I had done to see if I made a mistake on
>> the pairs or something.
>> My issue or the feedback I am still lacking is this: is there an
>> issue with NOT having any endpoints for interface alternate #0 (default)
>> vs. two (in&out) for the alt#1 and alt#2 (both) that could be the
>> source of the error when calling WdfUsbTargetDeviceSelectConfig
>>
>> Thanks you very much.
>> Tracey
>>
>> On 8/31/2011 2:24 PM, Tim Roberts wrote:
>>>
>>> Tracey wrote:
>>>> I need to have my driver setup get to the Alternate setting #2, but
>>>> have NOT been able to get
>>>> past the initial (with default alt#0 configuration
>>>> parameters)Interface configuration call
>>>> so that I can proceed to switch to the desired Alternate setting config:
>>> Please allow me to be picky about the terminology, because I know the
>>> wrong terms have been bandied about in many otherwise respectable
>>> sources. You have an “interface”, and your interface has “alternate
>>> settings”. You want to select interface #0, alternate setting #2. I
>>> cringe at the phrase “alternate interface”.
>>>
>>>> WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE(&configParams);
>>>> status = WdfUsbTargetDeviceSelectConfig(UsbDevice,
>>>> WDF_NO_OBJECT_ATTRIBUTES, &configParams );
>>>>
>>>> … status gets set to 0xc0000001… (a non-descriptive
>>>> STATUS_UNSUCCESSFUL error)
>>> Have you tried this combination yet?
>>>
>>> WDF_USB_INTERFACE_SETTING_PAIR pairs;
>>> pairs.UsbInterface = WdfUsbTargetDeviceGetInterface( UsbDevice, 0 );
>>> pairs.SettingIndex = 2;
>>> WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES(
>>> &configParams, 1, &pairs );
>>> status = WdfUsbTargetDeviceSelectConfig( UsbDevice,
>>> WDF_NO_OBJECT_ATTRIBUTES, &configParams );
>>>
>>>> What am I missing… (note the NO endpoints issue for default
>>>> Alt#0)… Can this be a reason and if so, what is the workaround?
>>> That is a very common configuration, so I find it difficult to believe
>>> KMDF mishandles it. You just haven’t found the right recipe yet.
>>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>
> –
> |---------------------------------------------------------------|
> | Mr. Tracey Ruesch, Technical Sales & Support |
> | Adrienne Electronics Corporation |
> | 7225 Bermuda Road, Unit G, Las Vegas, Nevada 89119 USA |
> | Phone: (702)896-1858 email: ‘xxxxx@adrielec.com’ |
> | Fax: (702)896-3034 website: “http://www.adrielec.com” |
> |---------------------------------------------------------------|
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

If you enable the kernel debugger on that machine you can run kd.exe -kl to connect to the local machine. You won’t be able to set breakpoints but you can run things like !wdfkd.logdump to get the IFR for your device.

-p

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Gary Little
Sent: Thursday, September 01, 2011 11:46 AM
To: Windows System Software Devs Interest List
Cc: Gary Little
Subject: Re: [ntdev] PLEASE: USB (Alt Interface) UdfUsbTargetDeviceSelectConfig failure

Sounds like it’s time to byte the bullet, and do what is needed to get WinDbg enabled. At least resolve the symbols problem so you can use WinDbg in a postmortem debug.

Gary Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.netmailto:xxxxx

On Sep 1, 2011, at 1:14 PM, Tracey Ruesch wrote:

This is where things get very bad for me. I have been using the SoftICE
(on XP) debugger prior to doing the current KDMF driver updates and have NOT
been able to get a kernel debugger setup… No serial port on machine,
no firewire and the USB debug cable I bought has not been
successful (none of the machines have the needed USB port1 debug
port available to be ‘touched’) on my Win7 test setup.
So, I have been using DbgView to get messages out of the kernel to
see where my code has been going. As I did not start from scratch
(used DDK KMDF sample) this has worked pretty well up til now.

Any more hints that you can give me that will help me answer
your question below.
(I looked at a crash dump using WinDbg but I don’t have the
symbols loaded and the several hundred lines of output after the
‘!wdfkd.wdflogdump aecusbtc’ didn’t tell me much (or anything
but warnings about symbol files and timestamps))

Tracey

On 8/31/2011 3:18 PM, Doron Holan wrote:
On failure, what does !wdfkd.wdflogdump say ?

d

debt from my phone
________________________________
From: Tracey Ruesch
Sent: Wednesday, August 31, 2011 3:05 PM
To: Windows System Software Devs Interest List
Cc: Tim Roberts
Subject: Re: [ntdev] PLEASE: USB (Alt Interface) UdfUsbTargetDeviceSelectConfig failure
My bad on the “interface” vs. “setting”. You are correct. I am needing
to get to the (one and only interface) interface’s alternate setting #2.

I have tried the INIT_MULTIPLE_INTERFACES macro too (as I had seen
a note on this from Doran in a prior ntdev reply). I will compare your
few lines of code to what I had done to see if I made a mistake on
the pairs or something.
My issue or the feedback I am still lacking is this: is there an
issue with NOT having any endpoints for interface alternate #0 (default)
vs. two (in&out) for the alt#1 and alt#2 (both) that could be the
source of the error when calling WdfUsbTargetDeviceSelectConfig

Thanks you very much.
Tracey

On 8/31/2011 2:24 PM, Tim Roberts wrote:

Tracey wrote:

I need to have my driver setup get to the Alternate setting #2, but

have NOT been able to get

past the initial (with default alt#0 configuration

parameters)Interface configuration call

so that I can proceed to switch to the desired Alternate setting config:

Please allow me to be picky about the terminology, because I know the

wrong terms have been bandied about in many otherwise respectable

sources. You have an “interface”, and your interface has “alternate

settings”. You want to select interface #0, alternate setting #2. I

cringe at the phrase “alternate interface”.

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE(&configParams);

status = WdfUsbTargetDeviceSelectConfig(UsbDevice,

WDF_NO_OBJECT_ATTRIBUTES, &configParams );

… status gets set to 0xc0000001… (a non-descriptive

STATUS_UNSUCCESSFUL error)

Have you tried this combination yet?

WDF_USB_INTERFACE_SETTING_PAIR pairs;

pairs.UsbInterface = WdfUsbTargetDeviceGetInterface( UsbDevice, 0 );

pairs.SettingIndex = 2;

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES(

&configParams, 1, &pairs );

status = WdfUsbTargetDeviceSelectConfig( UsbDevice,

WDF_NO_OBJECT_ATTRIBUTES, &configParams );

What am I missing… (note the NO endpoints issue for default

Alt#0)… Can this be a reason and if so, what is the workaround?

That is a very common configuration, so I find it difficult to believe

KMDF mishandles it. You just haven’t found the right recipe yet.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer



|---------------------------------------------------------------|

| Mr. Tracey Ruesch, Technical Sales & Support |

| Adrienne Electronics Corporation |

| 7225 Bermuda Road, Unit G, Las Vegas, Nevada 89119 USA |

| Phone: (702)896-1858 email: ‘xxxxx@adrielec.commailto:xxxxx’ |

| Fax: (702)896-3034 website: "http://www.adrielec.com"http:</http:> |

|---------------------------------------------------------------|


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx>

> none of the machines have the needed USB port1 debug

port available to be ‘touched’

No port1 is not the problem, but you need a root hub that supports
debugging, as stated here:
http://blogs.msdn.com/b/usbcoreblog/archive/2010/10/25/setting-up-kernel-debugging-with-usb-2-0.aspx

I looked at a crash dump using WinDbg but I don’t have the
symbols loaded

Load them! All debug output after an unknown symbol is at best
“questionable” (if not outright misleading). MS symbols are on their
public symbol server. WinDBG can locally cache them after download, sou
you can then even debug without internet connection.