PCI serial card problems - Linux

This is a discussion on PCI serial card problems - Linux ; I've just installed a dual-port serial PCI card in to a system running 2.6.8. My onboard port works fine, no problems at all, but the PCI card ports _seem_ to mangle data and/or drop bytes. Using ttylog to recieve data ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: PCI serial card problems

  1. PCI serial card problems

    I've just installed a dual-port serial PCI card in to a system running
    2.6.8. My onboard port works fine, no problems at all, but the PCI card
    ports _seem_ to mangle data and/or drop bytes.

    Using ttylog to recieve data on ttyS0 (the good port) sent from ttyS1 (the
    problem port) using a null modem cable; if I send a large binary file i get
    a load of garbage through (expected) but if I send a small ASCII string
    through I get nothing.

    Similar results the other way (ttyS0 -> ttyS1) as well.

    I only want to send 2 bytes at a time, and if I use my relay-contol app to
    send these two desired bytes I get different results using my onboard port
    and the PCI port. Bytes are definately getting through, just not as they
    were sent.

    setserial -a reports:

    /dev/ttyS1, Line 1, UART: 16550A, Port: 0xac00, IRQ: 12
    Baud_base: 115200, close_delay: 5000, divisor: 0
    closing_wait: 37856
    Flags: spd_normal skip_test

    The other port (ttyS2) is identical apart form the port number (of course!).

    This setup seems to me to be the same as my onboard serial port ttyS0:

    /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
    Baud_base: 115200, close_delay: 5000, divisor: 0
    closing_wait: 37856
    Flags: spd_normal skip_test

    The pci card is at irq12, not shared.

    In my travels trying to sort this out i notice a repeated line in
    my /proc/tty/driver/serial:

    serinfo:1.0 driver revision:
    0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
    1: uart:16550A port:0000AC00 irq:12 tx:0 rx:0
    2: uart:16550A port:0000B000 irq:12 tx:0 rx:0
    3: uart:unknown port:000002E8 irq:3
    4: uart:unknown port:000001A0 irq:9
    5: uart:unknown port:000001A8 irq:9
    6: uart:unknown port:000001B0 irq:9
    7: uart:unknown port:000001B8 irq:9
    8: uart:unknown port:000002A0 irq:5
    9: uart:unknown port:000002A8 irq:5
    10: uart:unknown port:000002B0 irq:5
    11: uart:unknown port:000002B8 irq:5
    12: uart:unknown port:00000330 irq:4
    13: uart:unknown port:00000338 irq:4
    14: uart:16550A port:0000AC00 irq:12 tx:0 rx:0
    15: uart:16550A port:0000B000 irq:12 tx:0 rx:0
    16: uart:unknown port:00000100 irq:12
    17: uart:unknown port:00000108 irq:12
    18: uart:unknown port:00000110 irq:12
    19: uart:unknown port:00000118 irq:12
    20: uart:unknown port:00000120 irq:12
    21: uart:unknown port:00000128 irq:12
    22: uart:unknown port:00000130 irq:12
    23: uart:unknown port:00000138 irq:12
    24: uart:unknown port:00000140 irq:12
    25: uart:unknown port:00000148 irq:12
    26: uart:unknown port:00000150 irq:12
    27: uart:unknown port:00000158 irq:12
    28: uart:unknown port:00000160 irq:12
    29: uart:unknown port:00000168 irq:12
    30: uart:unknown port:00000170 irq:12
    31: uart:unknown port:00000178 irq:12
    32: uart:unknown port:00000302 irq:3
    33: uart:unknown port:00000302 irq:3
    34: uart:unknown port:00000302 irq:3
    35: uart:unknown port:00000302 irq:3
    36: uart:unknown port:00000302 irq:3
    37: uart:unknown port:00000302 irq:3
    38: uart:unknown port:00000302 irq:3
    39: uart:unknown port:00000302 irq:3
    40: uart:unknown port:00000302 irq:3
    41: uart:unknown port:00000302 irq:3
    42: uart:unknown port:00000302 irq:3
    43: uart:unknown port:00000302 irq:3
    44: uart:unknown port:00003220 irq:3
    45: uart:unknown port:00003228 irq:3
    46: uart:unknown port:00004220 irq:3
    47: uart:unknown port:00004228 irq:3
    48: uart:unknown port:00005220 irq:3
    49: uart:unknown port:00005228 irq:3
    50: uart:unknown port:00000000 irq:0
    51: uart:unknown port:00000000 irq:0
    52: uart:unknown port:00000000 irq:0
    53: uart:unknown port:00000000 irq:0

    I'm sure this isn't right but I don't know what to do with it.

    Has any one any suggestions / inspiration? I'm all out.

    Jim


  2. Re: PCI serial card problems

    Jim wrote:

    > I've just installed a dual-port serial PCI card in to a system running
    > 2.6.8. My onboard port works fine, no problems at all, but the PCI card
    > ports _seem_ to mangle data and/or drop bytes.
    >
    > Using ttylog to recieve data on ttyS0 (the good port) sent from ttyS1 (the
    > problem port) using a null modem cable; if I send a large binary file i
    > get a load of garbage through (expected) but if I send a small ASCII
    > string through I get nothing.
    >
    > Similar results the other way (ttyS0 -> ttyS1) as well.
    >
    > I only want to send 2 bytes at a time, and if I use my relay-contol app to
    > send these two desired bytes I get different results using my onboard port
    > and the PCI port. Bytes are definately getting through, just not as they
    > were sent.
    >
    > setserial -a reports:
    >
    > /dev/ttyS1, Line 1, UART: 16550A, Port: 0xac00, IRQ: 12
    > Baud_base: 115200, close_delay: 5000, divisor: 0
    > closing_wait: 37856
    > Flags: spd_normal skip_test
    >
    > The other port (ttyS2) is identical apart form the port number (of
    > course!).
    >
    > This setup seems to me to be the same as my onboard serial port ttyS0:
    >
    > /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
    > Baud_base: 115200, close_delay: 5000, divisor: 0
    > closing_wait: 37856
    > Flags: spd_normal skip_test
    >
    > The pci card is at irq12, not shared.
    >
    > In my travels trying to sort this out i notice a repeated line in
    > my /proc/tty/driver/serial:
    >
    > serinfo:1.0 driver revision:
    > 0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
    > 1: uart:16550A port:0000AC00 irq:12 tx:0 rx:0
    > 2: uart:16550A port:0000B000 irq:12 tx:0 rx:0
    > 3: uart:unknown port:000002E8 irq:3

    ....

    ....
    > 13: uart:unknown port:00000338 irq:4
    > 14: uart:16550A port:0000AC00 irq:12 tx:0 rx:0
    > 15: uart:16550A port:0000B000 irq:12 tx:0 rx:0
    > 16: uart:unknown port:00000100 irq:12

    ....


    ....
    >
    > I'm sure this isn't right but I don't know what to do with it.
    >
    > Has any one any suggestions / inspiration? I'm all out.
    >
    > Jim


    I've just read that setserial shouldn't be used to configure PCI-based
    serial cards, but no mention of why or what to use instead. Anyone have any
    ideas?

    I think now that the data corruption is due a baud mismatch, which may be
    due to mis-configuration by setserial (possibly). Does any one have any
    advice on why two serial ports which look to be configured the same should
    end up running at different baud rates?

    Jim


+ Reply to Thread