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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.