Re: usb2 iscochronous transfer




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

_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: Can I run 2 frames in separate threads
    ... This frame is the ... I am not a GUI programmer. ... if you sleep within this thread the GUI becomes non-responsive. ... public void actionPerformed ...
    (comp.lang.java)
  • Re: HELP: Push Source Screen Capture filter
    ... I put Sleep() calls ... when no frame is dropped. ... When there are more dropped frames, I get lower final fps of ... rtStart = currTime; ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: "while loop" in a thread
    ... while loop checks if a new frame is available (using function that is ... Even if I don't display any frames (essentially, a blank while loop, ... If Sleep() is precise enough so that I don't miss a frame, ... It works approximately like a 10 msec interrupt: At each interrupt the OS checks for pending events and decides which thread to execute next. ...
    (microsoft.public.vc.language)
  • Re: How to unpack all sub-objects of a frame with one single command?
    ... > sleep 2 ... > command to unpack a parent frame and all objects in the frame, ... proc unpack { ...
    (comp.lang.tcl)