On Fri, 24 Sep 2004, Braman, Paul wrote: > I'm currently using 2.6.8.1.
It's possible that 2.6.9-rc2 will be different, although I doubt it. > > Your device must really be transmitting empty frames. > > That's fine, for the most part...it's a pretty cheap device and I don't > expect it to be all that robust. The problem is the different behavior > in the two kernels (2.4 & 2.6). > > Considering *just* the streaming of data (not the quality/contents of > the stream itself), when I get a stream running, stop the program, then > restart it two different things happen: 2.4) device continues to stream > data, and 2.6) device transmits blank frames until I unplug/replug the > S/PDIF input. This could be the result of changes to the USB stack between 2.4 and 2.6. In 2.6, when a user program closes a USB device file (actually, whenever it releases an interface) the altsetting is set back to 0. In 2.4, the altsetting isn't affected. > debug.plugged.null: This file is a snapshot of what happens when I > first start the program and get a bunch of blank URBs. It looks like > the device is transmitting blank frames (I'm assuming). I get a bunch > of frames where: > > ... SPD Length=7ff MaxLen=cf ... That's right; those are length-0 frames. (The UHCI hardware stores the actual length - 1, so this really means Length=0 and MaxLen=d0.) > debug.plugged.data: This file is a snapshot of what happens when I am > getting data (after replugging the S/PDIF input). You will notice I get > a bunch of data frames and every 26th/27th I get, what looks like, a > blank frame. > > ... SPD Length=b3 MaxLen=cf ... > ... SPD Length=b3 MaxLen=cf ... > ... SPD Length=7ff MaxLen=cf ... > ... SPD Length=b3 MaxLen=cf ... > ... SPD Length=b3 MaxLen=cf ... Yep. As far as the driver and the USB controller are concerned, the device is sending length-0 replies. > debug.unplugged: As a control, I grabbed this file with the S/PDIF > unplugged. It streams data just fine...just that the data is all zeros > (no waveform). (Note that this state doesn't suffer from the > unplug/replug problem when there is actually data coming across.) You > will see the same pattern of frames as in debug.plugged.data. (Every > 26th/27th frame is "blank".) > > > The cynic in me would think, "Well, it looks like the device is dropping > frames for some reason." (But what do I know?) All I know is that the > device works fine when attached to a WindowsXP machine. > > What I am going to do is find *another* Red Hat Linux 9 machine in the > building with different physical hardware and see if it exhibits the > same problem. (I tried this experiment on another one of our test > machines running same OS/hardware and got the same results.) That sounds like a good idea. I notice that along with all the isochronous stuff, there was a period-32 interrupt URB queued. Could this somehow be responsible for the strange behavior? (Although if it were, you'd expect the empty frames to occur exactly at intervals of 32.) Another possibility is that some other program is trying to query your device every 27-28 milliseconds. Something like that might confuse the device enough to make it send an empty frame. Alan Stern ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users
