Ben Saylor wrote: > On Thursday 17 July 2003 1:47 am, Ben Saylor wrote: > > I know you developers are overloaded, but here are a few things I've > > discovered as I attempt to diagnose the problem.. > > > > After installing the Audiophile once on a Windows machine, MIDI works > > with 0.9.5, even if I power off and unplug the unit from USB and AC. > > It seems that the firmware only has to be loaded once. > > > > I get sound (but always at 48khz) with 0.9.5 iff I do the following: > > 1. make sure ALSA modules are unloaded > > 2. unplug the audiophile from the computer > > 3. plug the audiophile into the computer > > snd-usb-audio and other modules are loaded automatically. > > --However, MIDI doesn't work if I do this. > > > > If I load the ALSA modules any other way than the above, MIDI works, > > but audio is either static or distorted. I also get a bunch of these > > in /var/log/debug when I play a sound file (44100 Hz, 16 bit, stereo) > > with aplay: > > > > Jul 17 01:14:32 purebox kernel: usb.c: usb-check-bandwidth would have > > FAILED: was 938, would be 940, bustime = 2 us > > ... > > etc. running tail -f /var/log/debug shows that 10 of these lines are > > spit out per second during playback. They don't appear if I let the > > modules load automatically. > > > > Ben > > Another discovery and a temporary solution that works for me, at least.. > > snd_usb_audio_probe() gets called twice, I'm guessing first for the > audio interface and second for the midi interface.
yes > I found that if snd-usb-audio is not loaded and I plug in the > Audiophile and let hotplug take care of loading the modules (the > only way audio will work), then usb_set_configuration() fails > during the second call to snd_usb_audio_probe(), causing the probe > to abort. So no midi. usb_set_configuration() should never be called twice for the same device. > This patch causes usb_set_configuration() to be called only during the > first probe. I have no idea what's really causing the problem, but for > now this gives me audio and midi at the same time. :) Your patch tries to do the right thing, but I don't think a static variable named "frogbreath" would be suitable for inclusion in the kernel (without a funny comment explaing its name. ;-) Takashi, could you please move the call to usb_set_configuration() (l.2726) to a place where it's called only for the first _probe() call, e.g. into the "if (! chip) {" block at line 2756? Regards, Clemens ------------------------------------------------------- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here: http://www.vmware.com/wl/offer/345/0 _______________________________________________ Alsa-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-user