ttyd1
, ttyid1
, and ttyld1
? Or, how can I set the default serial parameters for a port?So you want to become an Internet service provider, eh? First,
you'll need one or more modems that can autoanswer. Your modem
will need to assert carrier-detect when it detects a carrier and
not assert it all the time. It will need to hang up the phone
and reset itself when the data terminal ready (DTR
) line
goes from on to off. It should probably use RTS/CTS
flow control or no local flow control at all. Finally, it must
use a constant speed between the computer and itself, but (to be
nice to your callers) it should negotiate a speed between itself
and the remote modem.
For many Hayes command-set--compatible modems, this command will make these settings and store them in nonvolatile memory:
AT &C1 &D3 &K3 &Q6 S0=1 &WSee the section on sending AT commands below for information on how to make these settings without resorting to an MS-DOS terminal program.
Next, make an entry in /etc/ttys
for the modem. This
file lists all the ports on which the operating system will await
logins. Add a line that looks something like this:
ttyd1 "/usr/libexec/getty std.57600" dialup on insecureThis line indicates that the second serial port (
/dev/ttyd1
) has a modem connected running at 57600 bps
and no parity (std.57600
, which comes from the file
/etc/gettytab
). The terminal type for this port is
``dialup.'' The port is ``on'' and is ``insecure''---meaning
root logins on the port aren't allowed. For dialin ports like
this one, use the ttydX
entry.
It's common practice to use ``dialup'' as the terminal type.
Many users set up in their .profile or .login files a prompt for
the actual terminal type if the starting type is dialup. The
example shows the port as insecure. To become root on this port,
you have to login as a regular user, then ``su
'' to
root
. If you use ``secure'' then root
can login in
directly.
After making modifications to /etc/ttys
, you need to
send a hangup or HUP
signal to the init
process:
kill -1 1This forces the init process to reread
/etc/ttys
. The
init process will then start getty processes on all ``on'' ports.
You can find out if logins are available for your port by typing
ps -ax | grep '[t]tyd1'
You should see something like:
747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1
ttyd1
, ttyid1
, and ttyld1
? Or, how can I set the default serial parameters for a port?