Mehr als 4 serielle Schnittstellen

Stephan Fabel sfabel at gmx.net
Do Mär 4 19:07:08 GMT 2010


Hallo Liste,

ich stehe vor dem Problem, dass ich auf drei serielle Ports zugreifen muss.
Die Hardware ist folgendermassen konfiguriert:

- 1 "normaler" (DB-9?) port, an dem nichts haengt
- 5 ports, die ueber den LPC/Super-I/O intern zugaenglich sind

Hintergrund: ich steuere serielle Motor-Controller damit an, die sind schon
fest eingebaut in dem PC (Intel Motherboard -wie finde ich den Typ raus?-).
Unter Windows erscheinen alle sechs Ports als COM{1-6}. Ich nutze Ubuntu
Karmic.

Zunaechst hatte ich nur /dev/ttyS{0-3}, habe aber nach etwas Suchen dann den
Boot Parameter "8250.nr_uarts=6" gefunden, und seitdem werden die devices
auch richtig angelegt (/dev/ttyS{0-5}). Leider funktionieren die Ports
/dev/ttyS4 und /dev/ttyS5 nicht.

Folgendes ist der Output von dmesg:
[    1.015356] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    1.015479] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    1.015619] serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
[    1.015729] serial8250: ttyS3 at I/O 0x2e8 (irq = 3) is a 16550A
[    1.016355] 00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    1.016584] 00:10: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    1.016763] 00:11: ttyS2 at I/O 0x3e8 (irq = 3) is a 16550A
[    1.016937] 00:12: ttyS3 at I/O 0x2e8 (irq = 4) is a 16550A
[    1.017113] 00:13: ttyS4 at I/O 0x4f8 (irq = 5) is a 16550A
[    1.017289] 00:14: ttyS5 at I/O 0x4e8 (irq = 9) is a 16550A

Mich wundern hier zwei Dinge:

1. Warum meldet mein serial8250 Treiber nur vier Ports? Hat das ueberhaupt
etwas zu bedeuten, die zweite Gruppe von Meldungen beinhaltet ja die
zusaetzlichen zwei.

2. Die I/O Ports sind vertauscht. Im BIOS ist ttyS4 bei 0x4e8, und ttyS5 bei
0x4f8. Und ja, ich hab das schon probiert zu aendern, es springt immer um
(also dmesg meldet immer genau das Gegenteil von dem, was ich im BIOS
konfiguriere). Die IRQs werden vom Kernel uebernommen. Ich kann das auch
nicht mit setserial nachtraeglich veraendern.

Folgende Loesungen waeren fuer mich akzeptabel:

1. Obiges per magischer Kernelconfig oder so zu loesen

2. Ich brauche nur drei serielle Ports. Fragt mich nicht, warum die ein
Motherboard mit 6 ports genommen haben, und die Motor-Controller auf COM3-6
gelegt haben. Ich waere auch happy, wenn ich wuesste, wie ich die Pins von
dem LPC port auf dem Motherboard korrekt auf die Motor-Controller legen
soll, damit meine Controller auf /dev/ttyS{1-3} haengen - sprich, wenn ich
wuesste, welcher Typ mein Motherboard ist, koennte ich online nach einem
Handbuch suchen.

Was NICHT geht ist, dass ich hierzu keine Loesung finde. Ich stehe leider
ein wenig unter Druck, habe schon zwei Wochen in Google & Co. investiert,
und diverse Mailinglisten angeschrieben, ohne Erfolg. Daher gehe ich davon
aus, dass ich irgendetwas Grundsaetzliches uebersehen habe. Hat einer von
Euch eine Idee, was?

Vielen Dank und liebe Gruesse

Stephan
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: https://lists.ubuntu.com/archives/ubuntu-de/attachments/20100304/b44ea86d/attachment.htm