Frequently Asked Questions for FreeBSD 2.X : Serial 通訊 : 我要怎樣才能讓 modem 接受 dialup 登入呢 ?
Previous: 我可以為 port 設定預設參數嗎 ?
Next: 我要怎麼把 dumb terminal 連上 FreeBSD ?

11.8. 我要怎樣才能讓 modem 接受 dialup 登入呢 ?

您是不是想當 ISP ? 首先, 您要有一部以上可以自動接聽的 modem。您的 modem 必須要有 carrier-detect 的功能。它也要能夠在 data terminal ready (DTR) 由開轉為關時重新設定自己。它或許也要能夠使用 RTS/CTS 流量控制或是不做任何流量控制。最後, 它必須能夠在電 腦和它自己的傳輸中使用定速, 但是在它和遠端 modem 的連線方面則要有協 商傳輸速度的能力。

對 Hayes 指令集相容 modem 來說, 下面的指令會把上一段所講的全部設好 並存在非揮發性記憶體中 :

        AT &C1 &D3 &K3 &Q6 S0=1 &W
      

看看下面的 傳送 AT 指令集 這一節可以得 更多有關如何不利用 MS-DOS 終端程式來做這些設定的資料。

接下來, 在 /etc/ttys 為您的 modem 做設定。列在這個檔案中的是所有系統會 待 login 的 ports 。像下面這樣加入一行 :

        ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
      

這一行指令第二個 serial port (/dev/ttyd1) 是一個以 57600 bps 速度在傳輸的 modem, 並且不做同位檢查 (std.57600 是在 /etc/gettytab 檔裡指定的) 。這個 port 的終端機型態是 ``dialup'' 。這個 port 設成 ``on'' 而且是 ``insecure'' 的 --- 意思是 root 不能從這裡連線進來。您必需為每個 dialin port 都做類似 ttydX 的設定。

通常我們會用 ``dialup'' 來做為終端機型態。如果使用者登入時的啟始型 態是 dialup 的話, 很多使用者都會在他們的 .profile 或是 .login 檔中設 定他們真正的終端機型態。上面的例子中我們舉的是 insecure 的例子。如果 您想要在這個 port 變成 root 的話, 您必須用一般使用者的身份登入, 然後 ``su'' 成 root 。如果您用的是 ``secure'' 的話, 則 root 可以直接登 入。

在對 /etc/ttys 做過修改之後, 您必須送一個 hangup 或是 HUP 的 signal 給 init process :

        kill -HUP 1
      

這樣會強迫 init process 去重讀 /etc/ttys 。 然後 init process 就會在所有的 ``on'' port 上重新啟動 getty process 。您可以用下列指令來檢查您的 port 是不是可以 login 了

        ps -ax | grep '[t]tyd1'
      

您會見到類似這樣的結果 :

        747 ??  I      0:00.04 /usr/libexec/getty std.57600 ttyd1
      


Frequently Asked Questions for FreeBSD 2.X : Serial 通訊 : 我要怎樣才能讓 modem 接受 dialup 登入呢 ?
Previous: 我可以為 port 設定預設參數嗎 ?
Next: 我要怎麼把 dumb terminal 連上 FreeBSD ?