Date: Thu, 23 Mar 2006 01:55:58 +0100 (MET) From: Peter B <pb@ludd.ltu.se> To: hselasky@c2i.net (Hans Petter Selasky) Cc: freebsd-hackers@freebsd.org Subject: Re: usb2 iscochronous transfer Message-ID: <200603230055.k2N0twwd024499@brother.ludd.ltu.se> In-Reply-To: <200602241909.05333.hselasky@c2i.net> from "Hans Petter Selasky" at Feb 24, 2006 07:09:04 PM
next in thread | previous in thread | raw e-mail | index | archive | help
>> >Maybe you want to try out the new USB API when designing the driver. Don't >> >forget that high-speed isoc have 8 frames per millisecond! http://en.wikipedia.org/wiki/USB "In addition to this some operating systems take a conservative approach to scheduling transactions and limit the number of transfers per frame. Reducing the maximum transfers from say the theoretical 13 per frame to 10 or 9." Does this apply? >> >PS: My USB driver in SVN is now also compiling and working on NetBSD 3.X. Where can I find instructions for this? >if that works better during the transition phase. But the patches are not >ready yet. Really it is just to follow the Makefile. Anything in particular that makes them "not ready" in you opinion? >> How is uaudio and umass working with this driver? > >uaudio and umass works fine, but they need to be rewritten, hence they are >still under the compatibility layer of my driver, and can sleep when they >should not sleep. I tested the new usb driver with: FreeBSD 6.0-RELEASE #0: Tue Mar 21 15:17:11 UTC 2006 CPU: Pentium Pro (199.74-MHz 686-class CPU) (yes a slave machine for i/o :) real memory = 83881984 (79 MB) http://www.pcidatabase.com/vendor_details.php?id=648 ehci0@pci0:6:2: class=0x0c0320 card=0x31041106 chip=0x31041106 rev=0x63 hdr=0x00 4xUsb 2xFw uaudio0: Creative Technology SB Live! 24-bit External, rev 1.10/1.00, addr 2 uaudio plays without any audioable distortion over the toslink interface. However syslog is full of: usbd_transfer_done: short transfer actlen(3528) < len (3600) What's the cause .. ? /usr/src/sys/dev/usb2/_usb_transfer.c usbd_transfer_done() error==FALSE (why set?) xfer->actlen < xfer->length xfer->flags & USBD_SHORT_XFER_OK == FALSE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603230055.k2N0twwd024499>