From owner-freebsd-bugs Thu Mar 13 9: 0:35 2003 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 24F3C37B404 for ; Thu, 13 Mar 2003 09:00:34 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 87FB743FD7 for ; Thu, 13 Mar 2003 09:00:33 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id h2DH0XNS047266 for ; Thu, 13 Mar 2003 09:00:33 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id h2DH0XN3047258; Thu, 13 Mar 2003 09:00:33 -0800 (PST) Date: Thu, 13 Mar 2003 09:00:33 -0800 (PST) Message-Id: <200303131700.h2DH0XN3047258@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Henning Meier-Geinitz Subject: Re: kern/41281: USB scanning works only once Reply-To: Henning Meier-Geinitz Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR kern/41281; it has been noted by GNATS. From: Henning Meier-Geinitz To: Nate Lawson Cc: freebsd-gnats-submit@freebsd.org Subject: Re: kern/41281: USB scanning works only once Date: Thu, 13 Mar 2003 17:58:14 +0100 Hi, On Wed, Mar 12, 2003 at 09:30:16PM -0800, Nate Lawson wrote: > Please send me a pointer to the relevant code in the linux driver and I > may be able to put together a workaround. Well, the problem is that there is no special code in the Linux kernel for working-around the problem. My observation is that the Linux kernel invokes functions that change the USB toggle (e.g. set_configuration) only on driver load/plugging in the device. BSD seems to change the toggle on every open() (and/or close()?) of a USB device file. That's not wrong, it just triggers this hardware bug. I don't know the FreeBSD kernel internals but I gues it's not easy to work around this bug without changing the way how USB is handled in general. E.g. set_configuration in Linux is only called in usb_new_device() (drivers/usb/core/usb.c) which is called by the hub driver on device connect. That's with linux 2.5.64. Bye, Henning To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message