[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] fusb_darwin / osx code

From: Michael Dickens
Subject: [Discuss-gnuradio] fusb_darwin / osx code
Date: Sun, 1 Jan 2006 22:38:58 -0500

On Jan 1, 2006, at 5:43 PM, Eric Blossom wrote:
I am almost certain that the problem is that you are not submitting
multiple asynchonous requests to the USB subsystem.  This 4MB/sec
"limit" is what we are also seeing on NetBSD, which is also (at this
time) lacking a method to stream multiple bulk requests.

Since the existing libusb darwin/osx implementation issues non- blocking
bulk reads and writes, but then immediately blocks waiting for them to
complete, it does seem that we have all the bits and pieces that we
need to construct a fusb_osx.

Ah ... I was wondering what the linux code did, and that would make sense; I had thought about that possibility, but didn't want to go there yet as coding will take a bit of effort (as opposed to the quick efforts thus far: async w/ feedback, async w/o feedback, sync, async w/ isoch; all with the same results except for no feedback, which just didn't work at that really wasn't a surprise).

As OSX's IOKit provides an async callback with optional user defined arguments (e.g. used by libusb to get the actual # of Bytes transmitted), that mechanism can be used to determine when data is successfully transmitted or received, and then removed from an appropriate queue. I'll do it in USRP's fusb_darwin (similarly to the linux code), since it'll be easier to do the list buffering in C+ +. I will work on that no later than Tuesday, hopefully have a concept by the end of the week. - MLD

reply via email to

[Prev in Thread] Current Thread [Next in Thread]