On Wed 17 October 2012 01:04:13 Daniel Mack wrote:


On Oct 16, 2012 11:29 PM, "Jeffrey Barish" <jeff_barish@earthlink.net> wrote:
>
> On Fri 28 September 2012 10:37:01 Daniel Mack wrote:
> > On 28.09.2012 04:55, Jeffrey Barish wrote:
> > > On Fri 28 September 2012 03:06:22 Daniel Mack wrote:
> > >> (adding back the mailing list - please don't drop it in replies)
> > >
> > > Oops.  My bad.
> > >
> > >> On 28.09.2012 02:43, Jeffrey Barish wrote:
> > >>> On Fri 28 September 2012 02:02:05 you wrote:
> > >>>> On 28.09.2012 01:56, Jeffrey Barish wrote:
> > >>>>> I am using a USB DAC (HRT Music Streamer II) which operates in
> > >>>>> asynchronous mode.  It works perfectly at sample rates up to 48 kHz.
> > >>>>>
> > >>>>>  When I go to 88.2 or 96, it works perfectly sometimes.  Most of the
> > >>>>>
> > >>>>> time I get ticks.  When it starts playing without ticks, it will
> > >>>>> continue to play without ticks to the end of the track.  A different
> > >>>>> USB
> > >>>>> DAC that operates in isochronous mode is able to play at the high
> > >>>>> sample
> > >>>>> rates without problem.
> > >>>>
> > >>>> Which kernel are you on? And please post the output of 'lsusb -v'.
> > >>>
> > >>> I am on the latest kernel, 3.2.0-31-generic
> > >>
> > >> That is not the latest kernel - we're currently close to the final
> > >> version of 3.6, and the snd-usb driver has seen major overhaul in the
> > >> last versions.
> > >>
> > >> So it would be interesting to know whether you see these effects when
> > >>
> > >> running a kernel built from this git:
> > >>   git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > >>
> > >> Daniel
> > >
> > > You seem to have me confused with someone who knows what he's doing.  I
> > > meant that 3.2.0-31-generic was the latest kernel available from Ubuntu.
> > > You're proposing what sounds like a worthwhile experiment considering the
> > > major overhaul to the snd-usb driver, but I've never upgraded a kernel
> > > except from deb packages, so I'm quaking in my boots just thinking about
> > > it.  Ooh, and I bet you're telling me that I would have to make the
> > > kernel.  More quaking.
> > You could as well just wait for the next ppa kernel and install that one
> > form the package once it's there.
> >
> >   http://kernel.ubuntu.com/~kernel-ppa/mainline/
> >
> > There was unfortunately one small regression in the last versions that I
> > just fixed, so be sure to wait for one more packaged release or even for
> > 3.6-final.
> >
> > > Out of curiousity, are you aware of any specific characteristics of the
> > > old
> > > snd-usb driver that could account for what I am experiencing?
> >
> > No, but it would be way easier to have a look into that if it also
> > happens with the current version :)
> >
> >
> > Daniel
>
> Kernel 3.6.2-quantal does the same thing.
>
> When I interpose a USB hub between the computer and the USB DAC, the ticks go
> away.  Playback works perfectly at 96 kHz.  However, at 88.2 kHz, I now get
> occasional "blips" (instead of steady "ticks").  These symptoms point to
> excessive delay in the control feedback loop, probably because of buffers in
> the driver that are too big.  If I wanted to take a look at the source code
> for the driver to see whether I can find anything, where would I find it?

Here:

http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=tree;f=sound/usb

Please don't hessitate to share any patches or questions.

I found something in the snd_usb_audio code (in endpoint.c) that could explain one of the problems I have observed (the ticks). I would normally test my theory by modifying the code. In this case, I would like to stick in a print statement to see what values are being assigned to certain variables. Unfortunately, I am too ignorant to do something even this trivial as I have never worked on kernel code. I think I am supposed to use printk, but beyond that I am lost. Can someone provide me with some directions? I need to know how to make the driver. To that end, I probably will have to install additional packages. After making the driver, I need to know how to install it over the existing driver.

 

Jeff