BBS水木清华站∶精华区
发信人: steve.bbs@heaven.stat.tku.edu.tw (自闭症患者), 看板: Linux
标 题: Mgetty+SendFAX: 让你的 LINUX 成为 terminal server
发信站: 淡江统计光明顶资讯站 (Sat Nov 23 04:26:18 1996)
转信站: sob!magic.m7.ntu!netnews.ntu!linux2.tpml!UUserv.Net.tw!news.cs.nthu!ne
在板上看到很多人在问如何让 Linux 成为 terminal server 接受
modem dial-in。今天心情好,跟大家分享经验。
一般人一开始都用 gettyps (/sbin/getty) 这套软体来设定 modem dial-in。
有人很 lucky,有人被其设定档搞得乱七八糟:我属於後者。後来看到
Linux newsgroup 上一些人推荐 mgetty+sendfax 这套软体,我拿来
使用後,一设就成功,而且不止在两台 Linux 机器上,连 FreeBSD 的机器
也是很好设定。所以我推荐 mgetty+sendfax。
在 ftp.stat.tku.edu.tw 的 anonymous FTP 目录 /pub/mgetty/LINUX 之下,
我放了 mgetty098bin.tgz 与 mgetty098src.tgz 两个压缩档,分别给
不想自己 compile 的人(需有装 libc.so.5.3.12 以上)或想自己动手的人。
1. mgetty098bin.tgz :
抓回去後,找个暂时目录如 /tmp/9999 下将此档解开
tar zxvpf mgetty098bin.tgz
检查看看里面的东西,确定我不会将你的系统搞杂砸後
(如果我放个 /etc/sendmail.cf 。。。呵。。),
将此 tgz 档再 copy 到 / 根目录,一样解开。
这时你只要修改 /etc/inittab 档, 再 kill -HUP 1 ,就应该可以使用
(在这之前 modem 应该已经接上电脑)
-------------- /etc/inittab 修改 ----------------
...........
# Dialup lines
d1:45:respawn:/usr/local/sbin/mgetty -n 3 -D -a ttyS0
d2:45:respawn:/usr/local/sbin/mgetty -n 3 -D -s 9600 ttyS1
d3:45:respawn:/usr/local/sbin/mgetty -n 3 -D -m '"" ATZ OK' -a ttyS2
-------------- /etc/inittab ----------------
说明: -n 3 (电话响 3 声後才接)
-D (只接 data(modem),不接 FAX)
-a (modem speed 自动调整)
-s 9600 (modem speed 固定在 9600)
-m '"" ATZ OK' (可 on-line 调整 modem 设定字串)
ttyS0 --> COM1, ttyS1 --> COM2, ....
2. mgetty098src.tgz
抓回去後在一个临时目录解开,cd 到 mgetty-0.98 之中,修改 policy.h:
------------------------------ policy.h -------------------------
line 114 记录档放在哪里
#define LOG_PATH "/var/adm/log_mg.%s"
line 139 是否将一些错误讯息记录到 syslog
/* #define SYSLOG */
line 154 你的机器名称 (将 /* 及 */ 去掉)
/* #define SYSTEM "heaven" */
line 187 mgetty 若 detect 到此档(如 /etc/nologin.ttyS1) 就不接 modem
#define NOLOGIN_FILE "/etc/nologin.%s"
line 257 modem-to-pc default speed
#define DEFAULT_PORTSPEED 38400
line 278 modem 设定字串
/* #define MODEM_INIT_STRING "ATS0=0Q0&D3&C1" */
#define MODEM_INIT_STRING "ATZS0=0"
line 300 每隔几秒检查 modem 是否正常
#define MODEM_CHECK_TIME 1800
line 318 只接受 modem (data) 或连 FAX 也接 (auto)
/* #define DEFAULT_MODEMTYPE "auto" */
#define DEFAULT_MODEMTYPE "data"
line 497 FAX port
#define FAX_MODEM_TTYS "ttyS0"
line 552 FAX 到时通知谁
#define MAIL_TO "root"
------------------------------ policy.h -------------------------
改完後,make,make install,修改 /etc/inittab,再
kill -HUP 1
即可。
P.S. 1.现在的 mgetty+sendfax 版本是 0.99,但我懒得改。
2.若要能接 FAX 请自己看 documentation 设定。
3.如果电话线是下班後才能用 modem dial 进来,可用 crontab
设定上班时间
touch /etc/nologin.ttyS0
touch /etc/nologin.ttyS1 ....
则 mgetty 不会接 modem,电话正常使用。然後,用 crontab
设定下班时间
rm -f /etc/nologin.ttyS0
rm -f /etc/nologin.ttyS1 ....
则电话响 3 声就接 modem 了。这对公司或机构内有连上网路,
但无电话专线者颇有用。
BBS水木清华站∶精华区