Help needed with Cyclades-16Ze (multi-port serial card) on FreeBSD 4.4-RELEASE-p36

David C. Snyder dsnyder at web.turner.com
Thu Jun 5 05:12:06 PDT 2003


Hello,

I have a Cyclades-16Ze connected to a FreeBSD 4.4-RELEASE-p36 system
(according to the Cyclades FAQ, as of May 16th, 2003, FreeBSD 4.4 is
the latest version that Cyclades supports and there are plans to
support higher versions).  My intent is to connect a bunch of dumb
terminals at 38400 bps and use this system for a series of UNIX/Perl
training classes.

Unfortunately, I'm having trouble verifying basic operation of the
Cyclades using the provided DCE cable and loopback module.  I've typed
up as much information as I could below to describe what I'm seeing.
If you have had any luck getting a Cyclades Z-Series multi-port serial
board to work with FreeBSD, I'd love to hear about what you had to do
to get things working.

I have followed the FreeBSD installation instructions in cz-2.1.1 (the
driver provided by Cyclades), and according to dmesg(1), the Cyclades
cz0 driver appears to have loaded correctly:

   $ dmesg | grep '^cz'
   cz0: <Cyclades Cyclom-Z Adapter> port 0xdc00-0xdc7f mem 0xff000000-0xff0fffff,0xff100400-0xff10047f at device 14.0 on pci0
   cz0: Cyclades Ze Adapter. Driver Version 211. Firmware Version 334.
   cz0: 16 ports detected. Using INTERRUPT mode. Using BOARD RAM.
   cz0: driver is using old-style compatibility shims

When I run kermit-8.0.209_1, I can connect to /dev/cuaC01 (port #2)
and view the comm settings:

   # With Cyclades provided loopback connector removed:
   Communications Parameters:
    Line: /dev/cuaC01, speed: 9600, mode: local, modem: generic
    Parity: none, stop-bits: (default) (8N1)
    Duplex: full, flow: rts/cts, handshake: none
    Carrier-watch: auto, close-on-disconnect: off
    Lockfile: /var/spool/lock/LCK..cuaC01
    Terminal bytesize: 8, escape character: 28 (^\)

    Carrier Detect      (CD):  Off
    Dataset Ready       (DSR): Off
    Clear To Send       (CTS): Off
    Ring Indicator      (RI):  Off
    Data Terminal Ready (DTR): On
    Request To Send     (RTS): On

   # With Cyclades provided loopback connector attached (so I know I
   # have the right port):
   Communications Parameters:
    Line: /dev/cuaC01, speed: 9600, mode: local, modem: generic
    Parity: none, stop-bits: (default) (8N1)
    Duplex: full, flow: rts/cts, handshake: none
    Carrier-watch: auto, close-on-disconnect: off
    Lockfile: /var/spool/lock/LCK..cuaC01
    Terminal bytesize: 8, escape character: 28 (^\)

    Carrier Detect      (CD):  On
    Dataset Ready       (DSR): Off
    Clear To Send       (CTS): On
    Ring Indicator      (RI):  Off
    Data Terminal Ready (DTR): On
    Request To Send     (RTS): On

Unfortunately, when I connect to the port with the loopback connector
attached and type, I get no response.  More than that, kermit seems to
hang (the 'CTRL-\' escape does not work) and I am forced to kill it
with a SIGHUP (killall -1 kermit).

If I add the appropriate line (cuaC01:dv=/dev/cuaC01:br#9600:pa=none:)
to /etc/remote, I can use tip(1) to connect to the port and
characters that I type are echoed back to me, but the last character
typed does not show up.  In this example, I've typed "abc", but only "ab"
shows up:

   # tip cuaC01
   connected
   ab

So I have some concerns about basic functionally, but what I really
want to do is run a getty on all 16 ports and connect terminals up to
them.  I've tried adding lines to /etc/ttys that look like this (and
running 'init q' to start the gettys):

   ttyC00  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC01  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC02  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC03  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC04  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC05  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC06  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC07  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC08  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC09  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC0a  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC0b  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC0c  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC0d  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC0e  "/usr/libexec/getty std.9600"   vt100   on  insecure
   ttyC0f  "/usr/libexec/getty std.9600"   vt100   on  insecure

I have connected a RJ-45 to DB-9 Female, Crossover that is configured
as follows to another FreeBSD system (running kermit and acting as a
dumb terminal):


    RJ-45                 DB-9
   Cyclades                F/M
   --------              --------
    3   TxD ------------ RxD   2
    6   RxD ------------ TxD   3
    4   Gnd ------------ Gnd   5

    2   DTR --------|--- DCD   1
                    |--- DSR   6

    7   DCD ---|-------- DTR   4
    8   DSR ---|

    1   RTS ------------ CTS   8
    5 CTS ------------ RTS 7

When I display the communications setting in kermit on the second
system, here's what I see:

   # With the cross-over cable disconnected
   Communications Parameters:
    Line: /dev/ttyd0, speed: 9600, mode: local, modem: generic
    Parity: none, stop-bits: (default) (8N1)
    Duplex: full, flow: rts/cts, handshake: none
    Carrier-watch: auto, close-on-disconnect: off
    Lockfile: /var/spool/lock/LCK..ttyd0
    Terminal bytesize: 8, escape character: 28 (^\)

    Carrier Detect      (CD):  Off
    Dataset Ready       (DSR): Off
    Clear To Send       (CTS): Off
    Ring Indicator      (RI):  Off
    Data Terminal Ready (DTR): On
    Request To Send     (RTS): On

    # With the cross-over cable connected
    Communications Parameters:
    Line: /dev/ttyd0, speed: 9600, mode: local, modem: generic
    Parity: none, stop-bits: (default) (8N1)
    Duplex: full, flow: rts/cts, handshake: none
    Carrier-watch: auto, close-on-disconnect: off
    Lockfile: /var/spool/lock/LCK..ttyd0
    Terminal bytesize: 8, escape character: 28 (^\)

    Carrier Detect      (CD):  On
    Dataset Ready       (DSR): On
    Clear To Send       (CTS): On
    Ring Indicator      (RI):  Off
    Data Terminal Ready (DTR): On
    Request To Send     (RTS): On

Unfortunately, when I connect to the port and hit 'enter', I don't get
a login prompt and nothing that I type is echoed back to me.

I've looked at the FreeBSD email archives and documentation and have
not found anything that addresses these problems.  I am grateful for
any help that you can provide.

David C. Snyder
CNN - Internet Technologies
Desk:  404 827 1679            AIM:  dsnyder0cnn
Cell:  404 545 6211            SMS:  4045456211 at mobile.mycingular.net


More information about the freebsd-questions mailing list