Date: Mon, 31 Oct 2005 14:27:20 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-hardware@freebsd.org Cc: Jim Pazarena <fhard@ccstores.com> Subject: Re: multi-port serial devices Message-ID: <200510311427.20717.jhb@freebsd.org> In-Reply-To: <43665209.6010908@ccstores.com> References: <43640997.8000905@ccstores.com> <200510311158.55967.jhb@freebsd.org> <43665209.6010908@ccstores.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 31 October 2005 12:19 pm, Jim Pazarena wrote: > John Baldwin wrote: > > On Saturday 29 October 2005 07:45 pm, Jim Pazarena wrote: > >>just purchased Specialix SX modular high speed serial solution > >> > >>Specialix has changed their name (bought out by perhaps) to Perle. > >> > >>The FreeDSD 5.4 hardware compatibility list indicates > >>"Specialix SI/XIO/SX" multiport serial cards, are supports (si(4) driver) > >> > >>however a compile of the kernel with "device si" doesn't even > >>discover the card. The supplied DOS utility to probe the device works > >>as expected. > >> > >>Can anyone offer a suggestion. > > > > Is this a PCI card? If so, can you try adding it's device ID to the > > si(4) driver? If you aren't sure how to do that, just post the output of > > pciconf -lv and include the section of info about your card. > > thank you VERY MUCH for the response! > > yes it is indeed a PCI card, here is the pciconf -lv output > > none8@pci2:7:0: class=0x078000 card=0x030011cb chip=0x200011cb rev=0x00 > hdr=0x00 vendor = 'Specialix International Ltd.' > device = 'PCI-9050 Target Interface' > class = simple comms > > all I added to the MYKERNEL configuration is: > device si > > your help is much appreciated! > Jim Here's a patch you can try: Index: si_pci.c =================================================================== RCS file: /usr/cvs/src/sys/dev/si/si_pci.c,v retrieving revision 1.7 diff -u -r1.7 si_pci.c --- si_pci.c 1 Mar 2005 08:58:04 -0000 1.7 +++ si_pci.c 31 Oct 2005 19:25:22 -0000 @@ -45,8 +45,13 @@ desc = "Specialix SI/XIO PCI host card"; break; case 0x200011cb: - if (pci_read_config(dev, SIJETSSIDREG, 4) == 0x020011cb) + /* Really the sub device id ("card"). */ + switch (pci_read_config(dev, SIJETSSIDREG, 4)) { + case 0x020011cb: + case 0x030011cb: desc = "Specialix SX PCI host card"; + break; + } break; } if (desc) { Index: sireg.h =================================================================== RCS file: /usr/cvs/src/sys/dev/si/sireg.h,v retrieving revision 1.10 diff -u -r1.10 sireg.h --- sireg.h 6 Jan 2005 01:43:14 -0000 1.10 +++ sireg.h 31 Oct 2005 19:23:16 -0000 @@ -62,14 +62,14 @@ #define SIEISAIOSIZE 0x100 /* XXX How many ports */ /* SI old PCI */ -#define SIPCIBADR 0x10 /* Which BADR to map in RAM */ +#define SIPCIBADR PCIR_BAR(0) /* Which BADR to map in RAM */ #define SIPCI_MEMSIZE 0x100000 /* Mapping size */ #define SIPCIRESET 0xc0001 /* 0 = Reset */ #define SIPCIINTCL 0x40001 /* 0 = clear int */ /* SI Jet PCI */ -#define SIJETSSIDREG 0x2c /* Is it an SX or RIO? */ -#define SIJETBADR 0x18 /* Which BADR to map in RAM */ +#define SIJETSSIDREG PCIR_SUBVEND_0 /* Is it an SX or RIO? */ +#define SIJETBADR PCIR_BAR(2) /* Which BADR to map in RAM */ /* SI Jet PCI & ISA */ #define SIJETIDBASE 0x7c00 /* ID ROM base */ #define SISPLXID 0x984d /* Specialix ID */ > this is my second $1000 purchase for a multi-port serial device to work > with FreeBSD my first purchase -> RocketPort just plain wouldn't work. The > management is getting frustrated with my purchases based on the Hardware > Compatibility List. Hmm, I use an 8-port rocketport in my devel server that I got on ebay for $50. What issues do you have with your RocketPort? rp0: <RocketPort PCI> port 0xde80-0xdebf irq 22 at device 11.0 on pci1 RocketPort0 (Version 3.02) 8 ports. -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510311427.20717.jhb>