/dev/ttyS... ist die neue Art, serielle Schnittstellen anzusprechen, /dev/cuaN ist die alte und wird seit dem Kernel 2.4.x nicht mehr unterstützt.
Can someone kindly explain the difference between the `/dev/cua'? and `/dev/ttyS'? devices?
/dev/ttySxx devices are fully POSIX-compliant TTY devices. If you are only going to be using one set of tty devices, you should be using /dev/ttySxx.
/dev/cuaXX devices are different from /dev/ttySXX in two ways -- first of all, they will allow you to open the device even if CLOCAL is not set and the O_NONBLOCK flag was not given to the open device. This allows programs that don't use the POSIX-mondated interface for opening /dev/ttySxx devices to be able to use '/dev/cuaXX'' to make outgoing phone calls on their modem (cu stands for "callout", and is taken from SunOS).
The second way in which /dev/cuaXX differs from /dev/ttySXX is that if they are used, they will trigger a simplistic kernel-based locking scheme: If /dev/ttySXX is opened by one or more processes, then an attempt to open /dev/cuaXX will return EAGAIN. If /dev/cuaXX is opened by one or more processes, then an attempt to open /dev/ttySXX will result the open blocking until /dev/cuaXX is closed, and the carrier detect line goes high.
While this will allow for simple lockouts between a user using a modem for callout and a getty listening on the line for logins, it doesn't work if you need to arbitrate between multiple programs wanting to do dialout -- for example, users wanting to do dialout and UUCP.
I originally implemented the cuaXX/ttySXX lockout mechanism back before FSSTND established a standard convention for the use of tty lock files. Now that it's there, people should use the tty lock files and not try using /dev/cuaXX. The only reason why /dev/cuaXX hasn't disappeared yet is for backwards compatibility reasons.
Bemerkung: /dev/cuaXX wird seit der Kernelrevision 2.2.X nicht mehr unterstützt.
Kurz: /dev/cuaX ist die alte Methode um serielle Interfaces anzusprechen und /dev/ttySX die neue.
Lang: Früher wurde /dev/cuaX für ausgehende Verbindungen (bsp Modem) verwendet und /dev/ttySX für eingehende (bsp dumme Terminals). Obwohl bei einer Standard-Installation (einer alten Distribution) noch immer beide Möglichkeiten zur Verfügung stehen sollte man sich auf /dev/ttySX konzentrieren. Einige Applikationen beschweren sich über eine 'veraltete' Vorgehensweise (bsp minicom).
Im Allgemeinen verweise ich aber auf die viel korrekteren Ausführungen des vorherigen Postings.