Re: on patch "DVB: add firesat driver" in staging.git

Previous thread: Re: Status report, October 16, 2007 by Tomasz Chmielewski on Wednesday, October 17, 2007 - 11:59 am. (28 messages)

Next thread: Re: [PRJ007] tty over TCP driver needed by Greg KH on Wednesday, October 17, 2007 - 5:15 pm. (2 messages)
From: Greg KH
Date: Wednesday, October 17, 2007 - 3:30 pm

Here's another driver that needs a developer.  Anyone want to work on
it?  Let me know.

thanks,

greg k-h

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

Summary:  tty over TCP driver

Description:
	A company has devices that are exposed over TCP to a local
	machine as a "normal" tty serial port.  A driver needs to be
	written for Linux to expose this kind of functionality to the
	user so that standard serial programs can be used to control the
	device.

Estimated skills needed:
	tty layer experience
	TCP from within the kernel experience
	This is not a good "first driver" type project, but should not
	be that complex (with the exception of trying to understand the
	tty layer, a currently moving target.)

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Robert Berger
Date: Sunday, June 15, 2008 - 5:11 am

I don't know enough about the 1394 API to judge for this project, but I 
believe that there are similarities to IPTV systems, where the streams 
are coming through an Ethernet interface.
Some people want to avoid the copy from kernel to user space (network 
stack) and back to kernel space (inject into some hardware demux) in 
case of a user space application, hence they go for the kernel space 
implementation and claim it's for performance reasons, but I do have 
evidence, that it's not enough. (different implementations on the same 
hardware platform)
In case you receive some RTP stream over the network you need to peel 
off various headers and stuff like layers from an onion to end up with 
the raw data, which can be injected into the demux. So the classic 
approach is for each packet to allocate some memory for one layer and 
less for the next (stripped stuff) and less for the next and so on. To 
pass from one layer to the next you do some copies, which is very 
expensive in terms of performance. It turned out that it's worthwhile to 
write your own memory manager, which contains a reusable pool of chunks 
of memory. In order to pass form one to the next layer no copying is 
needed, but just some playing around with pointers. Like this a user 
space application with a memory manager can easily outperform a kernel 
space application, which does not use it's own memory manager.
Of course if you would use a memory manager in kernel space, you could 
achieve the best results, since you would avoid the copies form kernel 
to user space and back.
Do you see similarities for the 1394 stuff?

Regards,

Robert

---
Robert Berger
Embedded Software Specialist

Reliable Embedded Systems
Consulting Training Engineering
Tel.: (+30) 697 593 3428
Fax.:(+30 210) 684 7881
email: robert.berger@reliableembeddedsystems.com
URL: www.reliableembeddedsystems.com
---
 
......The moral is obvious. You can't trust code that you did not 
totally create yourself. -- Ken Thompson

My public ...
From: Jay York
Date: Wednesday, October 17, 2007 - 3:53 pm

Can you say, "telnet?"  Can you say, "pty?"

-Jay


_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Greg KH
Date: Wednesday, October 17, 2007 - 4:20 pm

A: No.
Q: Should I include quotations after my reply?


I might be totally missing something, but how to you send line speed and
flow control settings over telnet?  Even with a pty, you can't do that.

Here's a bit more information.  This device is a box, that you plug a
ethernet cable into, and a serial port comes out of.  On the remote end,
you connect to the device, and it needs to look like you are directly
controling that serial port, line settings and flow control and all.

Just like a usb-serial device, but instead of USB, you are using TCP as
the transport layer.

With those requirements, can telnet and a pty still implement this?

thanks,

greg k-h
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Greg KH
Date: Wednesday, October 17, 2007 - 4:27 pm

Oh, and some of these devices are 1 ethernet, multiple serial ports,
requiring the protocol to support multiple endpoints on the same TCP
connection.  Again, just like usb-serial devices.

thanks,

greg k-h
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Jay York
Date: Wednesday, October 17, 2007 - 7:34 pm

1.  It's called a console server, or a terminal server, depending on  
whether it performs the multiplexing or demultiplexing function.   
These have been around for twenty years, and they don't require  
device drivers.
2.  To reiterate:  a) this is a solved problem, b) with a strictly  
user-space solution.
3.  Greg, kindly take me off this list.  Deregister me, deactivate my  
account, whatever.

Thanks.


_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Matthias Urlichs
Date: Wednesday, October 17, 2007 - 11:03 pm

--d6Gm4EdcadzBjdND
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi,


That's cool. So I can connect a bunch of Class 2 Fax modems to a
terminal server, point Hylafax at them, and have everything work out of
the box?

The answer is NO. There is no pty-lookalike driver which transparently
passes stuff like TERMIO(S) ioctl calls to userspace (and waits for a
reply, to allow for _WAIT behavior) or otherwise allows you to
manipulate modem control lines.

Then there's the high-volume problem. You could implement PPP entirely
in userspace, TUN/TAP is a solved problem with a mostly-complete
solution (unlike pty), but there's a very good reason not to.

--=20
Matthias Urlichs   |   {M:U} IT Design @ m-u-it.de   |  smurf@smurf.noris.de
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
 - -
I never expected to see the day when girls would get sunburned in the
places they do today.
		-- Will Rogers

--d6Gm4EdcadzBjdND
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHFvdK8+hUANcKr/kRAhOtAJ9wNl2Jv/zo071buleK2nlpY3DZPQCgo+oO
KRvPNibyRqYonXeBs4wumSY=
=HYqD
-----END PGP SIGNATURE-----

--d6Gm4EdcadzBjdND--
From: David Hollis
Date: Thursday, October 18, 2007 - 5:37 am

I'd like to be involved.  I'd like to think that this can wind up as
some sort of part kernel/part userspace type of implementation though
that may not be entirely possible.  Hopefully there are other folks as
well as I don't have a tremendous amount of time to dedicate to it but I
do have quite a bit of serial and networking experience, and more
-- 
David Hollis <dhollis@davehollis.com>

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: David Glandon
Date: Thursday, October 18, 2007 - 5:53 am

I would be interested in observing this driver and offering any
assistance that I can.  I've not previously worked on the linux kernel
but feel comfortable with OS concepts and would like to get my hands
dirty in the near future.



-- 
David Glandon
(864) 915-4862
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Candida lopez
Date: Thursday, October 18, 2007 - 7:37 am

On Thursday 18 October 2007 08:53, David Glandon wrote:

I been reading the this thread and I find something that I do not understand, 
this is going to be tty -> ppe ->TCP 

can you use the modem controls to quench the data (if not can be something 
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: John W. Linville
Date: Thursday, October 18, 2007 - 6:51 am

I'd like to be "in the loop" on this one too.  FWIW, I have an IOLAN
terminal server in my server cabinet downstairs that implements exactly
this type of functionality.

John
-- 
John W. Linville
linville@tuxdriver.com
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Stefan Richter
Date: Sunday, June 15, 2008 - 8:39 am

OK.  IOW the benefit is that FireWire DVB cards are presented to 

I am not familiar with isochronous 1394 application programming at all. 
But IIDC (uncompressed video for machine vision, surveillance etc.), DV 
(compressed video with camcorders, TVs, STBs), and semipro/pro audio are 
all handled in userspace, which is evidence that many realtime 
requirements can be satisfied with userspace implementations.

AFAIU zero-copy operation is possible with raw1394 only within the 
constraints of a ring buffer of programmable size.  This buffer is to be 
used during the whole reception, which makes zero-copy unrealistic in 
most situations.  I don't know about the capabilities of video1394, 
which is another userspace ABI of the ieee1394 stack.  The new firewire 
stack's firewire-cdev ABI allows for zero-copy operation without 
raw1394's restriction.

However, zero-copy operation is not a general requirement for realtime 
applications, although it is of course desirable, or actually necessary 

AFAIK raw1394 uses a feature of FireWire controllers which discards IEEE 
1394 headers from received streams before DMA.  The new firewire-cdev 
API uses a more flexible feature, dual buffer DMA, which lets the 
controller write headers of configurable size (i.e. IEEE 1394 headers 
and optionally additional format-dependent headers) into a buffer 
separate from the payload buffer.

(Note though that I have no expertise in any of these areas.  Some 
people over at linux1394-devel have, but I didn't want to cross-post.)
-- 
Stefan Richter
-=====-==--- -==- -====
http://arcgraph.de/sr/
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
Previous thread: Re: Status report, October 16, 2007 by Tomasz Chmielewski on Wednesday, October 17, 2007 - 11:59 am. (28 messages)

Next thread: Re: [PRJ007] tty over TCP driver needed by Greg KH on Wednesday, October 17, 2007 - 5:15 pm. (2 messages)