From owner-freebsd-hackers Tue Jan 15 17:50:49 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from seven.Alameda.net (seven.Alameda.net [64.81.63.137]) by hub.freebsd.org (Postfix) with ESMTP id 2ED3137B404 for ; Tue, 15 Jan 2002 17:50:46 -0800 (PST) Received: by seven.Alameda.net (Postfix, from userid 1000) id F38643A239; Tue, 15 Jan 2002 17:50:45 -0800 (PST) Date: Tue, 15 Jan 2002 17:50:45 -0800 From: Ulf Zimmermann To: hackers@freebsd.org Subject: USB UHCI speed issue ? Message-ID: <20020115175045.Y98001@seven.alameda.net> Reply-To: ulf@Alameda.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Organization: Alameda Networks, Inc. X-Operating-System: FreeBSD 4.4-STABLE Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I am looking at libnjb (Library to talk to a Creative Nomad player). From the README: It appears that the uhci device under FreeBSD performs poorly on bulk data transfers. The USB 1.1 specification defines 1000 "frames" every second, for 1 frame per ms. The host controller determines how many packets to place in each frame, based on available bandwidth and bandwidth requirements. This is called "bandwidth reclaimation", and the FreeBSD USB stack does not do this as of 4.4-RELEASE. The end result is only one packet sent per frame, which severely limits the transfer rate: the NJB uses 64-byte packets, and the math gives us a data transfer rate of 64,000 bytes/second. Yuck. If you have a UHCI USB controller, this will bite you. If you have an OHCI USB controller, the ohci device driver "does the right thing", and will give you 430kb/second (or so). However, there is a caveat: I have noticed some instabilities in the ohci driver, so you may have problems here, too. This problem with the uhci stack has been fixed under NetBSD, but this new code has not yet been ported to FreeBSD. Has this been fixed in -CURRENT ? And if so, can someone point me at what files I can try to get onto -STABLE to get a higher speed out ? I am working on an application and 64,000/sec is slow to test things. -- Regards, Ulf. --------------------------------------------------------------------- Ulf Zimmermann, 1525 Pacific Ave., Alameda, CA-94501, #: 510-865-0204 You can find my resume at: http://seven.Alameda.net/~ulf/resume.html To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message