Hi folks,

We bought one of these the other day to use as a serial console server
but I had some strife getting it to work.

>From one expander port to another it worked fine but from one of these
ports to any normal serial port, it returned garbage.  I had the same
results with FreeBSD, NetBSD and Linux.

I finally worked out that using 1200 baud on the expander port and 9600
on the normal serial port worked ok.

It seems that this particular card needs a multiplier in
/usr/src/sys/dev/pci/pucdata.c to get it working.

Here's the diff I used for what it's worth.  YMMV of course.

-------
*** pucdata.c   Tue Mar 17 12:19:57 2009
--- pucdata.c.org       Tue Mar 17 11:16:56 2009
***************
*** 823,832 ****
            {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,
0, 0 },
            {   0xffff, 0xffff,
0, 0 },
            {
!               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
            },
        },

--- 823,832 ----
            {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,
0, 0 },
            {   0xffff, 0xffff,
0, 0 },
            {
!               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
            },
        },

***************
*** 877,886 ****
            {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
0, 0 },
            {   0xffff, 0xffff,
0, 0 },
            {
!               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
            },
        },

--- 877,886 ----
            {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
0, 0 },
            {   0xffff, 0xffff,
0, 0 },
            {
!               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
            },
        },
--------------

pcidump -v returns
----------
4:8:0: Oxford OX16PCI954
        0x0000: Vendor ID: 1415 Product ID: 9501
        0x0004: Command: 0103 Status ID: 0290
        0x0008: Class: 07 Subclass: 00 Interface: 06 Revision: 00
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line
Size: 00
        0x0010: BAR io addr: 0x00003840
        0x0014: BAR mem 32bit addr: 0xfe9c0000
        0x0018: BAR io addr: 0x00003860
        0x001c: BAR mem 32bit addr: 0xfe9b0000
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1415 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 09 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management
4:8:1: Oxford Exsys EX-41098
        0x0000: Vendor ID: 1415 Product ID: 9511
        0x0004: Command: 0103 Status ID: 0290
        0x0008: Class: 06 Subclass: 80 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line
Size: 00
        0x0010: BAR io addr: 0x00003800
        0x0014: BAR mem 32bit addr: 0xfe9e0000
        0x0018: BAR io addr: 0x00003820
        0x001c: BAR mem 32bit addr: 0xfe9d0000
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1415 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 02 Line: 09 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management
---------------

*** pucdata.c   Tue Mar 17 12:19:57 2009
--- pucdata.c.sav       Tue Mar 17 11:16:56 2009
***************
*** 823,832 ****
            {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,
0, 0 },
            {   0xffff, 0xffff,
0, 0 },
            {
!               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
            },
        },

--- 823,832 ----
            {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,
0, 0 },
            {   0xffff, 0xffff,
0, 0 },
            {
!               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
            },
        },

***************
*** 877,886 ****
            {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
0, 0 },
            {   0xffff, 0xffff,
0, 0 },
            {
!               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
!               { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
            },
        },

--- 877,886 ----
            {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
0, 0 },
            {   0xffff, 0xffff,
0, 0 },
            {
!               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
!               { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
            },
        },
-------------

dmesg
-------------
OpenBSD 4.4 (SERIAL.MP) #0: Tue Mar 17 11:52:48 CST 2009
    jco...@serial.jis.sa.gov.au:/usr/src/sys/arch/i386/compile/SERIAL.MP
cpu0: Intel(R) Xeon(TM) CPU 3.06GHz ("GenuineIntel" 686-class) 3.06 GHz
cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,
CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,CNXT-ID,xTPR
real mem  = 4026015744 (3839MB)
avail mem = 3913461760 (3732MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 11/10/04, BIOS32 rev. 0 @ 0xfdb54,
SMBIOS rev. 2.3 @ 0xf1260 (73 entries)
bios0: vendor Intel Corporation version "SWV25.86B.0246.P37.0411101754"
date 11/10/2004
bios0: Intel SE7501WV2S
acpi0 at bios0: rev 0
acpi0: tables DSDT FACP APIC OEMR
acpi0: wakeup devices PS2M(S1) PS2K(S1) UAR1(S5) UAR2(S5) USB1(S1)
USB2(S1) SMB0(S1) P0P1(S5) P5P6(S5) P5P7(S5)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 132MHz
cpu1 at mainbus0: apid 6 (application processor)
cpu1: Intel(R) Xeon(TM) CPU 3.06GHz ("GenuineIntel" 686-class) 3.06 GHz
cpu1:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,
CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,CNXT-ID,xTPR
cpu2 at mainbus0: apid 1 (application processor)
cpu2: Intel(R) Xeon(TM) CPU 3.06GHz ("GenuineIntel" 686-class) 3.06 GHz
cpu2:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,
CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,CNXT-ID,xTPR
cpu3 at mainbus0: apid 7 (application processor)
cpu3: Intel(R) Xeon(TM) CPU 3.06GHz ("GenuineIntel" 686-class) 3.06 GHz
cpu3:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,
CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,CNXT-ID,xTPR
ioapic0 at mainbus0: apid 8 pa 0xfec00000, version 20, 24 pins
ioapic1 at mainbus0: apid 9 pa 0xfec81000, version 20, 24 pins
ioapic2 at mainbus0: apid 10 pa 0xfec81400, version 20, 24 pins
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (P0P1)
acpiprt2 at acpi0: bus 3 (P5P6)
acpiprt3 at acpi0: bus 4 (P5P7)
acpiec0 at acpi0
acpicpu0 at acpi0
acpicpu1 at acpi0
acpicpu2 at acpi0
acpicpu3 at acpi0
bios0: ROM list: 0xc0000/0x8000 0xc8000/0x1000 0xc9000/0x1000
0xca000/0x9e00 0xe4000/0x4000!
ipmi at mainbus0 not configured
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel E7501 Host" rev 0x01
"Intel E7500 Error Reporting" rev 0x01 at pci0 dev 0 function 1 not
configured
ppb0 at pci0 dev 3 function 0 "Intel E7500 PCI" rev 0x01
pci1 at ppb0 bus 2
"Intel 82870P2 IOxAPIC" rev 0x04 at pci1 dev 28 function 0 not
configured
ppb1 at pci1 dev 29 function 0 "Intel 82870P2 PCIX-PCIX" rev 0x04
pci2 at ppb1 bus 4
ahd0 at pci2 dev 7 function 0 "Adaptec AIC-7902 U320" rev 0x03: apic 10
int 2 (irq 9)
ahd0: aic7902, U320 Wide Channel A, PCI 33 or 66MHz, 512 SCBs
scsibus0 at ahd0: 16 targets, initiator 7
ahd1 at pci2 dev 7 function 1 "Adaptec AIC-7902 U320" rev 0x03: apic 10
int 1 (irq 9)
ahd1: aic7902, U320 Wide Channel B, PCI 33 or 66MHz, 512 SCBs
scsibus1 at ahd1: 16 targets, initiator 7
sd0 at scsibus1 targ 0 lun 0: <SEAGATE, ST373307LC, 0007> SCSI3 0/direct
fixed
sd0: 70007MB, 49855 cyl, 4 head, 718 sec, 512 bytes/sec, 143374744 sec
total
safte0 at scsibus1 targ 6 lun 0: <ESG-SHV, SCA HSBP M21, 0.08> SCSI2
3/processor fixed
puc0 at pci2 dev 8 function 0 "Oxford OX16PCI954" rev 0x00: ports: 4 com
com3 at puc0 port 0 apic 10 int 0 (irq 9): st16650, 32 byte fifo
com4 at puc0 port 1 apic 10 int 0 (irq 9): st16650, 32 byte fifo
com5 at puc0 port 2 apic 10 int 0 (irq 9): st16650, 32 byte fifo
com6 at puc0 port 3 apic 10 int 0 (irq 9): st16650, 32 byte fifo
puc1 at pci2 dev 8 function 1 "Oxford Exsys EX-41098" rev 0x00: ports: 4
com
com7 at puc1 port 0 apic 10 int 3 (irq 9): st16650, 32 byte fifo
com7: probed fifo depth: 16 bytes
com8 at puc1 port 1 apic 10 int 3 (irq 9): st16650, 32 byte fifo
com8: probed fifo depth: 16 bytes
com9 at puc1 port 2 apic 10 int 3 (irq 9): st16650, 32 byte fifo
com9: probed fifo depth: 16 bytes
com10 at puc1 port 3 apic 10 int 3 (irq 9): st16650, 32 byte fifo
com10: probed fifo depth: 16 bytes
"Intel 82870P2 IOxAPIC" rev 0x04 at pci1 dev 30 function 0 not
configured
ppb2 at pci1 dev 31 function 0 "Intel 82870P2 PCIX-PCIX" rev 0x04
pci3 at ppb2 bus 3
em0 at pci3 dev 7 function 0 "Intel PRO/1000MT (82546EB)" rev 0x01: apic
9 int 6 (irq 9), address 00:0e:0c:5c:f6:64
em1 at pci3 dev 7 function 1 "Intel PRO/1000MT (82546EB)" rev 0x01: apic
9 int 7 (irq 9), address 00:0e:0c:5c:f6:65
"Intel E7500 PCI" rev 0x01 at pci0 dev 3 function 1 not configured
uhci0 at pci0 dev 29 function 0 "Intel 82801CA/CAM USB" rev 0x02: apic 8
int 16 (irq 9)
uhci1 at pci0 dev 29 function 1 "Intel 82801CA/CAM USB" rev 0x02: apic 8
int 19 (irq 10)
ppb3 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0x42
pci4 at ppb3 bus 1
vga1 at pci4 dev 12 function 0 "ATI Rage XL" rev 0x27
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
drm at vga1 unsupported
ichpcib0 at pci0 dev 31 function 0 "Intel 82801CA LPC" rev 0x02
pciide0 at pci0 dev 31 function 1 "Intel 82801CA IDE" rev 0x02: DMA,
channel 0 configured to compatibility, channel 1 configured to
compatibility
pciide0: channel 0 disabled (no drives)
atapiscsi0 at pciide0 channel 1 drive 0
scsibus2 at atapiscsi0: 2 targets, initiator 7
cd0 at scsibus2 targ 0 lun 0: <SAMSUNG, CD-ROM SN-124, N101> ATAPI
5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
ichiic0 at pci0 dev 31 function 3 "Intel 82801CA/CAM SMBus" rev 0x02:
apic 8 int 17 (irq 0)
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 512MB DDR SDRAM registered ECC PC2100CL2.5
spdmem1 at iic0 addr 0x51: 1GB DDR SDRAM registered ECC PC2100CL2.5
spdmem2 at iic0 addr 0x52: 1GB DDR SDRAM registered ECC PC2100CL2.5
spdmem3 at iic0 addr 0x54: 512MB DDR SDRAM registered ECC PC2100CL2.5
spdmem4 at iic0 addr 0x55: 1GB DDR SDRAM registered ECC PC2100CL2.5
spdmem5 at iic0 addr 0x56: 1GB DDR SDRAM registered ECC PC2100CL2.5
usb0 at uhci0: USB revision 1.0
uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb1 at uhci1: USB revision 1.0
uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
mtrr: Pentium Pro MTRR support
softraid0 at root
ahd1: target 0 synchronous with period = 0x8, offset =
0x3f(RDSTRM|DT|IU|QAS)
root on sd0a swap on sd0b dump on sd0b
-------------


ciao
dave
---
Scientology, how about that?  You hold on to the tin cans and then this
guy
asks you a bunch of questions, and if you pay enough money you get to
join
the master race. How's that for a religion?! (FZ)

Reply via email to