Re: Low speed BULK endpoints on UHCI
Brad Campbell <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
Greg KH wrote: > On Tue, Sep 11, 2007 at 01:18:58PM +0400, Brad Campbell wrote: >> The other option is to find some way of making the usb-serial/generic >> driver able to substitute interrupt for bulk endpoints where required >> (and I've spent a bit of time investigating that, but my knowledge of >> the linux usb stack is pretty shaky) > > If you need to do something like this, then just write your own > usb-serial driver. It is quite easy to do that, as what you are looking > for does not fit into the "generic" usb-serial model. > > Heck, if you provide us with the endpoint signature (output of > /proc/bus/usb/devices) for your device, I'll be glad to knock out a > first cut for such a driver, it should not be all that hard. > > thanks, > > greg k-h > Sure, on a kernel with Alan's patch to config.c removed, and the check in uhci-q.c removed, it works perfectly well with usbserial or cdc_acm as this device. T: Bus=01 Lev=02 Prnt=22 Port=01 Cnt=01 Dev#= 23 Spd=1.5 MxCh= 0 D: Ver= 1.01 Cls=02(comm.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=16c0 ProdID=05e1 Rev= 1.00 S: Manufacturer=Brads-Propeller S: Product=CDC-ACM-HACK C:* #Ifs= 2 Cfg#= 1 Atr=40 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=100ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm E: Ad=01(O) Atr=02(Bulk) MxPS= 8 Ivl=0ms E: Ad=81(I) Atr=02(Bulk) MxPS= 8 Ivl=0ms Standard bulk endpoint (1) for transmit/receive. This is what we get on the latest kernels T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0 D: Ver= 1.01 Cls=02(comm.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=16c0 ProdID=05e1 Rev= 1.00 S: Manufacturer=Brads-Propeller S: Product=CDC-ACM-HACK C:* #Ifs= 2 Cfg#= 1 Atr=40 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=100ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm E: Ad=01(O) Atr=03(Int.) MxPS= 8 Ivl=1ms E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=1ms [ 2665.920000] usb 1-1: new full speed USB device using uhci_hcd and address 2 [ 2666.150000] usb 1-1: configuration #1 chosen from 1 choice [ 2666.150000] hub 1-1:1.0: USB hub found [ 2666.160000] hub 1-1:1.0: 4 ports detected [ 2670.400000] usb 1-1.2: new low speed USB device using uhci_hcd and address 3 [ 2670.520000] usb 1-1.2: config 1 interface 1 altsetting 0 endpoint 0x1 is Bulk; changing to Interrupt [ 2670.520000] usb 1-1.2: config 1 interface 1 altsetting 0 endpoint 0x81 is Bulk; changing to Interrupt [ 2670.540000] usb 1-1.2: configuration #1 chosen from 1 choice [ 2670.580000] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device [ 2670.590000] usbcore: registered new interface driver cdc_acm [ 2670.590000] drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters It of course no longer functions. Investigation continues on the best way to tackle this particular device. Regards, Brad -- "Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so." -- Douglas Adams ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel