From mboxrd@z Thu Jan 1 00:00:00 1970 From: Werner Schweer Subject: Re: tascam us-122 midi in does not work Date: Wed, 16 Jun 2004 19:20:53 +0200 Sender: alsa-devel-admin@lists.sourceforge.net Message-ID: <200406161920.53116.ws@seh.de> References: <200406131307.21072.ws@seh.de> <200406150110.31355.annabellesgarden@yahoo.de> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <200406150110.31355.annabellesgarden@yahoo.de> Content-Disposition: inline Errors-To: alsa-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: alsa-devel@lists.sourceforge.net List-Id: alsa-devel@alsa-project.org On Tuesday 15 June 2004 01:10, Karsten Wiese wrote: > Am Sonntag 13 Juni 2004 13:07 schrieb Werner Schweer: > > Hello, > > > > Some strange effect occurs on my tascam us-122 audio/midi usb > > device: > > After starting JACK the midi input does not work anymore. Not even > > the midi in led on the us-122 flashes. Midi output is always fine. > > After stopping JACK midi input still does not work. Midi input works > > again after disconnect/reconnect the usb cable. > > I'm using current ALSA cvs and kernel 2.6.7rc3. > > Didn't try that kernel yet. > > To see more, you can change snd_usbmidi_urb_error() in alsa-kernel:141 to > look like that: > > static int snd_usbmidi_urb_error(int status) > { > snd_printk(KERN_ERR "urb status %d\n", status); > if (status =3D=3D -ENOENT) > return status; /* killed */ > if (status =3D=3D -EILSEQ || > status =3D=3D -ECONNRESET || > status =3D=3D -ETIMEDOUT) > return -ENODEV; /* device removed/shutdown */ > return 0; /* continue */ > } > <<<<<< > > If this shows a status that causes a negativ return value when you start > jack, change snd_usbmidi_urb_error() further more so it returns 0 in that > case. that can crash the machine or help...... > > regards, > Karsten In current CVS the function looks like: /* * Error handling for URB completion functions. */ static int snd_usbmidi_urb_error(int status) { if (status =3D=3D -ENOENT) return status; /* killed */ if (status =3D=3D -EILSEQ || status =3D=3D -ECONNRESET || status =3D=3D -ETIMEDOUT) return -ENODEV; /* device removed/shutdown */ snd_printk(KERN_ERR "urb status %d\n", status); return 0; /* continue */ } and after loading jack the logfile has an "urb status" message of -108 (ESHUTDOWN?) followed by a "usb_submit_urb: -32" (EPIPE) message. =46rom the above code i assume snd_usbmidi_urb_error() returns 0 for status -108. Regards, Werner ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND