Forum: PC-Programmierung Anzahl COM Ports unter linux


von Sandmännchen (Gast)


Lesenswert?

Hi,

wieviele (virtuelle) COM-Ports kann man unter Linux maximal verwenden? 
Gibts es Unterschiede zwischen den verschiedenen Distributionen?
Google hat mir leider nicht weitergeholfen, und selber verwende ich 
momentan kein Linux.
Bei Windows lieg die Grenze bei 256

von Solide Vollnarkose (Gast)


Lesenswert?

Ja

von c. m. (Gast)


Lesenswert?

less /usr/src/linux/Documentation/devices.txt
1
  4 char        TTY devices
2
                  0 = /dev/tty0         Current virtual console
3
4
                  1 = /dev/tty1         First virtual console
5
                    ...
6
                 63 = /dev/tty63        63rd virtual console
7
                 64 = /dev/ttyS0        First UART serial port
8
                    ...
9
                255 = /dev/ttyS191      192nd UART serial port
10
11
                UART serial ports refer to 8250/16450/16550 series devices.

scheint auf den ersten blick 192 "com" devices ist max.

von Thorsten (Gast)


Lesenswert?

Pro seriellem Treiber etwa 1.000.000 (2^20), insgesamt also mehrere 
Millionen.

Thorsten

von Rolf Magnus (Gast)


Lesenswert?

c. m. schrieb:
>                 UART serial ports refer to 8250/16450/16550 series devices.
>
> scheint auf den ersten blick 192 "com" devices ist max.

Das sind aber erstmal nur die klassischen "COM"-Ports. Dazu kommen noch 
andere, wie z.B. per USB angebundene RS232-Schnittstellen.

von Thorsten (Gast)


Lesenswert?

Die Beschränkung auf 8-bit (256) MAJOR und MINOR Nummern bei den Devices 
ist schon seit Linux 2.6 nicht mehr aktuell. MAJOR-Nummern sind aktuell 
12-bit (4096), die MINOR-Nummern 20-bit (1048576) lang.

Thorsten

von Sandmännchen (Gast)


Lesenswert?

ok, also eher eine vernachlässigbar hohe Grenze.
Danke =)

von Matthias R. (mons)


Lesenswert?

Kann man die Einträge des /dev Interface überhaupt als COM Ports 
bezeichnen,
alle Einträge sind Dateien, auf die man Daten schreiben kann, die zwar 
nicht gespeichert, aber verarbeitet werden. Gleiches gilt auch für das 
Lesen, gelesene Daten werden umgehend gelöscht.

von Sam P. (Gast)


Lesenswert?

/dev ist kein Interface, /dev ist lediglich eine Konvention. Nahezu alle 
Unix-artigen legen ihre Geräteeinträge dort ab, was aber weder einen 
technischen Grund hat noch Zwang ist.

Und natürlich sind das serielle Ports, wenn dem Geräteeintrag eine 
entsprechende Hardware zugeordnet ist. Dateizugriff auf /dev/ttyS0 
stellt eben die Programmierschnittstelle des seriellen Ports dar. So wie 
unter DOS eben Dateizugriff auf COM1:, die beiden sind sich viel 
ähnlicher als du denkst.

Auch unter DOS könnte sich ein serieller Gerätetreiber GNA7: nennen, 
wenn er das wollte, und dennoch serielle Hardware zur Verfügung stellen. 
Mit den /dev-Einträgen geht die Flexibilität eben noch einen Schritt 
weiter und erzwingt nicht einmal einen bestimmten "magischen" 
Dateinamen.

Ob es sich bei einem Eintrag in /dev um einen seriellen Port handelt, 
ist freilich nicht verlässlich herauszufinden, daher auch die 
Namenskonvention "/dev/ttyIRGENDWAS<n>", damit das etwas vorhersagbar 
wird. Ist unter DOS nicht grundsätzlich anders, ausser das halt alle 
Treiberhersteller freiwillig ihre seriellen Ports COM<n> nennen.

von Matthias R. (mons)


Lesenswert?

Wieder was dazu gelernt :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.