精華區beta NTUNIC 關於我們 聯絡資訊
天:你天天玩modem...上網路...用的是父母的血汗錢啊... 轉錄王甘草說道:唉....你以為我願意?...天知道modem族的辛酸啊... 天:別這麼說... 轉錄王甘草說:你不會懂... 天:你到說說看, 我那裡不懂? 轉錄王甘草說:你懂?你要是懂得話, 你就多牽兩條T3到美國去... 你要是懂得話, 你就讓hinet少吃點人民的錢... 你要是懂得話, 你就讓dailup server別再有接沒有通.. 你要是懂得話, 你就讓電話線路不要再讓28800變成2400... 你要是....嘿... 你還在嗎? 天:NO CARRIER... 轉錄王:........... --------------------------------------------------------------------------- 發信人: [email protected] (Lee's), 信區: linux 標 題: 我的魔電沒電 --> 有關 Modem 的設定 發信站: 交大資科_BBS (Thu Mar 2 00:57:52 1995) 轉信站: pivot!news.nchu!ccnews.nchu!news.cc.nctu!news.cis.nctu!cis_nctu 看到網路上有這麼多的熱心人士在為大家講解與幫忙, 雖然弟剛接處 Linux 不久, 且也是在最近幾天內才將 Modem 擺平, 但相信將來步入弟後塵, 為 Modem 的連接而傷腦筋者, 相信也不少. 由於弟進入此信區的時間較晚, 無法窺知以前是否已有前輩講解過, 若已有人講解過, 就當弟此信是純灌水吧 :-) 由於每種廠牌的 Modem 其設定方法並不很相同, 因此弟僅就大致上可能相 同的地方進行講解. 在此同時, 您也千萬不要忽略 Serial-HOWTO 10.2 的部份, 弟就是要解釋 該文的作者, 為何要建議大家進行如此設定的真正原因. 1) E0 將己端字元回應關閉 ( Echo off ) 當您設定 Echo on 時, 您只要對 Modem 下達任何字元(或命令), Modem 也會自動再回送一個字元給您的終端機. 此種方式, 是為了 方便一些本身無回應能力的終端機, 能同時將送往 Modem 的字元 顯示到畫面上. 但由於目前大部份的終端程式, 都有自動回應功能 因此若您再將其開啟, 就會產生字元重覆的現像了. 2) Q1 將所有的回應關閉(包括 OK, Connect.... 等訊息) *** 請特別注意 *** 一般 Modem 的『機定值』是 Q0, 也就是會 回送命令執行結果值(例如 OK, Connect, Busy.... 等). 但由於 Linux 在等待撥入時, 是去偵測 DCD 的信號線(第 8 接腳的電位) 而不是去判斷 Ring 的文字輸入資料(此種設計蠻新鮮的, 弟也是 在此吃足了苦頭 :-), 因此只要您將此狀態回應訊息關閉掉, 您便 可假設您的 Modem 就像使用經過跳線的 RS-232 直接通連一般. 這 也正是可透過 Modem 直接去當成主機下, 一個工作站的方式. Ps: 早期網路卡還很貴時, 大部份的工作站都採用 RS-232 通連. 3) &C1 由 Modem Connect 之後, 才將 DCD 訊號線切換成高電位. 有關此設定, 各廠牌的機定值並不相同, 但無論如何, 若您不將 DCD 的狀態交由 Modem 去控制, 而將其設定成永遠都是 ON 的狀態下, 此時您的系統, 將無法判斷使用者是否已經切線走人了. 在此狀況 之下, 下一位連線者, 將會『繼承』上一位使用者的使用權, 直到 該使用者玩爽了(也破壞夠了 :-), 再下達 Logout 來讓系統離線. 因此無論您在 2) 中使用 Q1 或是 Q0, 強烈的建議您, 一定要將此 選項設成 &C1. 且若是上一選項設成 Q0 的話, 因為 Modem 不會回 應 Ring, Disconnect 的訊息, 此時可好玩了. 您的系統將『永遠』 無法知道 Modem 到底有沒有在連線中...... 4) &S0 讓 DSR 永遠保持在高電位狀態下(也就是 Data Send Ready 永遠在 ON 的情形). 有關此部份, 似乎見仁見智, 因為還牽涉到 Flow Control 的技術問 題, 因為 Flow Control 中, 計有三種選擇方法, 如下: a) XON/XOFF 利用 Ctrl-S 及 Ctrl-Q 來進行流量控制; 也就是 Modem 無法消化 RS-232 送來的資料(緩衝區已滿)時, 會主動送出 Ctrl-S 要求系統暫停送出資料(XOFF), 當其緩衝區有空位時, 再送出 Ctrl-Q (XON) 請求系統繼續送出資料. 這種流量控制(Flow Control) 就是 所謂的『軟體流量控制』(Software Flow Control). b) CTS/RTS 利用 CTS ( Clear To Send 第 5 接腳) 及 RTS ( Ready To Send 第 4 接腳) 的電位去進行流量控制; 也就是當 Modem 的 緩衝區已滿時, 會將 CTS 及 RTS 設定成 OFF 的狀態. 此時系統便 會因為其 RTS 被制能, 而暫停送出資料, 直到 Modem 的緩衝區有空 位時, 再將其打開(ON), 此種的流量控制, 一般稱為『硬體流量控制』 ( Hardward Flow control ). 而據弟所知, 此種流量控制, 是最常被 使用的一種. 但依 Linux 的建議值, 似乎是採用下面一種...... Ps: 若要使用此種流量控制, 其 RS-232 的接線不得與 6.1 的接法一 樣, 因為 6.1 的接法是採用 DTR/DSR 的流量控制接線方式. 若要採用 CTS/RTS 流量控制時, 其基本的接法口訣如下: 2 3 對調, 4 5 接 8, 6 接 20 其餘不變. c) DTR/DSR 利用 DTR ( Data Terminal Ready 第 20 接腳 ) 及 DSR ( Data Send Ready 第 6 接腳 ) 的電位去進行流量控制; 也就是當 Modem 的緩衝區已滿時, 將 DSR 的信號線制能, 當有緩衝區時, 再將 其打開. 此種的流量控制, 也是『硬體流量控制』的一種. 不過千萬 要注意的, 要選用此項功能時, 一定要與下面的 &D? 配合, 否則會死 得很難看. 其原因是若您設錯時, 因為 DTR 一轉變成低電位, Modem 便會立即的斷線並 Reset, 那您的流量控制倒變成『斷線控制』了 :-) 5) &D3 DTR 的信號隨 RS-232 的信號而變, 在偵測到 DTR 由 ON 轉成 OFF 時, Modem 進行 Reset 的動作(重新啟動). 若您將其設成 &D2 時, 那就代表 DTR 的信號一樣隨著 Modem 的 DTR 變 動, 但唯一不同的, 就是當 DTR 由 ON 轉成 OFF 時, Modem 會立即將對 方斷線. 至於 &D1 時, RS-232 的 DTR 一樣隨著 Modem 的 DTR 變動, 但 不會有任何動作. 至於 &D0 時, DTR 則保持在高電位的狀態(ON). DTR 正是 RS-232 的第 20 接腳線. 至於第 7 接腳, 則是接地線, 因此 您也可用簡單的方式去查看其變化. 當然, 如同 4) 所提, 若您不慎設成 &D3 &S1 時, 您要有心裡準備, 因 為在進行 DTR/DSR 流量控制時, DSR 會因為緩衝區的狀態而被設成 OFF, 那麼跟隨而來的, DTR 也被設成 OFF, 接下來 User 也 Game Over 了 :-) 6) &R? 選用 CTS/RTS 進行流量控制, 弟在此並未標明建議值, 是因為前面已採 用 DTR/DSR 的流量控制, 因此這項功能已變得不很重要, 但假設您要使 用 CTS/RTS 來進行流量控制時, 在此強烈的建議您設成 &R0, 也就是 RS-232 的 CTS 狀態, 隨著 RTS 的狀態進行轉變. 而據弟所知, 此項參 數值, 似乎每種廠牌都不太一樣, 因此您最好還是看一下手冊較好. 但最好還是讓其交由 RS-232 來控制較佳...... 7) Speep 可依您的 RS-232 及所使用的 Modem 去考量, 基本上, 若使用 8250 或是 16450 IC 時, 無論您的 Modem 速度有多快, 設成 19200 就可了. 太高也沒用. 若有 16550A 以上的 IC 時, 可設成 38400, 57600, 或更 高, 只要系統及 Modem 能支援多高的速度, 便設多高..... 你有決策, 我有對策 --> 一些較常發生的問題: Q1) 為何別人早就斷線去睡了老半天了, 我的 Modem 還處於連線中? 答案: 您不小心將 DCD 設成永遠 ON 的狀態, 再加上您的系統, 看到了 Disconnect 的訊息時, 還以為 User 在 Chat 中的對話呢! Q2) 有些功能選項, 是使用『+』的符號來操作, 為何我按幾下之後, 出現了 OK 然後就沒動作了? 答案: 您可去炒作股票, 因為您太幸運了, 剛好輸入 Modem 內建的『由通聯 模式進入內部命令控制』的功能下. 只要您再輸入 ATO [Enter] 便可 再回到通聯模式了. 當然, 您也可去修改其內定值, 其內定值存放於 S2 的位置, 您可使用 AT S2? 的命令去查看, 若回應 43 便就是『+』的標記. 可用 AT S2=0 將其設定成 Null 字元. 不過要記得, 有些 Modem 的設定參數(例如切 線, 啟始.... 等) 都會用到該命令, 因此除非您對於 Modem 的設定很 熟悉, 否則忍著點, 不要去動他. 建議您找 SysOp 罵一罵, 並糗他為何 會有那麼多的 『+』命令 :-) Ps: SysOp 千萬別追殺我....... Q3) 難道每次進去之後, Modem 的參數都要再設定一次, 那可會煩死人的! 答案: 就算再低級的 Modem, 其本身至少都有一組記憶可用, 您可將現有的設定 值使用 AT &W 將其存放到計憶中, 將來便可用 AT Z 的命令將其取出來. Ps: 因此弟大部份的 Init 都使用 ^MATZ^M~~ 而已. Q4) 有人說, 他 Modem 的速度是 38400, 但我要買卻買不到, 為什麼? 答案: 別傻啦! 到今天為止, 除了專線式的超高速 Modem 之外, 市面上大部份 的 Modem 其速度大都是 28800, 19200, 16800, 14400, 12000, 9600.... 等規格. 其所稱的 38400 是所為的 DTE 速度. Q5) 那為何要將 DTE 速度設成 38400 呢? 他們真正的速度又沒有那麼快! 答案: 您大概不想讓您的 Modem 去等電腦吧! 將電腦與 RS-232 的速度設成比 Modem 快的原因, 是因為電腦的處理速度通常都比 Modem 的傳送速度來 得快, 因此將電腦與 RS-232 之間的速度調高一些, 以免在這中間『塞車』 至於 Modem 消化不良時, 再利用『流量控制』的方式, 請電腦讓它喘一 口氣...... Q6) 我是 2400 的 Modem, 照您所說, 設成 38400 之後, 卻動也不動的? 答案: 只有提供『信賴傳輸模式(ARQ or REL)』模式的 Modem 才能使用 DTE 的 設定. 在此建議您拿到馬路中間, 相準一輛車子, 將 Modem 讓他壓過去, 然後您就可請他賠一台高速 Modem 供您用了 :-) Ps: 千萬別放到我的車下, 因為我頂多會賠您在 Apple ][ 時期, 以萬餘 元購買的高『價』Modem. Q7) 專線式 Modem 與撥接式 Modem 有何不同? 答案: 專線式的 Modem, 基本上當其接通之後, 線路間不須要額外的脈衝及訊號 加強, 本身便可自行連線, 因此接上專線式的 Modem 您可假設就是使用 兩條 RS-232 直接通聯的狀況. 但對於撥接式的 Modem, 則是要等收到 Ring 的振鈴脈衝訊號之後, 才會開始嘗試進行通連. 而其進行通聯的方 式計有兩種, 一種是『自動回應』, 另一種是『手動回應』. 依照上面 所使用 Q1 的設定方式, 您一定要將 Modem 設成『自動回應』的狀態下 才可以, 否則因為 Modem 不會傳送 Ring 的訊息給系統, 因此永遠連不 線. 對於撥接式 Modem 而言, 當對方送出 ATD 之後, 此方要送出 ATA 才會開始進行通聯的測試(手動回應), 但若設成自動回應時, Modem 只 要收到振鈴的脈衝(Ring), 便會自動進行通聯測試. 此項可使用 AT S0=? 的方式去設定, 若設成 AT S0=0 時, 便代表將其 設成『手動回應』, 其餘的值(1-255) 便代表要收到幾聲的振鈴之後才 進行『自動回應』. Ps: 依弟個人的習慣, 若系統有支援手動回應時, 均會使用手動回應的 方式去處理, 其原因如下: a) 當系統當機時, 您的 Modem 不會變成『吃角子老虎』. b) 當系統進行 Even 處理時, 雖可暫時設成 AT H1 進入佔線狀態. 但當系統進行 INIT Modem 時, 還是會有死角, 此時若您是設定 成自動回應時, 該空檔便是標準的吃角子老虎. 但若使用手動回 應時, 則一定要等系統完全進入狀況後才會接聽電話, 如此較不 會造成使用者的疑惑. Ps: 很可惜, 到目前為止, 弟還不曉得要如何讓 Linux 設成手 動接聽模式 :-( Q8) 為何接收檔案時, 老是 CRC error ? 答案: 在多工狀態下, 或是您將 DTE 速度調成 19200 以上時. 若您的 RS-232 使用一般的 8250 或是 16450 的 IC, 因為 16450 只有 2 Byte 的 FIFO ( First In First Out 先入先出緩衝器, I/O 各 1 Byte), 因此建議您 將其更換成 16550AFS 或以上的 IC, 因為 16550AFS 本身有 32 Bytes 的 FIFO (I/O 各 16 Bytes), 如此就可避免因為電腦處理上來不及, 而 造成資料的流失. 謹供參考, 若有繆誤之處, 還望諸先進指正...... -- ██▋ ████ ███▋██▋ 臺大化工一 ▋ ▋ ████▋██ ████▋ ████▋江 ▋ ▋ ▋小 ████ █▋ ████▋江 -- ※ 發信站: 批踢踢實業坊(bbs.m8.ntu.edu.tw) ◆ From: 140.112.8.22