Re: USB2.0 - low-speed USB audio interface?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 22, 2010 at 10:15:05AM +0100, R.M. Thomas wrote:
> Greg KH wrote:
> >On Fri, May 21, 2010 at 08:33:50PM +0000, Mike Thomas wrote:
> >>I am the unfortunate author/maintainer of the easycapdc60 driver, which targets
> >>a single USB device: the EasyCAP DC60 dongle/stick having USB ID
> >>05e1:0408. This is widely marketed as an inexpensive ($10) means
> >>of digitizing videotapes
> >>and similar sources.  The front-end video chip is a SA7113H, the audio chip is
> >>(normally - see below) a VT1612A (or equivalent) and the bridge
> >>is a STK1160. The easycapdc60 driver is an integrated
> >>audio/video driver entirely independent
> >>of the V4L2 videodev module, although it does use the V4L2
> >>protocol for IOCTL. The driver was made publically available in
> >>January 2010 as a GPL Sourceforge
> >>project.
> >>
> >>The issue raised in the present thread arises from the fact that a given EasyCAP
> >>responds consistently in one of two different ways when probed.  One kind of
> >>EasyCAP always gives the output already posted above:
> >>
> >>http://pastebin.com/WPGLZtDA
> >>
> >>I call these "slow" EasyCAPs.  I do not own any of these, but have been obliged
> >>to recognize their existence following numerous complaints by users on the
> >>Sourceforge project's Open Discussion forum.  The second kind of EasyCAP, of
> >>which I possess three, gives different output:
> >>
> >>http://pastebin.com/k7MFfkA3
> >>
> >>I call these "normal EasyCAPs".  The difference between the slow and normal
> >>EasyCAPs is in the isochronous audio interface.  The slow EasyCAPs have audio
> >>format PCM8, tSamFreq 8000 and wMaxPacketSize 9.  The normal EasyCAPs have audio
> >>format PCM, tSamFreq 48000 and wMaxPacketSize 256.
> >>
> >>When originally developing the driver over Christmas 2009/2010 I was unaware of
> >>the slow EasyCAPs, and I hard-coded the URB parameters to give trouble-free
> >>audio streaming on the normal EasyCAP which I was using for testing.  The audio
> >>part of the driver in its present form does not expect a wMaxPacketSize of
> >>anything other than 256, and just concedes defeat gracefully when encountering a
> >>different value.
> >>
> >>I should like to enhance the driver to cope with the slow EasyCAPs, and I
> >>suppose it will be straightforward in principle to modify the URB parameters to
> >>accommodate slower audio streaming.  But the way in which the driver sets the
> >>registers of the VT1612A will not be right if the slow EasyCAPs contain a
> >>different audio chip, in which case the amount of work required will increase
> >>very substantially and my resolve may falter.
> >
> >Thanks for the very detailed descriptions.  How about just removing the
> >device ids of these devices that don't work well?
> >
> >Also, if you want, you should get the driver into the main kernel tree.
> >I'd be glad to add it to the drivers/staging/ portion of the kernel if
> >you don't think it is ready to merge to the "real" part of the kernel
> >for this type of driver.
> >
> >Just let me know.
> >
> >thanks,
> >
> >greg k-h
> >
> 
> It would be excellent if the driver could be integrated into the
> kernel tree.  I have taken the development nearly as far as I can on
> my own, and the source code would certainly benefit from expert
> appraisal and reworking of the weaker parts, for example the locking
> procedures (and very probably other things I have not even
> recognized as weaknesses). And of course an out-of-tree driver is a
> major inconvenience for users.

Great, care to point me to the version of the driver that you want me to
include?

> In the development version of the driver here at home I have
> recently added some features in response to user requests (most
> notably 320x240 and other reduced resolutions) and was about to
> start looking at possible solutions to the "slow EasyCAP" issue
> prior to releasing version 0.8.  It might be more efficient,
> however, to defer consideration of the slow EasyCAPs until the
> driver has been integrated into the kernel tree, as there is a much
> better chance of finding a sensible way forward on this when
> guidance from experienced developers is available.  I am coming to
> the view, therefore, that I should release version 0.8 on
> Sourceforge with minimal delay (a couple of weeks is probably the
> best I can do), and should then work towards migrating the driver to
> drivers/staging/.
> 
> I am aware that I shall need to reformat the source code to bring it
> into line with the conventional (K&R) kernel coding style, and I
> shall do this before submitting the driver for inclusion in
> drivers/staging/.  I am happy to cooperate in meeting this and any
> other requirements which may arise in order that mainstream users
> can get ready access to the driver as soon as possible.

Wonderful.  I can even clean up the formatting if you need me to, and
lots of other people love doing that as well :)

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux