Prev: Drive discovery issue with lower filter driver
Next: Mystery Msft_Kernel file left in drivers directory
From: dduster on 1 Nov 2009 05:51 I am trying to implement a CDC/ACM device. Although I am able to communicate through the COM port created, there is never any transaction on the INT IN EP. What are the requirements (INF, Descriptors, etc.) for this to work using USBSER.SYS (XP SP3)? Thanks much... dd.
From: Tim Roberts on 1 Nov 2009 18:56 dduster <dduster(a)discussions.microsoft.com> wrote: > >I am trying to implement a CDC/ACM device. Although I am able to communicate >through the COM port created, there is never any transaction on the INT IN EP. > >What are the requirements (INF, Descriptors, etc.) for this to work using >USBSER.SYS (XP SP3)? The interrupt endpoint is only used for the notification element. Did you create one? Its support is optional. -- Tim Roberts, timr(a)probo.com Providenza & Boekelheide, Inc.
From: dduster on 2 Nov 2009 10:29 Yes, I did. There are 3 EP in total, on two interfaces. The first interface consists of the INT EP, while the second consists of two EP (one IN, another OUT). Although the INT EP is optional, it is required in my case, as I must emulate H/W flow control. I have thus included this interface. Granted, should the host controller issue a USB IN request on that EP, my driver stands ready to send the required notification. Unfortunately, that request never comes...
From: Chris on 2 Nov 2009 15:07 On Nov 2, 9:29 am, dduster <ddus...(a)discussions.microsoft.com> wrote: > Although the INT EP is optional, it is required in my case, as I must > emulate H/W flow control. I have thus included this interface. Granted, > should the host controller issue a USB IN request on that EP, my driver > stands ready to send the required notification. Do you expose one interface with three endpoints? (bulk in, bulk out, interrupt in) Or, two interfaces with the interrupt endpoint on interface 0 and the others on interface 1? In the latter case, do you have a union descriptor joining the two? Also, for your descriptors, check out chapter 5 of usbcdc11.pdf. It's all there for you. In particular, I think the interrupt/ communications class interface is class 2 / subclass 2, and the data / bulk interface is class 0x0A / subclass 0.
From: dduster on 3 Nov 2009 03:29 There are two interfaces, one with a single EP (INT), the other with two bulk EPs . The interfaces are joint through a union descriptor. As for the class - they are all set (as are the descriptors), as per usbcdc11.pdf (I have also compare my descriptors with numebous other example I was able to locate on the web - and I see not difference..) thanks much for you time... dd.
|
Next
|
Last
Pages: 1 2 Prev: Drive discovery issue with lower filter driver Next: Mystery Msft_Kernel file left in drivers directory |