init
为每个配置的用于拨入连接的串行端口生成一个 getty
进程。当用户拨打调制解调器的线路并且调制解调器连接时,“载波检测”信号由调制解调器报告。内核注意到载波已被检测到,并指示 getty
打开端口并以指定的初始线速显示 login:
提示。在一个典型的配置中,如果收到垃圾字符,通常是由于调制解调器的连接速度与配置的速度不同,getty
会尝试调整线路速度,直到收到合理的字符。在用户输入他们的登录名后,getty
执行 login
,它通过询问用户的密码来完成登录过程,然后启动用户的 shell。getty
不了解任何特定的调制解调器的连接速度报告,它以一个初始速度给出一个 login:
消息,并观察响应回来的字符。如果用户看到的是垃圾,他们应该按回车键,直到看到一个可识别的提示。如果数据速率不匹配,getty
会把用户输入的任何东西都视为垃圾,尝试下一个速度,并再次给出 login:
提示。这个过程通常只需要按一两个键,用户就能看到一个好的提示。这个登录顺序看起来不像锁定速度的方法那样干净,但是在低速连接上的用户应该从全屏程序中得到更好的交互式响应。/etc/gettytab
。然而,对于匹配速度的配置,可能需要额外的条目,以定义调制解调器的速度。这个例子配置了一个 14.4Kbps 的调制解调器,最高接口速度为 19.2Kbps,使用8位无奇偶校验连接。它将 getty
配置为以 19.2Kbps 开始 V.32bis 连接的通信速率,然后在 9600 bps、2400 bps、1200 bps、300 bps 之间循环,最后回到 19.2Kbps。通信速率循环是通过 nx=
(下一个表)功能实现的。每一行都使用一个 tc=
(表的延续)条目来获取特定数据速率的其余设置:sio
silo
错误。/etc/ttys
的配置与配置终端条目相似,但传递给 getty
的参数不同,终端类型使用 dialup
。用 init
将在设备上运行的进程替换 xxx :dialup
) 终端类型可以被改变。例如,将 vt102
设置为默认的终端类型,允许用户在其远程系统上使用 VT102
模拟。/etc/gettytab
中列出的有效类型指定速度。这个例子是针对一个端口速度被锁定在 19.2Kbps 的调制解调器:/etc/gettytab
中适当的开头auto-baud
条目。要继续执行匹配速度调制解调器的例子,即从 19.2Kbps 开始,使用这个条目:/etc/ttys
后,等待调制解调器被正确配置和连接,然后向 init
发出信号:RTS/CTS
)流量控制。使用 stty
来设置调制解调器端口的硬件流控制标志。这个例子在 COM2
的拨入和拨出初始化设备上设置 crtscts
标志:login:
提示时,调制解调器的 DTR 指示灯是否亮起。如果它亮了,这应该意味着 FreeBSD 已经在相应的通信端口上启动了一个 getty
进程,并且正在等待调制解调器接受呼叫。ps ax
来查看 FreeBSD 是否在正确的端口上运行 getty
进程:d0
而不是 ??
,并且调制解调器还没有接受呼叫,这意味着 getty
已经完成了对通信端口的打开。这可能表明布线有问题或调制解调器配置错误,因为在调制解调器发出载波检测信号之前,getty
不应该能够打开通信端口。getty
进程等待打开该端口,请仔细检查 /etc/ttys
中该端口的条目是否正确。另外,检查 /var/log/messages
,看是否有任何来自 init
或 getty
的日志信息。login:
提示,尝试发送 BREAK
。当使用高速调制解调器时,在锁定拨号调制解调器的接口速度后再尝试拨号。login:
提示,再次检查 /etc/gettytab
,仔细检查。/etc/ttys
中的条目所指定的初始能力名称与 /etc/gettytab
中的能力名称相符。nx=
条目与另一个 gettytab
能力名称相匹配。tc=
条目与另一个 gettytab
能力名称相匹配。