Serielle Multiport Karte will nicht
Jan-Benedict Glaw
jbglaw at lug-owl.de
Wed Oct 27 10:42:24 CEST 2004
On Wed, 2004-10-27 09:47:37 +0200, Andre Landwehr <dragonkeeper at gmx.net>
wrote in message <16153.1098863257 at www72.gmx.net>:
dragonkeeper at gmx.net?
> ich kämpfe mit einer seriellen Multiportkarte, die sich nicht ansprechen
> läßt. Erstmal sieht alles so aus, als wäre das Teil da:
>
> aus /var/log/dmesg:
> Serial: 8250/16550 driver $Revision: 1.90 $ 76 ports, IRQ sharing enabled
> ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
> ttyS14 at I/O 0x3800 (irq = 5) is a 16C950/954
> ttyS15 at I/O 0x3808 (irq = 5) is a 16C950/954
> ttyS44 at I/O 0x3810 (irq = 5) is a 16C950/954
> ttyS45 at I/O 0x3818 (irq = 5) is a 16C950/954
> ttyS46 at I/O 0x4000 (irq = 5) is a 16C950/954
> ttyS47 at I/O 0x4008 (irq = 5) is a 16C950/954
> ttyS48 at I/O 0x4010 (irq = 5) is a 16C950/954
> ttyS49 at I/O 0x4018 (irq = 5) is a 16C950/954
> ttyS50 at I/O 0x4020 (irq = 5) is a 16C950/954
> ttyS51 at I/O 0x4028 (irq = 5) is a 16C950/954
> ttyS52 at I/O 0x4030 (irq = 5) is a 16C950/954
> ttyS53 at I/O 0x4038 (irq = 5) is a 16C950/954
> ttyS54 at I/O 0x4040 (irq = 5) is a 16C950/954
> ttyS55 at I/O 0x4048 (irq = 5) is a 16C950/954
> ttyS56 at I/O 0x4050 (irq = 5) is a 16C950/954
> ttyS57 at I/O 0x4058 (irq = 5) is a 16C950/954
> ttyS58 at I/O 0x4060 (irq = 5) is a 16450
> ttyS59 at I/O 0x4068 (irq = 5) is a 16450
> ttyS60 at I/O 0x4070 (irq = 5) is a 16450
Das sind 2+19 serielle. Ist das richtig?
> lspci:
> 0000:02:07.0 Multiport serial controller: Oxford Semiconductor Ltd
> OX16PCI954 (Quad 16950 UART) function 0
> 0000:02:07.1 Multiport serial controller: Oxford Semiconductor Ltd
> OX16PCI954 (Quad 16950 UART) function 1
>
> System ist ein Debian sarge, Kernel 2.6.5
>
> Und im udev tauchen alle ttyS Devices von 0 bis 75 auf. Die im dmesg
> gemeldeten ttyS lassen sich auch öffnen, nur die Hardware dahinter
> spricht nicht mit mir. Hänge ich die gleiche Hardware an ttyS0, dann
Das sieht bei Dir alles etwas komisch aus:-) Lauf dmesg werden 19
serielle Interfaces registriert (schon das ist komisch...), udev liefert
daraufhin 0..75?
Ich hab' sowas ähnliches (zwei Karten mit jeweils 8 Schnittstellen):
00:08.0 Serial controller: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950 UART) function 0
00:08.1 Bridge: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950 UART) function 1
00:09.0 Serial controller: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950 UART) function 0
00:09.1 Bridge: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950 UART) function 1
Serial: 8250/16550 driver $Revision: 1.90 $ 48 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
PCI: Found IRQ 11 for device 0000:00:08.0
ttyS14 at I/O 0x6000 (irq = 11) is a 16C950/954
ttyS15 at I/O 0x6008 (irq = 11) is a 16C950/954
ttyS44 at I/O 0x6010 (irq = 11) is a 16C950/954
ttyS45 at I/O 0x6018 (irq = 11) is a 16C950/954
PCI: Found IRQ 11 for device 0000:00:08.1
PCI: Sharing IRQ 11 with 0000:00:09.0
ttyS46 at I/O 0x6800 (irq = 11) is a 16C950/954
ttyS47 at I/O 0x6808 (irq = 11) is a 16C950/954
ttyS2 at I/O 0x6810 (irq = 11) is a 16C950/954
PCI: Found IRQ 11 for device 0000:00:09.0
PCI: Sharing IRQ 11 with 0000:00:08.1
ttyS3 at I/O 0x7000 (irq = 11) is a 16C950/954
ttyS4 at I/O 0x7008 (irq = 11) is a 16C950/954
ttyS5 at I/O 0x7010 (irq = 11) is a 16C950/954
ttyS6 at I/O 0x7018 (irq = 11) is a 16C950/954
PCI: Found IRQ 9 for device 0000:00:09.1
PCI: Sharing IRQ 9 with 0000:00:0a.0
ttyS7 at I/O 0x7800 (irq = 9) is a 16C950/954
ttyS8 at I/O 0x7808 (irq = 9) is a 16C950/954
ttyS9 at I/O 0x7810 (irq = 9) is a 16C950/954
Mit den Oxford-Karten gab's (ich weiß nicht, ob das noch aktuell ist)
Probleme in der Hinsicht, daß die I/O-Ports u.U. nicht paßten oder eine
falsche Anzahl von Devices registriert wurde. Dem kannst Du
entgegentreten, indem Du den Treiber hackst. (Da paßte die Zuordnung
UART -> Region auf einer der I/O-BARs nicht.)
Alternativ kannst Du auch abfragen, welche I/O-Bereiche die Karte
einnimmt und dann mit setserial dorthin UARTs konfigurieren.
Außerdem haben die Karten-Hersteller unterschiedliche Quarze neben den
Oxford-Chip gelötet. Bei mir zuhause läuft das einfach so, bei einem
Kunden mußte ich aber schonmal den Divisor ver10fachen, da der
Karten-Hersteller netterweise einen schnelleren Quartz auf die Karte
gelötet hat (damit man mit fast 'nem Mega-Baud senden kann...). Das
kannst Du mit "setserial /dev/ttySxxx baud_base 1152000" setzen.
MfG, JBG
PS: Gegen eine solche Karte als Dauer-Leihgabe bau' ich Dir das auch
komplett zusammen:-)
--
Jan-Benedict Glaw jbglaw at lug-owl.de . +49-172-7608481 _ O _
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O
fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20041027/23e45bc6/attachment.sig>
More information about the Linux
mailing list