Am Mittwoch, 28. Dezember 2005 00.35 schrieb Heinz Dittmar:
Am Dienstag 27 Dezember 2005 23:53 schrieb Erwin Volz:
Hallo
Folgendes Problem trat mit der Installation von 10.0 auf: Auf meinem PC wird der Parallelport nicht richtig erkannt: Die zum parallelen Port gehörenden Adressen werden den seriellen Ports zugewiesen.
Ich verwende eine Titan-PCI-Karte mit zwei seriellen Ports und einem Parallelport: Mit lspci -v erhalte ich die folgenden Angaben zur Karte: 00:0d.0 Serial controller: Titan Electronics Inc VScom 210L 2 port serial and 1 port parallel adaptor (prog-if 02 [16550]) Subsystem: Titan Electronics Inc VScom 210L 2 port serial and 1 port parallel adaptor Flags: medium devsel, IRQ 5 I/O ports at b400 [size=8] I/O ports at b800 [size=8] I/O ports at bc00 [size=8] I/O ports at c000 [size=8] Memory at dc004000 (32-bit, non-prefetchable) [size=64]
Die Adressen b400 und b800 stehen für die beiden seriellen Ports, bc00 und c000 sind die beiden Adressen für den parallelen Port.
Interessanterweise scheint setserial gewisse Ressourcen zu belegen, die nicht zu den seriellen Ports gehören: Bei der Abfrage erhalte ich die folgende Statusmeldung: /etc/init.d/setserial status /dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A /dev/ttyS1 at 0x02f8 (irq = 3) is a 16550A /dev/ttyS2 at 0xb400 (irq = 5) is a 16550A (Fourport) /dev/ttyS3 at 0xb800 (irq = 5) is a 16550A (Fourport) /dev/ttyS4 at 0xb400 (irq = 5) is a 8250 running
Noch schlimmer sieht es im /proc aus, da werden gleich sämtliche Adressen mit UART belegt. /proc/tty/driver # more serial serinfo:1.0 driver revision: 0: uart:16550A port:000003F8 irq:4 tx:0 rx:0 1: uart:16550A port:000002F8 irq:3 tx:0 rx:0 2: uart:16550A port:0000B400 irq:5 tx:0 rx:0 3: uart:16550A port:0000B800 irq:5 tx:0 rx:0 DSR 4: uart:8250 port:0000B400 irq:5 tx:0 rx:0 5: uart:unknown port:0000B800 irq:5 6: uart:unknown port:0000BC00 irq:5 7: uart:unknown port:0000C000 irq:5
Das Problem kenne ich grundsätzlich schon von der Version 9.1 her (habe ich vorher auf der Maschine gehabt). Dort hat es allerdings genügt in der File /etc/init.d/setserial die Zeile mit "AUTO_IRQ=auto_irq" auszukommentieren und die korrekten Angaben bei der manuellen Konfiguration einzufügen (habe ich auch wieder gemacht, seither stimmen wenigstens die Angaben für ttyS0 ... ttyS3).
Scheinbar werden diese falschen seriellen Ports schon vor dem Start von /etc/init.d/setserial definiert. Aber wo? Oder kann ich diese falschen UART irgendwie entfernen?
Du mußt in /etc/init.d/setserial alle seriellen Schnittstellen komplett angeben. Seit ca. SuSE 9.1 werden beim booten nicht mehr als 4 angezeigt, obwohl alle korrekt konfiguriert werden (bei mir ttyS0 - ttyS5). Ich gebe einfach alle seriellen Schnittstellen neu an. Viele Grße, Heinz Dittmar
Leider hat das nicht geholfen: selbst wenn ich setserial in /etc/init.d (und alle symlinks zeigen dorthin) komplet entferne, erhalte ich noch den folgenden Output: cat /proc/tty/driver/serial serinfo:1.0 driver revision: 0: uart:16550A port:000003F8 irq:4 tx:0 rx:0 1: uart:16550A port:000002F8 irq:3 tx:0 rx:0 2: uart:unknown port:000003E8 irq:4 3: uart:unknown port:000002E8 irq:3 4: uart:8250 port:0000B400 irq:5 tx:0 rx:0 5: uart:unknown port:0000B800 irq:5 6: uart:unknown port:0000BC00 irq:5 7: uart:unknown port:0000C000 irq:5 und mit setserial -g /dev/ttyS* erhalte ich den folgenden Output: setserial -g /dev/ttyS* /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4 /dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3 /dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4 /dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3 /dev/ttyS4, UART: 8250, Port: 0xb400, IRQ: 5 /dev/ttyS5, UART: unknown, Port: 0xb800, IRQ: 5 /dev/ttyS6, UART: unknown, Port: 0xbc00, IRQ: 5 /dev/ttyS7, UART: unknown, Port: 0xc000, IRQ: 5 Zu irgendeinem mir schleierhaften Zeitpunkt werden auf einem anderen Wege die Ports belegt. Ich habe nur keine Ahnung, wann und wer!!! Da damit 0xbc00 und 0xc000 durch den seriellen Treiber belegt sind, lässt sich der Parallelport nicht finden! Gruss Erwin