On 2009-03-17, Edwards, David (JTS) <david.j.edwa...@saugov.sa.gov.au> wrote: > 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.
It looks like someone has one of these in dmesglog, I've contacted him to find out if he has the same problem. since it doesn't look like we can match on the subsystem ID. > ------- > *** pucdata.c Tue Mar 17 12:19:57 2009 > --- pucdata.c.org Tue Mar 17 11:16:56 2009 > *************** > *** 823,832 **** please use -u for future diffs, thanks. > { 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)