Re: [ANNOUNCE] OSS Proxy using CUSE
From: H. Peter Anvin
Date: Thu Aug 28 2008 - 19:38:42 EST
Greg KH wrote:
Hm, why? It's a "fake" serial port as it is just a pass-through to the
USB device. No flow control or line settings work on the device, so the
kernel driver just silently eats them. But there is old, closed source
software that wants to talk to a serial port, so the kernel driver
remains. With this code, we could then use the more modern libusb code
instead.
I guess you could hook it up through a pty, and somehow create
/dev/pilot/ for it as well, that is an idea to consider.
Why? Because there is a lot of complexity in the tty layer, and there
is no point in replicating the entire tty layer with all its ioctls
through a fragile user-space emulator. For cases like this, a pty is
easier (your daemon opens /dev/ptmx, and then symlinks the appropriate
pty to /dev/pilot) and works better.
The big problem with using ptys for serial port emulation is that they
currently don't handle BREAK at all.
For this type of USB device, that's not an issue :)
Indeed. It would be nice to fix, because it would make implementing
serial ports as ptys+userspace a much more capable replacement. It's
not trivial, though, because the interpretation of the BREAK has to be
done when received, not when sent, which means supporting a 257th value
in the underlying buffer setup.
-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/