Hello,

The OpenBSD web site states that Cyclades-Z series multiport serial
cards are supported via the cz driver:

    Serial Ports
    Cyclades-Z series multiport serial boards (cz) (G)

I am running OpenBSD 4.1 stable, on i386.

I installed a Cyclades Ze PCI card, and hooked it up to the external 1U box.

When my machine boots, I see:

       "Cyclades Cyclom-Z" rev 0x01 at pci1 dev 9 function 0 not configured

Marco Hyman helpfully explained this because the driver is not part of
the GENERIC kernel.  So, I built a new kernel with cz support, and
booted that, here is what the new boot looks like:

    Sep  4 21:15:18 log01 /bsd: cz0 at pci1 dev 9 function 0 "Cyclades
    Cyclom-Z" rev 0x01cz0: Cyclades-Ze, no channels at
    tached, firmware 3.3.1
    Sep  4 21:15:18 log01 /bsd: cz0: polling mode, 20 ms interval (2 ticks)

But I don't see any /dev/ttyZ?? ports.

Marco explained I should make the correct devices, his research showed:

The cz driver is in /sys/dev/pci/cz.c which hasn't been changed since 2003.
Looking at that file I see that the cdev_decl uses the name cztty.   Looking
as /sys/arch/i386/conf.c I see

       cdev_tty_init(NCZ,cztty),       /* 71: Cyclades-Z serial port */

in the cdevsw table.   mknod(8) with character major device 71 will build
your devices (on i386).   You'll have to look at the conf.c for your
architecture if it is not i386.

/sys/dev/pci/cz.c says minor devices are 0-127 for the tty ports and
128-255 for the dialout (cua*) ports.  Of course the actual number of
ports depends upon what autoconf finds.

So I wrote a script to generate the proper devices:

mknod ttyZ00 c 71 0
....
mknod ttyZ15 c 71 15

mknod cuaZ00 c 71 128
 ...
mknod cuaZ16 c 71 143

So I did this, here is the result:

# ls -l /dev/ttyZ?? /dev/cuaZ??
crw-r--r--  1 root  wheel   71, 128 Sep 25 12:40 /dev/cuaZ00
crw-r--r--  1 root  wheel   71, 129 Sep 25 12:40 /dev/cuaZ01
crw-r--r--  1 root  wheel   71, 130 Sep 25 12:40 /dev/cuaZ02
crw-r--r--  1 root  wheel   71, 131 Sep 25 12:40 /dev/cuaZ03
crw-r--r--  1 root  wheel   71, 132 Sep 25 12:40 /dev/cuaZ04
crw-r--r--  1 root  wheel   71, 133 Sep 25 12:40 /dev/cuaZ05
crw-r--r--  1 root  wheel   71, 134 Sep 25 12:40 /dev/cuaZ06
crw-r--r--  1 root  wheel   71, 135 Sep 25 12:40 /dev/cuaZ07
crw-r--r--  1 root  wheel   71, 136 Sep 25 12:40 /dev/cuaZ08
crw-r--r--  1 root  wheel   71, 137 Sep 25 12:40 /dev/cuaZ09
crw-r--r--  1 root  wheel   71, 138 Sep 25 12:40 /dev/cuaZ10
crw-r--r--  1 root  wheel   71, 139 Sep 25 12:40 /dev/cuaZ11
crw-r--r--  1 root  wheel   71, 140 Sep 25 12:40 /dev/cuaZ12
crw-r--r--  1 root  wheel   71, 141 Sep 25 12:40 /dev/cuaZ13
crw-r--r--  1 root  wheel   71, 142 Sep 25 12:40 /dev/cuaZ14
crw-r--r--  1 root  wheel   71, 143 Sep 25 12:40 /dev/cuaZ15
crw-r--r--  1 root  wheel   71,   0 Sep 25 12:40 /dev/ttyZ00
crw-r--r--  1 root  wheel   71,   1 Sep 25 12:41 /dev/ttyZ01
crw-r--r--  1 root  wheel   71,   2 Sep 25 12:40 /dev/ttyZ02
crw-r--r--  1 root  wheel   71,   3 Sep 25 12:40 /dev/ttyZ03
crw-r--r--  1 root  wheel   71,   4 Sep 25 12:40 /dev/ttyZ04
crw-r--r--  1 root  wheel   71,   5 Sep 25 12:40 /dev/ttyZ05
crw-r--r--  1 root  wheel   71,   6 Sep 25 12:40 /dev/ttyZ06
crw-r--r--  1 root  wheel   71,   7 Sep 25 12:40 /dev/ttyZ07
crw-r--r--  1 root  wheel   71,   8 Sep 25 12:40 /dev/ttyZ08
crw-r--r--  1 root  wheel   71,   9 Sep 25 12:40 /dev/ttyZ09
crw-r--r--  1 root  wheel   71,  10 Sep 25 12:40 /dev/ttyZ10
crw-r--r--  1 root  wheel   71,  11 Sep 25 12:40 /dev/ttyZ11
crw-r--r--  1 root  wheel   71,  12 Sep 25 12:40 /dev/ttyZ12
crw-r--r--  1 root  wheel   71,  13 Sep 25 12:40 /dev/ttyZ13
crw-r--r--  1 root  wheel   71,  14 Sep 25 12:40 /dev/ttyZ14
crw-r--r--  1 root  wheel   71,  15 Sep 25 12:40 /dev/ttyZ15

I attempted to use tip on these serial ports:

I attempted to test by adding

ttyZ00|Test port:\
       :dv=/dev/ttyZ00:tc=direct:tc=unixhost:

to /etc/remote, which I tried:

# tip ttyZ00
/dev/ttyZ00: Device not configured
link down

I then emailed one of the authors of the cz driver, who stated:

    Sorry, I'm not an OpenBSD user or developer, so I can't really be
of any help.
    I guess OpenBSD simply ported my code from NetBSD.

So I've given up on getting this to work under OpenBSD.

Is there another high density serial port solution that is supported by OpenBSD?

Don

Reply via email to