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.