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)