Linux下設備的配置過程是指在檢測到設備類型、設備當前工作參數等信息之後,使用這些信息來配置設備的驅動程序,工作方式等,(設備的檢測過程參見 《如何在Linux下實現硬體的自動檢測》)。要完成這樣的任務,需要做兩方面的工作:
其一是需要一個詳盡的設備信息文件,這個文件描述了設備標識、與設備標識對應的設備驅動程序、設備配置參數(設備選項)、設備設置的詳細描述、設備配置方法描述、設備對應的別名、設備的主設備號等信息。
其二是需要根據設備的類型,以及安裝的linux系統版本(不同的Linux發行版對於同一設備的配置腳本文件存在差異),設置設備對應的配置腳本文件。
Modem配置過程
對於Modem的配置過程而言,我們現在一般使用kppp進行撥號,使用這個程序整個撥號過程將變得非常簡單。因此本文就不再介紹使用pppd和chat進行的手工撥號過程了。本文僅介紹一下如何設置基本的設備驅動模塊和底層設備文件的配置。在配置這些文件之後,您就可以使用kppp撥號了。
1. 外置Modem
在配置外置Modem時,因為大部分的Modem都是通過串口連接到計算機上的,所以在配置Modem之前,您必須插入串口驅動模塊serial.o。在成功插入串口通訊模塊之後,這時只要將設備/dev/modem連接到相應的串口設備上就可以了。例如,在/dev/ttyS0(對應Windows下的COM1)上連接了Modem,則建立連接:
ln -sf /dev/ttyS0 /dev/modem
在這之後,外置的串口modem就可以正常工作了。您可以通過使用minicom向串口發送AT命令,來檢測和配置modem的工作方式。經常使用的命令:
AT命令 命令描述
ATDT(ATDP) 使用語音(脈衝)進行撥號
ATZ 複位數據機
ATH 掛起電話
ATI0 返回數據機的狀態
ATI1 執行ROM校驗和檢查並返回值
ATI2 驗證ROM校驗,返回OK或ERROR
ATI3 返回ROM部件的軟體版本號。
ATI4 查詢數據機的狀態信息,包括波特率、奇偶校驗位長度,字長度、撥號方式、寄存器狀態等信息。
ATI5 查詢數據機的ram中的狀態信息。
ATI6 查詢數據機的鏈路狀態信息,包括已傳送(接收、丟失)的字元數、傳送的數據塊數目、鏈路連接狀態、最後一次撥號時間等。
ATI7 獲得配置的序言文件,此文件描述的信息包括:modem支持的通訊協議,Fax版本號,EPROM的版本號。
ATI8 獲得連接時間
ATI9 獲得數據機的描述名稱
例如,對於一款聯想射鵰外置式Modem,在啟動minicom之後,輸入ATI9的返回值為:
(1.0AKY1010ModemAKY101056K DATA FAX VOICE MODEM)FF
2. 內置的Linmodem
Linmodem是winmodem的linux實現。關於Linmodem的進一步信息您可以訪問www.linmodems.org。現在的Linmodem一般都是PCI類型的,您也可以通過PCI檢測過程,獲得設備設備描述信息。在獲得描述信息之後,您可以比較一下您的Modem是否屬於下面列出的Modem類型。現在支持的Linmodem包括:
* Conexant/Rockwell HSF
它的驅動程序在http://www.olitec.com/pci56kv2.html或http://linmodems.org。
* Ambient Technology (formerly Cirrus Logic)
驅動程序在http://linmodems.org/CLModem-0.3.0.tar.gz。
* Lucent LT
http://linmodems.org/linux568.zip
* PCTel
PCI、AMR和Zoltrix Phantom類型的二進位驅動程序:http://www.kcdata.com/~gromitkc/winmodem.html#drivers。
* ESS
ES56T-PI (PCI) and ES56V-I (ISA)的二進位驅動程序:
ISA: ftp://ftp.esstech.com/pub/modem/isa/unsupported/56v-i/linux/kernel61/linux111.zip。
PCI: ftp://ftp.esstech.com/pub/modem/pci/unsupported/56t-pi/linux/Kernel61/111.zip。
* 3Com Mini-PCI
無可用驅動程序。
Linmodem為了在某種程度上和外置數據機的編程介面一致,所以一般都要生成一個模擬的串口設備。為了生成這些設備文件,一般可以使用命令mknod。
* Lucent LT:
mknod /dev/ttyS14 c 62 78
* PCTel:
mknod /dev/ttyS15 c 62 79
* Esscom:
mknod /dev/esscom c 127 1。esscom用戶希望連接/dev/ttyS14到/dev/esscom,以使得僅識別ttyS*的ppp撥號程序能正常使用。
chgrp uucp /dev/ttyS14
chmod 666 /dev/ttyS14
可允許非根用戶使用此服務撥號。
ln -s /dev/devicefile /dev/modem
您也可以使用setserial,修改串口配置,比如設置串口的波特率,同樣也可以設置/etc/serial.conf設置串口的工作參數。
setserial -agv /dev/ttyS*
大家看了上文自己就能在Linux下配置Modem了,希望對大家有所幫助。
[火星人 ] Linux設備配置之 Modem 的配置已經有559次圍觀