From owner-freebsd-usb@FreeBSD.ORG Mon Jan 23 22:40:46 2006 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BF2A816A41F for ; Mon, 23 Jan 2006 22:40:46 +0000 (GMT) (envelope-from freebsd@luna.afraid.org) Received: from gw.luna.afraid.org (lls-c-13303.adsl.wanadoo.nl [81.69.81.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3F1624432F for ; Mon, 23 Jan 2006 22:40:44 +0000 (GMT) (envelope-from freebsd@luna.afraid.org) Received: from [127.0.0.1] (gw.luna.afraid.org [127.0.0.1]) by gw.luna.afraid.org (Postfix) with ESMTP id 777CA9; Mon, 23 Jan 2006 23:40:43 +0100 (CET) Message-ID: <43D55B6A.90402@luna.afraid.org> Date: Mon, 23 Jan 2006 23:40:42 +0100 From: Raaf User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8) Gecko/20060118 Thunderbird/1.5 Mnenhy/0.7.3.0 MIME-Version: 1.0 To: Lonnie Mendez References: <43D52C00.60107@austin.rr.com> In-Reply-To: <43D52C00.60107@austin.rr.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-usb@freebsd.org Subject: Re: ugen: question about receiving USBD_INTERRUPTED from usbd_bulk_transfer X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jan 2006 22:40:47 -0000 Lonnie Mendez wrote: > > Hello list. I've been working on/off on a usb host backend for qemu > and have run into a snag with ugen. So far it is working well with > devices that have interrupt endpoints like hid keypads/keyboards and a > gps device. I'm seeing no problems with control endpoint trasfers > either. The problem I'm encountering happens when attempting bulk IN > transfers on two different mass storage devices. The device is sent the > first mass storage command which succeeds and is then followed by a bulk > IN request. Sometimes the first bulk IN request will return data, but > then the second bulk IN request fails with EINTR. I've tried this with > FreeBSD 6.0 release and recently with 7.0 current. I think the error > returned is coming from the below code: > > > http://fxr.watson.org/fxr/source//dev/usb/usbdi_util.c#L459 > > The patch for qemu I'm using is located here: (patch-bsdusb.patch) > http://gnome.dnsalias.net/patches/ > > Both the qemu message output (transfer data log) and kernel messages > with hw.usb.debug and hw.usb.ugen.debug enabled are here: > http://gnome.dnsalias.net/kernlog-659 > http://gnome.dnsalias.net/qemulog-659 > > Can someone more familiar with the kernel please take a look? Or can > someone explain what receiving USBD_INTERRUPTED from this function would > imply? Thanks. > Hi, looks like it's getting interrupted by a signal, see tsleep(9). Maybe some alarm going off in the qemu code?