Next: , Previous: , Up: Systems   [Contents]

5.2.3 SCO Unix 3.2.4 (ODT 2.0 and ODT 3.0)

I’m using mgetty on SCO 3.2v4(.2) (in fact, developing it there), so be assured: it works.

I consider the way that hardware flow control is handled on SCO to be broken, so I strongly recommend using the FAS serial driver (version 2.11 or higher, earlier versions may crash the system), to be found on your nearest comp.sources.unix archive. With fas, use the devices with a minor number of ‘80+port number’ for best results. Make sure that your modem enables the ‘DSR’ line, because otherwise, FAS won’t do hardware handshake.

If you don’t use fas, I’ve been told that you have to use the ‘modem control’ lines, that is, the “uppercase” lines, e.g. /dev/tty1A, because SCO’s serial driver won’t do any hardware flow control at all on the “lowercase” lines. Be warned, the driver will also disable hardware flow control if you use Xon/Xoff flow control (no way to use both). Since I do not have a SCO system without fas, I’d like to hear very much about results on one.

Also, you’ve to define LOCKS_LOWERCASE, since that’s the convention on SCO Unix and most other programs expect it.

If mgetty works only partially, but hangs the moment /etc/issue is printed, before the ‘system!login:’ prompt is output, you may have to change the following line of mgetty.c (around line 780):

        /* honor carrier now: terminate if modem hangs up prematurely
        tio_carrier( &tio, TRUE );


        tio_carrier( &tio, FALSE );

But before you do this, make sure that your modem enables the CD line while a carrier is present (Hayes modems: ‘AT&C1’) and also enables the DSR line (otherwise the port will block once CLOCAL is removed).

This could have been a problem specific to Uwe’s dumb AST-compatible fourport card, but I do not think so.

Compilation issues:

Ignore warnings about ‘struct utimbuf’ and ‘struct timeb’, they are caused by improper include files. On SCO 3.2v4.2, ignore the warnings about the getopt() prototype, or change prototype or include files.


SCO provides two utilities to manipulate /etc/inittab, enable and disable. Those tools work only if you have specified a gettydefs tag on the mgetty command line, otherwise they will complain about “not a valid tty”. So, either append the gettydefs tag (mgetty will ignore it if not compiled with USE_GETTYDEFS) or change /etc/inittab manually.

Next: , Previous: , Up: Systems   [Contents]