ts-7000
[Top] [All Lists]

[ts-7000] Re: new incoming TS-7500

To:
Subject: [ts-7000] Re: new incoming TS-7500
From: "Jesse Off" <>
Date: Thu, 14 May 2009 21:25:35 -0000
--- In  Jason Stahls <> wrote:
>
> Daniel Smolik wrote:
> > Very interested, any info about SD implementation ? Still binary blob ?
> 
> Guaranteed, Technologic Systems NDA would still apply.
> 
> -- 
> Jason Stahls
>

We are doing something different with SD this time.

There is no kernel module or compiled in kernel driver at all on the TS-7500. 

The driver is implemented completely in userspace via the Linux NBD userspace 
block driver interface.  The "sdctl" application now has a "--nbdserver" 
option.  Now that we can do almost everything necessary in userspace (irqs, 
DMA, and raw hw access), the only reason to implement anything in the kernel is 
to get the last few percent of performance, which, if absolutely necessary, can 
be more easily improved on by other means. 

The NBD driver has been in Linux for a long time and has a history  as a stable 
protocol.  There is some information on it here: 
http://www.linuxjournal.com/article/3778  I particularly agree with the author 
in the last few paragraphs at the bottom titled "Writing Linux Device Driver 
Code"

The TS7500 serial ports are now implemented in a similar way.  The hardware is 
handled via userspace daemon and ports are presented to the user as either 
localhost/remote TCP sockets or by using the pseudo-tty driver for legacy 
serial driver compatibility. 

A nice side-effect of this scheme is the ability to "export" SD cards or SD 
card filesystem images via the network for faster or more convenient 
development.  This can also now be easily done with serial ports over TCP.  For 
testing, I had several boards worth of serial ports exported via TCP to 
pseudo-tty's on my desktop Linux PC and was also able to "telnet" to serial 
ports instead of using minicom.

It is our goal to do everything we need from userspace such that a customized 
kernel or proprietary kernel modules are not necessary and the kernel+modules 
can be left as "pristine" as possible.  This will also have the desirable 
effect of more easily moving to new kernels in the future when internal kernel 
APIs change that would otherwise require rewriting drivers or being forever 
tied to deprecated kernel versions.

//Jesse Off




------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU