At 06:18 AM 4/18/2007, Philip Covington wrote: >Will Flex provide a driver for Linux for the Firewire interface to the >SDR-5000? Also, does the company who makes the Firewire interface >chip provide the source code to the drivers or do they have a driver >development kit? Do they have a SDK for the Firewire interface chip >available for free (as in beer) or open source?
I'm not flex (and I'm pretty sure Gerald will respond on their behalf) but I can talk to what is typical, since I'm in the middle of doing a 1394b development. There's several disparate issues being addressed here.. 1) The interface to the transport layer provided by the 1394b interface. 2) The data that is carried over that transport To cast this in a more familiar model, consider a system where the interconnect is a serial cable using, e.g. RS232, async, 9600 bps, 1 stop bit, etc, where a user application just reads and writes to a "serial device" (not the actual UART hardware registers). #1 would correspond to the inner workings of the UART, the line drivers, and the configuration of all that. #2 is the messages you're sending over the cable. I would expect Flex to provide the #2 (embodied in their open source code base) I would expect that #1 is buried in the guts of the machine, and is no more open than the microcode of the CPU running the software. Now.. there are some subtleties, since 1394 isn't quite as simple as a serial bit pipe (were that it were so, my life would be easier). 1394 devices/drivers can expose several different interfaces to an application: - a message passing scheme - an emulation of shared memory (e.g. a video frame buffer.. camera writes, application on computer reads) - streaming data Note that a lot of this actually is independent of the 1394b spec itself, and is actually defined at a higher level in the OSI stack. Complicating this is that for commercial reasons, you might not actually have convenient access to the guts of the stack, but only get some commercially viable implementation which includes 1394b as the transport, but also includes, for instance, IP1394 or OpenHCI. What YOU as an application developer will actually see is some subset of all possible things that can be done with 1394, filtered through the marketing and technology vision of the folks who put up the substantial cash to develop the chip and drivers. Note well.. developing a 1394 ASIC or IP core is probably a $10M effort (figure many 10s of work years).. it is sufficiently complex that I don't expect to see any open source "grad student for PhD thesis" or "devoted hacker ni their spare time" sorts of implementations.. it's too big a job for that scale of operation There is a IEEE standard 1212-2001 that defines standard control and status registers for 1394 implementations.. HOWEVER, I've been given to understand that most devices bury this level in a higher level of functionality that's more application specific. Another popular interface standard is the OHCI (Open Host Controller Interface) which is promulgated by Microsoft. I suspect that most PC 1394 devices support this at some level. The basic spec for streaming is IEC61883-1 which defines how isochronous streams work and some control protocols You might also find stuff in IEC61833-6 which defines audio and video transport. There's another standard that talks about implementing the -6 standard and talks about distribution of sampling clocks etc. (I don't know the spec number..but it might be trackdownable under mLAN). There's another, more PC oriented (as opposed to video/audio/consumer entertainment equipment) protocol called SBP-3 (Serial Bus Protocol-3) which defines a transport layer for asynch commands and data and isochronous data streams. I believe it's defined in ANSI NCITS 375-1994. For transporting IP packets, there's RFC2734 and others. I think there's some work on isochronous streams in this context, but, for the mean time, I've been looking at RTP (which is not isochronous) Jim, W6rmk _______________________________________________ FlexRadio mailing list [email protected] http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Knowledge Base: http://kb.flex-radio.com/ FlexRadio Homepage: http://www.flex-radio.com/

