Greg KH <[EMAIL PROTECTED]> writes:

> On Wed, Jun 07, 2006 at 12:27:03PM +0400, Sergei Organov wrote:
>> Greg KH <[EMAIL PROTECTED]> writes:
>> > On Mon, Jun 05, 2006 at 06:05:12PM +0400, Sergei Organov wrote:
>> >> Hello,
>> >> 
>> >> I'm using usbserial module to talk to a device supporting 2 bulk
>> >> endpoints (high speed USB 1.1).
>> >
>> > Which usb-serial driver are you using?  Or are you just using the
>> > generic driver?
>> 
>> Yes, I'm using generic driver loaded as following:
>> 
>> # modprobe usbserial vendor=0x0c96 product=0x0047 debug=1
>> 
>> [Hmm... I hoped "usbserial module" was exact description of what I'm using,
>> but obviously it is not, so why isn't it called "usbgeneric" in the
>> first place to minimize confusion?]
>
> usbserial provides the base functionality for all usb to serial drivers.
> There is a "generic" one built into it that is used by other usb to
> serial drivers, as well as providing the functionality that you used
> here.
> The "generic" driver isn't good for speed or anything to do with line
> settings, it's pretty much just good for prototyping and a few other odd
> things that people find useful at times.

It's obvious that generic is useless for anything to do with line
settings, but it could actually be useful if it's improved for speed I
think. IMHO it would be useful for devices that aren't usb-to-serial
converters. E.g., I work with GPS receivers that happen to export 2 USB
bulk endpoints in addition to a few real RS232 ports, and I have quite a
few tools that are capable to talk to them through tty. It's very helpful
to just load a USB driver and continue to use the tools unmodified
[well, almost unmodified, -- after fixing their bugs ;)]. Line settings
aren't an issue here, but speed is as USB is used for downloading of
rather big data files from the device and for data collection in
real-time.

Would it be a welcome contribution if I try to split the "generic" into,
say, usb-serial-core and usb-serial-generic, the latter being really
tiny at the beginning, and then improve it for speed? I've actually done
it (speed improvement for bulk transfers) one time for 2.4.x, but at
that time interface to the tty layer was not suitable for high-speed
transfers and therefore my code had quite a few ugly kludges and finally
I wasn't able to match raw USB bulk speeds anyway. Now, AFAIK, the tty
layer interface has been improved and I hope to have better experience.

Another thing that I'm interested in is making it possible for
usb-serial-generic to manage multiple devices even with different
vendor/product ids, but I currently have no idea how to achieve
this. Writing even tiny kernel driver just to handle another
vendor/product id seems to be really inconvenient :( Is it possible at
all with the current modules model?

-- 
Sergei.


_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to