Hallo,
habe mir, weil USB-zu-RS232-Adapter ja immer so ihre Problemchen haben, jetzt eine 2-Port PCMCIA-Karte ersteigert. Nahm an das würde einfach funktionieren, aber denkste. Es handelt sich um eine 32-Bit-Karte "CBS2000X" von Sunix; über Google habe ich schon herausgefunden, dass der Chip wahrscheinlich von Oxford Semiconductors ist und dann einen 16C950-Uart enthalte, jedoch nichts weiter womit ich was anfangen könnte (nur ein paar patches die allesamt das Zusatzfeature, dass die Teile sehr genau die Geschwindigkeit einstellen können, utilisieren). Wenn ich die Karte verwenden will passiert folgendes (der Rechner, auf dem ich es probiert habe, hat von haus aus einen RS232 auf /dev/ttyS0 und einen Infrarot auf /dev/ttyS3):
Solange ich im Kernel under Device Drivers -> Character Devices -> Serial drivers die Optionen CONFIG_SERIAL_8250_MANY_PORTS (Support more than 4 legacy serial ports) CONFIG_SERIAL_8250_SHARE_IRQ (Support for sharing serial interrupts) CONFIG_SERIAL_8250_MULTIPORT (Support special multiport boards) CONFIG_SERIAL_8250_RSA (Support RSA serial ports) nicht ausgewählt hatte, wurde das Ding als ttyS4 erkannt, nach dem Anwählen und recompile als ttyS17. In allen fällen jedoch wird nur _ein_ Port belegt, obwohl es sich um eine Zweiport-karte handelt. Lesen und schreiben auf dem Port schlägt mit einem "/dev/ttyS17: Eingabe-/Ausgabefehler" fehl. Nach dem ich manuell einen 16550 oder 8250-UART via setserial gesetzt habe (mit 16C950 kann setserial nichts anfangen) kommen zumindest die Fehler nicht mehr, aber trotzdem keine Bits über die Leitung.
Weiß jemand Rat in welche Richtung ich suchen könnte?
Hier diverse Infos:
# cardctl ident 0 product info: "PC CARD", "GENERIC", "", "" manfid: 0x0279, 0x950b function: 2 (serial)
# cardctl info 0 PRODID_1="PC CARD" PRODID_2="GENERIC" PRODID_3="" PRODID_4="" MANFID=0279,950b FUNCID=2
# cardctl config 0 Vcc 3.3V Vpp1 0.0V Vpp2 0.0V interface type is "memory and I/O" irq 3 [exclusive] [level] speaker output is enabled function 0: config base 0x00f8 option 0x41 status 0x08 pin 0x00 copy 0x00 io 0x0100-0x010f [8bit]
# cat /var/run/stab Socket 0: Serial or Modem 0 serial serial_cs 0 ttyS17 4 81
# setserial -G /dev/ttyS17 /dev/ttyS17: pcmcia controlled device (/var/run/stab) /dev/ttyS17 uart unknown port 0x0108 irq 3 baud_base 115200 spd_normal skip_test pcmcia
# tail /var/log/syslog [...] Apr 9 20:05:55 localhost cardmgr[2097]: socket 0: Serial or Modem Apr 9 20:05:56 localhost cardmgr[2097]: executing: './serial start ttyS17 2>&1' Apr 9 20:05:56 localhost cardmgr[2097]: + Default modem setup
# cat /dev/ttyS17 cat: /dev/ttyS17: Eingabe-/Ausgabefehler
# cat > /dev/ttyS17 df^D cat: Schreibfehler: Eingabe-/Ausgabefehler
Und nach cardctl eject 0:
# tail /var/log/syslog [...] Apr 9 20:05:50 localhost cardmgr[2097]: executing: './serial stop ttyS17 2>&1' Apr 9 20:05:50 localhost cardmgr[2097]: + /dev/ttyS17: Apr 9 20:05:50 localhost cardmgr[2097]: + /dev/ttyS17: Apr 9 20:05:50 localhost cardmgr[2097]: + /dev/modem:
Ciao, Felix.