Centos 5.3 – 4 COM-Ports müssen ohne Ressourcenkonflikte verwendet werden (System hat 6 COM-Ports)

Centos 5.3 – 4 COM-Ports müssen ohne Ressourcenkonflikte verwendet werden (System hat 6 COM-Ports)

wir hoffen, 4 serielle Schnittstellen gemeinsam nutzen zu können Centos 5.3(Upgrade auf neuere Version aufgrund von Anwendungsbeschränkungen nicht möglich).

COM1 und COM2 funktionieren einwandfrei. Wir verwenden Echo, um die Ausgabe auf dem Kundendisplay zu testen:

echo "testing 123" > /dev/ttyS0
=> OK!

Allerdings konnten wir COM3 und COM4 nicht zum Laufen bringen. Nachfolgend finden Sie Bildschirmausgabe/Konfigurationen:

[root@station ~]# dmesg | grep tty
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
serial8250: ttyS2 at I/O 0x3e8 (irq = 7) is a 16550A
serial8250: ttyS3 at I/O 0x2e8 (irq = 6) is a 16550A
00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0a: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:0b: ttyS2 at I/O 0x3e8 (irq = 7) is a 16550A
00:0c: ttyS3 at I/O 0x2e8 (irq = 6) is a 16550A
00:0d: ttyS4 at I/O 0x2e0 (irq = 10) is a 16550A
00:0e: ttyS5 at I/O 0x2f0 (irq = 11) is a 16550A

vim /proc/tty/driver/serial

serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:16380 rx:0 RTS|DTR
1: uart:16550A port:000002F8 irq:3 tx:0 rx:0 RTS|CTS|DTR|DSR
2: uart:16550A port:000003E8 irq:7 tx:16 rx:0 RTS|CTS|DTR|DSR
3: uart:16550A port:000002E8 irq:6 tx:0 rx:0 RTS|CTS|DTR|DSR
4: uart:16550A port:000002E0 irq:10 tx:0 rx:0
5: uart:16550A port:000002F0 irq:11 tx:0 rx:0
6: uart:unknown port:00000000 irq:0
7: uart:unknown port:00000000 irq:0

vim /etc/rc.local

setserial /dev/ttyS2 port 0x3e8 UART 16550A irq 7
setserial /dev/ttyS3 port 0x2e8 UART 16550A irq 6

Als wir jedoch Ubuntu 12.04 ausprobierten, funktionierte es (wir wissen also, dass es kein Hardwareproblem ist).

ttyS0: 3f8 (irq = 4)
ttyS1: 2f8 (irq = 3)
ttyS2: 3e8 (irq = 4) <= ubuntu auto set it to irq 4
ttyS3: 2e8 (irq = 3) <= ubuntu auto set it to irq 3
Centos 5.3  (cannot get output on COM3, COM4)
ttyS0: 3f8 (irq = 4)
ttyS1: 2f8 (irq = 3)
ttyS2: 3e8 (irq = 7)
ttyS3: 2e8 (irq = 6)

Mir ist aufgefallen, dass dies ein wenig mit einem vorherigen Beitrag zusammenhängt setserial /dev/ttyS4: Serieninfo kann nicht festgelegt werden

[F1] Wenn COM1 (ttyS0) und COM2 (ttyS1) bereits IRQ4 bzw. IRQ3 verwenden, ist es dann in Ordnung, wenn COM3 und COM4 wieder IRQ4 und IRQ3 verwenden?

[F2] Wir konnten den IRQ mit SetSerial nicht auf einen anderen IRQ von IRQ1-IRQ15 ändern. Als wir ihn jedoch auf IRQ0 setzten, konnten wir das Gerät zum Laufen bringen. Uns wurde jedoch geraten, IRQ0 nicht zu verwenden, da dieser für die Systemzeit reserviert sein sollte.

verwandte Informationen