Deutsch
2014-08-01

Content

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

Anleitung zum einbinden einer internen PCI-Karte

mit 2 seriellen Schnittstellen in den Eisfair:

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

 

Start:

Eisfair mit 2 seriellen Schnittstellen.

Ziel:

Einbau einer PCI-Karte mit 2 seriellen Schnittstellen

sodass danach insgesamt 4 serielle Schnittstellen

zur Verfügung stehen.

Vorgehen:

 

A) System überprüfen

 

Eingabe:

> ls -al /dev/ttyS*

Ausgabe:

> crw-rw---- 1 root root 4, 64 Feb 4 14:31 /dev/ttyS0

> crw------- 1 uucp root 4, 65 Feb 4 16:10 /dev/ttyS1

> crw-rw---- 1 root root 4, 66 Feb 4 14:31 /dev/ttyS2

> crw-rw---- 1 root root 4, 67 Feb 4 14:32 /dev/ttyS3

Anmerkung:

ttyS2 und ttyS3 sind vom System reserviert

(und nicht real vorhanden)

 

B) Karten einbauen

 

- Sever runterfahren

- PCI-Karte mit den beiden seriellen Ports

in den Eisfair einbauen.

- Server hochfahren

 

C) Kartendaten ermitteln

 

Eingabe:

> lspci -v

Ausgabe:

Eine Liste aller installierten PCI-Devices.

U.a ein Eintrag der Art:

> 02:0a.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01) (prog-if 02 [16550])

> Subsystem: LSI Logic / Symbios Logic 2S (16C550 UART)

> Flags: medium devsel, IRQ 9

> I/O ports at a000 [size=8]

> I/O ports at 9800 [size=8]

> I/O ports at 9400 [size=8]

> I/O ports at 9000 [size=8]

> I/O ports at 8800 [size=8]

> I/O ports at 8400 [size=16]

Anmerkung:

Dies ist unsere PCI-Karte

mit den beiden seriellen Ports.

Man sieht es wird ein UART 16550 (16550A) verwendet.

Ebenso die I/O Ports

(die ersten beiden sind die wichtigen):

0xa000 und 0x9800

 

D) Serielle Devices/Schnittstellen im System anlegen.

 

Eingabe:

> mknod -m 660 /dev/ttyS4 c 4 68

> mknod -m 660 /dev/ttyS5 c 4 69

> ls -al /dev/ttyS*

Ausgabe:

> crw-rw---- 1 root root 4, 64 Feb 4 14:31 /dev/ttyS0

> crw------- 1 uucp root 4, 65 Feb 4 16:10 /dev/ttyS1

> crw-rw---- 1 root root 4, 66 Feb 4 14:31 /dev/ttyS2

> crw-rw---- 1 root root 4, 67 Feb 4 14:32 /dev/ttyS3

> crw------- 1 uucp root 4, 68 Feb 4 15:50 /dev/ttyS4

> crw-rw---- 1 root root 4, 69 Feb 4 14:32 /dev/ttyS5

Anmerkung:

ttyS4 und ttyS5 entsprechen jetzt

den 2 neu hinzugekommen Schnittstellen.

68 und 69 sind die fortlaufenden Nummern aus A)

(64,65,66,67)

 

E) Parameter der Schnittstellen setzen.

 

Eingabe: > setserial /dev/ttyS4 port 0xa000 UART 16550A irq 9 Baud_base 115200

> setserial /dev/ttyS5 port 0x9800 UART 16550A irq 9 Baud_base 115200

Anmerkung:

0xa000 und 0x9800 sind die

unter C) ermittelten Adressen.

 

F) Parameter bei jedem Systemstart setzen.

 

Da die Parameter unter e) bei jedem Systemstart

gesetzt werden muessen, werden diese beiden Zeilen

in die Datei /etc/init.d/local eingetragen.

 

> case $1

> in

> start)

> setserial /dev/ttyS4 port 0xa000 UART 16550A irq 9 Baud_base 115200

> setserial /dev/ttyS5 port 0x9800 UART 16550A irq 9 Baud_base 115200

 

G) Ueberpruefen der Schnittstellen.

 

Eingabe:

> more /proc/tty/driver/serial

Ausgabe:

> serinfo:1.0 driver:5.05c revision:2001-07-08

> 0: uart:16550A port:3F8 irq:4 baud:19200 tx:12 rx:20 RTS|DTR

> 1: uart:16550A port:2F8 irq:3 baud:19200 tx:115 rx:227 RTS|CTS|DTR|DSR

> 4: uart:16550A port:A000 irq:9 baud:9600 tx:867 rx:867

> 5: uart:16550A port:9800 irq:9 baud:9600 tx:4 rx:0

 

 

Grüsse Joachim Graf