Hi,
I have a requirement to create 3 virtual ports out of a GPS USB Device(1.1). It has only 1 interface and 6 end points(3 in and 3 out)
I wrote a bus driver that creates 3 fdos with HARDWAREID “SAMPLE_USB_PORT” which uses one IN and one OUT end points.
Now I would like to use existing driver to do Serial port job.
I tried using USBSer.sys with separate INF file for FDO, but its failing with “COM_PROB_FAILED_START”. Can you suggest the best way to achieve this?
If you are trying to load usbser on each of your pdos you need to support acting like a USB hub driver, not a simple thing to do. If you have a working driver, I would declare victory and be done
d
Bent from my phone
From: xxxxx@gmail.commailto:xxxxx Sent: ?8/?20/?2014 6:58 AM To: Windows System Software Devs Interest Listmailto:xxxxx Subject: [ntdev] USBSer.sys or Serial.sys and Serenum.sys
Hi, I have a requirement to create 3 virtual ports out of a GPS USB Device(1.1). It has only 1 interface and 6 end points(3 in and 3 out) I wrote a bus driver that creates 3 fdos with HARDWAREID “SAMPLE_USB_PORT” which uses one IN and one OUT end points. Now I would like to use existing driver to do Serial port job.
I tried using USBSer.sys with separate INF file for FDO, but its failing with “COM_PROB_FAILED_START”. Can you suggest the best way to achieve this?
I have a requirement to create 3 virtual ports out of a GPS USB Device(1.1). It has only 1 interface and 6 end points(3 in and 3 out)
I wrote a bus driver that creates 3 fdos with HARDWAREID “SAMPLE_USB_PORT” which uses one IN and one OUT end points.
Now I would like to use existing driver to do Serial port job.
I tried using USBSer.sys with separate INF file for FDO, but its failing with “COM_PROB_FAILED_START”. Can you suggest the best way to achieve this?
Among other things, you would have to intercept the child configuration
descriptor requests, and rewrite them so that each FDO only sees its two
endpoints, in USB CDC format. Are you doing that?
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
@Doron, hope I am doing it. It will take care of Power and PNP management
and leave Read Write to child PDOs. @Tim, yes I am doing it like this in bus driver’s StartDevice
On Wed, Aug 20, 2014 at 11:22 PM, Tim Roberts wrote:
> xxxxx@gmail.com wrote: > > I have a requirement to create 3 virtual ports out of a GPS USB > Device(1.1). It has only 1 interface and 6 end points(3 in and 3 out) > > I wrote a bus driver that creates 3 fdos with HARDWAREID > “SAMPLE_USB_PORT” which uses one IN and one OUT end points. > > Now I would like to use existing driver to do Serial port job. > > > > I tried using USBSer.sys with separate INF file for FDO, but its failing > with “COM_PROB_FAILED_START”. Can you suggest the best way to achieve this? > > Among other things, you would have to intercept the child configuration > descriptor requests, and rewrite them so that each FDO only sees its two > endpoints, in USB CDC format. Are you doing that? > > – > Tim Roberts, xxxxx@probo.com > Providenza & Boekelheide, Inc. > > > — > NTDEV is sponsored by OSR > > Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev > > OSR is HIRING!! See http://www.osr.com/careers > > 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 >
On Aug 20, 2014, at 9:58 PM, Aditya Reddy Chintala > wrote:
@Doron, hope I am doing it. It will take care of Power and PNP management and leave Read Write to child PDOs. @Tim, yes I am doing it like this in bus driver’s StartDevice
There?s a lot more to it than this. The configuration descriptor has an overall length field; you have to fix that up. You have to intercept the SET_CONFIGURATION requests to make sure that you only pass ONE down to the real hardware. You have to save the configuration handle and the endpoint handles you get back from your master SET_CONFIGURATION, and hand them out to the child requests.
And how are you going to manage the control requests? Whether you?re using an interrupt endpoint or the control endpoint, you only have ONE. If one of the children need to change the settings, that?s going to affect all of the endpoints.
Why are you using __leave? – Tim Roberts, xxxxx@probo.commailto:xxxxx Providenza & Boekelheide, Inc.</mailto:xxxxx>