Subject: Trouble with CyberPro PCI 2S dual serial card
To: None <port-i386@netbsd.org>
From: John F. Woods <jfw@jfwhome.funhouse.com>
List: port-i386
Date: 12/28/2004 00:25:41
I have a SIIG CyberPro PCI 2S (or "Dual 950 PCI", depending on which
piece of marketing literature you read) card which is based on the
OXmPCI952 chip from Oxford Semiconductor.  Unfortunately, SIIG either is
using an early rev of the chip, or they are misprogramming the subtype,
because it probes as 0x1415/0x950A (function 0) and 0x1415/0x9510
(function 1), and thus is treated as an unknown card (function 0 does
show up as a "communications" function, however).  Worse, when I simply
added 0x950A to pucdata.c as a copy of the OXmPCI952 specification already
in the file), it doesn't quite work:  com3 probes as a 16550 compatible,
com4 probes as "ns8250 or ns16450, no fifo", and then the kernel hangs
at "root file system type: ffs".  (Removing the card removes the hang, so
it's probably not something unrelated that I biffed in my configuration.)

So, my questions would be:  does anyone else have this card, and is it
working for you?  (i.e. is my card just broken somehow?)  If there are
other changes I should have made in addition to just adding an entry to
pucdata.c, what should I have done?  Also, is there anything that needs
to be done to enable 16650 compatability?  I see that com.c has an #ifdef
COM16650, which would lead me to suspect that it's not normally supported.

Also, is there a limit on the size of the dmesg buffer on the i386 port?
(Since it looks like debugging is going to entail resetting after the
hang and booting another kernel, which means I'll have to capture two
boots' worth of message buffer...  I've got it cranked up to 32768, which
seems to be working, but I'll need at least twice that...)