Soekris console server using conserver software
Soekris systems are small and very stable. I was lucky enough to try a SIIG Inc. PCI-4S card in the summer of 2005 on the camp. This card was low profile and a perfect fit for a Soekris 4801 - and working in OpenBSDI decided to buy such a card, but unfortunately got the new version, which did not work with OpenBSD.
I got this card to work by adding *10 to the frequency in the pucdata file *sigh* - but it works perfectly now. I can only recommend this card for OpenBSD and Linux.
Update: this small change is now included in the OpenBSD sources, this card works "out of the box" with the stock 4.0 GENERIC kernel.
Update: December 2006
It seems that it doesn't work again ... and I had to patch the pucdata file again. Might be that my PCI ID on my specific card is different? Mine is the oneroot@kris:hlk# pcitweak -lID 9501 is the serial ports the other is some extra function on the chip I think, lpt port?
PCI: PCI scan (all values are in hex)
PCI: 00:0a:0: chip 1415,9501 card 0000,0000 rev 00 class 07,00,06 hdr 80
PCI: 00:0a:1: chip 1415,9510 card 0000,0000 rev 00 class 06,80,00 hdr 80
Patching it
If you run into problems the file to mess with is /usr/src/sys/dev/pci
$ diff pucdata.c.orig pucdata.cThe things I used:
854,857c854,857
< { 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 },
---
> { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 },
> { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 },
> { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 },
> { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 },
- Soekris 4801 with hard disc and OpenBSD 3.8 - with a small change
- SIIG Inc. PCI-4S new model, but same part. no. LP-P40011
- Dremel for messing up the case
- Conserver software version 8, in ports on OpenBSD, config below
Conserver config
Make sure the card is recognized:puc0 at pci0 dev 10 function 0 "Oxford OX16PCI954" rev 0x00: com, com, com, comThen config conserver using the conserver.cf:
pccom2 at puc0 port 0 irq 11: st16650, 32 byte fifo
pccom3 at puc0 port 1 irq 11: st16650, 32 byte fifo
pccom4 at puc0 port 2 irq 11: st16650, 32 byte fifo
pccom5 at puc0 port 3 irq 11: st16650, 32 byte fifo
console portS1 {
type device;
device /dev/cua02; parity none; baud 57600;
idlestring "#";
idletimeout 5m; # send a '#' every 5 minutes of idle
timestamp ""; # no timestamps on this console
}
Pictures
Sorry for the poor quality, the project was assembled at night time and my Nokia 6630 does not really take great pictures when the lighting is insufficient!




