欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
linuxeden.com---自由文檔 - 如何在linux下實(shí)現設備的配置(上)
2001-09-17    
于辰濤 (scu_yct@263.net) 
聯(lián)想(北京)電腦公司軟件工程師 
2001 年 8 月 

本文是《如何在Linux下實(shí)現硬件的自動(dòng)檢測》的姊妹篇。將為您介紹在進(jìn)行了設備檢測,通過(guò)設備信息文件獲得了設備對應的驅動(dòng)程序,工作參數等信息后,如何對于幾種最常見(jiàn)的設備進(jìn)行配置、生成正確的配置腳本,以使設備正常工作。 
Linux下設備的配置過(guò)程是指在檢測到設備類(lèi)型、設備當前工作參數等信息之后,使用這些信息來(lái)配置設備的驅動(dòng)程序,工作方式等,(設備的檢測過(guò)程參見(jiàn)《如何在Linux下實(shí)現硬件的自動(dòng)檢測》)。要完成這樣的任務(wù),需要做兩方面的工作: 

其一是需要一個(gè)詳盡的設備信息文件,這個(gè)文件描述了設備標識、與設備標識對應的設備驅動(dòng)程序、設備配置參數(設備選項)、設備設置的詳細描述、設備配置方法描述、設備對應的別名、設備的主設備號等信息。 

現在的Linux內核中使用kmod來(lái)完成設備模塊的自動(dòng)加載,它的一般工作機制是:在第一次引用設備模塊時(shí),內核使用系統命令/sbin/modprobe加載這個(gè)設備模塊。為了使這種機制正常工作,您首先需要使用depmod -a建立表述模塊之間依賴(lài)關(guān)系的文件modules.dep,然后在/etc/modules.conf中設置正確的設備別名(關(guān)于/etc/modules.conf的詳細介紹參見(jiàn)本文附錄A),如果還需要設置設備對應的參數。舉例來(lái)說(shuō),在設置網(wǎng)卡時(shí)網(wǎng)卡的驅動(dòng)程序是ne2k-pci,網(wǎng)卡的設備別名是eth0,則在文件/etc/modules.conf中加入別名alias eth0 ne2k-pci,就設置了ne2000兼容的PCI網(wǎng)卡,這樣當有程序要嘗試訪(fǎng)問(wèn)網(wǎng)絡(luò )時(shí),內核會(huì )自動(dòng)加載網(wǎng)卡驅動(dòng)程序ne2k-pci。 

其二是需要根據設備的類(lèi)型,以及安裝的Linux系統版本(不同的Linux發(fā)行版對于同一設備的配置腳本文件存在差異),設置設備對應的配置腳本文件。 

1 配置鍵盤(pán) 
1.1 配置鍵盤(pán)的設備模塊 
對于我們常見(jiàn)的鍵盤(pán)一般有三種類(lèi)型,其一為老式的五針鍵盤(pán),其二為ps/2鍵盤(pán),其三是usb鼠標。對于前兩種鍵盤(pán),一般現在的Linux發(fā)行版都把它們需要的設備模塊打包入內核,所以無(wú)需進(jìn)行附加的模塊插入操作,鍵盤(pán)就能夠正常工作。而對于usb類(lèi)型的鍵盤(pán),一般而言,要使它正常工作必須先插入對應的設備模塊。 

對于usb類(lèi)型的鍵盤(pán),您若是要通過(guò)手動(dòng)加載模塊的方式使其工作,必須首先插入usb橋接器模塊,然后您還必須插入鍵盤(pán)模塊usbkbd.o,以及keybdev.o,這樣usb鍵盤(pán)才能夠正常工作。此時(shí),運行的系統命令: 
/sbin/modprobe usbkbd 
/sbin/modprobe keybdev 

對于2.2.x系列的內核若要內核的kmod在需要時(shí)自動(dòng)加載則必須在/etc/modules.conf文件中設置別名usb-interface,它對應您所使用的橋接器模塊。例如,當橋接器的類(lèi)型為UHCI時(shí),在/etc/modules.conf中加入設備別名: 
alias usb-interface usb-uhci 

對于2.4.x系列的內核,此設備別名則變?yōu)椋?nbsp;
alias usb-controller usb-uhci 
在設置了此別名之后,系統啟動(dòng)時(shí)會(huì )自動(dòng)進(jìn)行usb設備檢測。當檢測過(guò)程發(fā)現連結的設備是系統支持的,那么系統會(huì )自動(dòng)插入所需的模塊。 

1.2 鍵盤(pán)配置文件 
鍵盤(pán)的配置文件/etc/sysconfig/keyboard,它的內容很簡(jiǎn)單,可選配置項為KEYTABLE(隨著(zhù)發(fā)行版本的不同這個(gè)文件的內容會(huì )有所差異,但是這個(gè)字段是最重要的)。例如,當設置KEYTABLE = "us"時(shí),表示系統使用美式鍵盤(pán)。 

然后,為了正確的使用鍵盤(pán)上的功能鍵,您還需要調用命令dumpkeys生成文件/etc/sysconfig/console/default.kmap。 
/usr/bin/dumpkeys > /etc/sysconfig/console/default.kmap 
這個(gè)文件描述了鍵盤(pán)的鍵盤(pán)掃描碼和加入鍵盤(pán)修飾之后的鍵盤(pán)的相應的鍵盤(pán)掃描碼。 

同樣,為了鍵盤(pán)能在X系統環(huán)境下正常工作,您可能也需要在X系統下對鍵盤(pán)進(jìn)行設置,這時(shí)您就必須使用xmodmap來(lái)設置正確的鍵盤(pán)映射。例如, 
/usr/X11R6/bin/xmodmap /usr/share/xmodmap/xmodmap.fr 
設置您的X系統下的鍵盤(pán)為法語(yǔ)鍵盤(pán)。 

在正確的配置了/etc/sysconfig/keyboard文件之后,X系統的配置程序會(huì )根據此文件的信息配置X中關(guān)于鍵盤(pán)配置的小節。當此文件內容不正確或者是此文件不存在時(shí),X系統是無(wú)法啟動(dòng)和配置的。 

2 配置鼠標 
2.1 鼠標的基本信息 
Linux支持四種不同的總線(xiàn)鼠標硬件接口:Inport(Microsoft),Logitech,PS/2和ATI-XL。2.4內核也支持IBM PC110數字化板和Apple Desktop鼠標。 

Inport mice 
Inport mice包含大多數舊類(lèi)型的微軟鼠標。Inport mice通常連接到主板的接口卡上。假如鼠標線(xiàn)連接頭是圓的,有9針,則可能是Inport mice。 
Logitech mice 
PS/2 mice 
ATI combo video/mice 
IBM PC110 palmtop digitizer 
Apple Desktop Mouse 
Hybrid Mice 
對于鼠標協(xié)議,大多數總線(xiàn)鼠標使用BusMouse協(xié)議,一些古老的Logitech鼠標使用MouseSystems協(xié)議,而一些更老的微軟鼠標使用Logitech協(xié)議。PS/2鼠標總是使用PS/2協(xié)議。 

不同類(lèi)型的鼠標對應的設備文件:接口類(lèi)型 設備 主設備號 次設備號 
Logitech /dev/logibm 10 0 
PS/2 /dev/psaux 10 1 
Inport /dev/inportbm 10 2 
ATI-XL /dev/atibm 10 3 
USB mouse /dev/input/mice 13 63 
表2-1 

創(chuàng )建對應設備的命令: 
mknod /dev/logimm c 10 0 
mknod /dev/psaux c 10 1 
mknod /dev/inportbm c 10 2 
mknod /dev/atibm c 10 3 
mknod /dev/input/mice c 13 63 




在創(chuàng )建了鼠標對應的設備文件之后,因為現在很多程序都使用/dev/mouse作為缺省的鼠標設備文件,所以為了使鼠標正常工作你還要創(chuàng )建一個(gè)符號連接/dev/mouse指向真實(shí)的鼠標設備文件。例如,對于ps/2鼠標,/dev/mouse指向/dev/psaux,對于usb鼠標,/dev/mouse/指向/dev/input/mice,對于串口鼠標/dev/mouse指向/dev/ttyS0。對于不同的linux發(fā)行版本,這些文件可能有所不同,上述介紹主要是基于Redhat發(fā)布的配置。 

對于現在最常見(jiàn)的三種鼠標:串口鼠標、PS/2鼠標和USB鼠標而言,由于對PS/2鼠標支持一般都打在內核中,所以您也不需要在鼠標工作之前插入設備模塊。但對于其他的兩種鼠標,插入模塊的操作一般是必須的。對于串口鼠標而言,您必須先插入模塊serial.o, 
/sbin/modprobe serial 

成功的插入模塊之后,如果串口鼠標支持即插即用的串口協(xié)議,您可以從串口(/dev/ttyS*)讀到鼠標的類(lèi)型信息,然后由此信息,完成鼠標的配置文件。對于USB鼠標,為了使其正常工作,您必須先插入模塊usbmouse.o和mousedev.o 
/sbin/modprobe usbmouse 
/sbin/modprobe mousedev 
同樣,為了使鼠標驅動(dòng)程序能夠自動(dòng)加載,您也需要在/etc/modules.conf文件中創(chuàng )建usb-interface(usb-controller)別名。 

2.2 鼠標配置文件 
正確配置鼠標必須生成配置文件/etc/sysconfig/mouse,它包括下列選項:MOUSETYPE、XMOUSETYPE、FULLNAME、XEMU3、DEVICE。該鼠標配置文件也是X配置文件中鼠標配置節的基礎。如果沒(méi)有這個(gè)文件,很多X配置程序將無(wú)法工作。 

MOUSETYPE= 
配置鼠標的類(lèi)型,包括ps/2、Busmouse、imps2、netmouse、Microsoft、Logitech、MouseMan、MMHitTab、MouseSystems、pnp、logim、ms3、MMSeries等。 

XMOUSETYPE= 
X系統下配置的鼠標的類(lèi)型,包括MouseMan、IntelliMouse、MMSeries、MMHittab、Logitech、MouseMan、Microsoft、MouseSystems、PS/2、BusMouse等。 

FULLNAME= 
描述鼠標設備的全名。例如,對于普通PS/2鼠標,其全名為PS/2|Standard。 

XEMU3= 
是否仿真三鍵鼠標,可選參數為yes或no。 

DEVICE= 
描述鼠標對應的設備文件。例如。對于普通PS/2鼠標,設備文件為psaux。 

2.3 鼠標的配置技巧 
通過(guò)gpm能在命令行方式下使用鼠標。這樣在控制臺方式下,就可以使用鼠標進(jìn)行剪貼等操作了。例如,對于ps/2鼠標,它的配置方式是: 
gpm -t ps/2 -m /dev/psaux 
如果不指定-m選項,那么系統會(huì )去查找文件/dev/mouse。 

鼠標移動(dòng)不規則可能是因為對鼠標設置了錯誤的協(xié)議。如新的Logitech鼠標不使用Logitech協(xié)議,而用微軟協(xié)議(MouseMan)。如果您的鼠標移動(dòng)不規則,那您可能首先需要嘗試更換一下MouseType(XMouseType)指定的值。 
在X系統下,您如果需要更換鼠標的左、右鍵,那么可以執行xmodmap -e "pointer = 3 2 1"。 

3 網(wǎng)卡配置過(guò)程 
3.1 配置網(wǎng)卡的設備模塊 
按照總線(xiàn)類(lèi)型來(lái)分,現在的以太網(wǎng)卡主要有PCI網(wǎng)卡、ISA網(wǎng)卡和PCMCIA網(wǎng)卡。為使這些網(wǎng)卡正常工作,要在/etc/modules.conf中設置設備別名eth0,以及要傳遞給驅動(dòng)程序的設備參數。這樣內核在需要使用驅動(dòng)程序時(shí),會(huì )由內核服務(wù)kmod使用系統命令modprobe(insmod)自動(dòng)裝載需要的設備模塊。 

在配置網(wǎng)卡時(shí),如果此網(wǎng)卡能夠自動(dòng)檢測,那么您只需要通過(guò)設備標識,在設備描述信息文件中查得它對應的設備驅動(dòng)程序,然后再由此信息配置網(wǎng)卡。但是這種方法對于普通isa總線(xiàn)的ne2000兼容網(wǎng)卡就不適合了,因為它們在設計時(shí)一般不滿(mǎn)足isapnp規范,因此無(wú)法讀出它們的設備信息。但是這種類(lèi)型的網(wǎng)卡一般使用ne作為設備驅動(dòng)程序,但是為使其正常工作還須指定io地址和占用的irq。 

例如,對于ne2000兼容的isa網(wǎng)卡,比如DE220X,它們的驅動(dòng)程序為ne。此時(shí)要使這種網(wǎng)卡正常工作,需要在/etc/modules.conf文件中加入: 
alias eth0 ne 
options ne io=0x300 irq=5 

一般而言,對于這種網(wǎng)卡,只有指定了正確的I/O地址空間,網(wǎng)卡才能正常工作。這個(gè)地址是和此網(wǎng)卡在DOS下使用的端口地址完全相同的。如果端口地址0x300上不能找到網(wǎng)卡,那么您可以試試0x240等其他地址。 

3.2 網(wǎng)卡配置文件 
要正確的配置網(wǎng)卡必須生成如下腳本文件,/etc/sysconfig/network,/etc/sysconfig/network-scripts/ifcfg-eth0(對于只有一個(gè)網(wǎng)卡時(shí),多個(gè)網(wǎng)卡為ifcfg-eth1、ifcfg-eth2以此類(lèi)推)和/etc/hosts。若您還需要配置域名解析服務(wù),那么還要生成文件/etc/resolv.conf。 

對于/etc/sysconfig/network腳本文件,最常用的可設置項包括NETWORKING,FORWARD_IPV4,HOSTNAME,DOMAINNAME,GATEWAY,GATEWAYDEV。注意:在沒(méi)有配置網(wǎng)卡時(shí),也要設置此文件,以使得本機的回環(huán)設備(lo)能夠正常工作,此設備是很多linux內部通訊的基礎。 

NETWORKING= 
表示系統是否使用網(wǎng)絡(luò ),一般設置為yes。如果設為no,則不能使用網(wǎng)絡(luò ),而且很多系統服務(wù)程序將無(wú)法啟動(dòng)。 

FORWARD_IPV4= 
表示是否支持ipv4的自動(dòng)轉發(fā)。一般在只有一塊網(wǎng)卡時(shí),設置此項為false。 

HOSTNAME= 
設置本機的主機名,這里設置的主機名要和/etc/hosts中設置的主機名對應。 

DOMAINNAME= 
設置本機的域名。 

GATEWAY= 
設置本機連接的網(wǎng)關(guān)的IP地址。例如,網(wǎng)關(guān)為10.0.0.2 

GATEWAYDEV= 
與此網(wǎng)關(guān)進(jìn)行通訊時(shí),所使用的網(wǎng)卡設備別名。例如,當使用了一塊網(wǎng)卡,并連接了網(wǎng)關(guān)時(shí),此時(shí)的值為eth0。 

缺省沒(méi)有網(wǎng)卡時(shí)的設置為: 
NETWORKING="yes" 
FORWARD_IPV4="false" 
HOSTNAME="localhost.localdomain" 
DOMAINNAME="localdomain" 




/etc/sysconfig/network-scripts/ifcfg-*,描述網(wǎng)絡(luò )接口的信息。每個(gè)不同的網(wǎng)絡(luò )接口對應不同的文件。例如,ifcfg-eth0對應第一塊網(wǎng)卡eth0可能出現的配置信息。常見(jiàn)的配置選項包括DEVICE、BOOTPROTO、IPADDR、NETMASK、NETWORK、BROADCAST、ONBOOT。 

DEVICE= 
描述網(wǎng)卡對應的設備別名,例如ifcfg-eth0的文件中它為eth0。 

BOOTPROTO= 
設置網(wǎng)卡獲得ip地址的方式,可能的選項為static,dhcp或bootp,分別對應靜態(tài)指定的ip地址,通過(guò)dhcp協(xié)議獲得的ip地址,通過(guò)bootp協(xié)議獲得的ip地址。 

IPADDR= 
如果設置網(wǎng)卡獲得ip地址的方式為靜態(tài)指定,此字段就指定了網(wǎng)卡對應的ip地址。 

NETMASK= 
網(wǎng)卡對應的網(wǎng)絡(luò )掩碼。 

NETWORK= 
網(wǎng)卡對應的網(wǎng)絡(luò )地址。 

BROADCAST= 
對應的子網(wǎng)廣播地址。 

ONBOOT= 
系統啟動(dòng)時(shí)是否設置此網(wǎng)絡(luò )接口,設置為yes時(shí),系統啟動(dòng)時(shí)激活此設備。 

/etc/resolv.conf,系統生成這個(gè)文件進(jìn)行域名解析。否則,安裝過(guò)程的反向名查詢(xún)無(wú)法工作??赡艹霈F的選項: 
search domainName指定的域名 
nameserver dnsServer 域名服務(wù)器,可以指定多個(gè)。 
/etc/hosts,將主機名列表加入此文件。 

4 Modem配置過(guò)程 
對于Modem的配置過(guò)程而言,我們現在一般使用kppp進(jìn)行撥號,使用這個(gè)程序整個(gè)撥號過(guò)程將變得非常簡(jiǎn)單。因此本文就不再介紹使用pppd和chat進(jìn)行的手工撥號過(guò)程了。本文僅介紹一下如何設置基本的設備驅動(dòng)模塊和底層設備文件的配置。在配置這些文件之后,您就可以使用kppp撥號了。 

4.1 外置Modem 
在配置外置Modem時(shí),因為大部分的Modem都是通過(guò)串口連接到計算機上的,所以在配置Modem之前,您必須插入串口驅動(dòng)模塊serial.o。在成功插入串口通訊模塊之后,這時(shí)只要將設備/dev/modem連接到相應的串口設備上就可以了。例如,在/dev/ttyS0(對應Windows下的COM1)上連接了Modem,則建立連接: 
ln -sf /dev/ttyS0 /dev/modem 

在這之后,外置的串口modem就可以正常工作了。您可以通過(guò)使用minicom向串口發(fā)送AT命令,來(lái)檢測和配置modem的工作方式。經(jīng)常使用的命令: AT命令 命令描述 
ATDT(ATDP) 使用語(yǔ)音(脈沖)進(jìn)行撥號 
ATZ 復位調制解調器 
ATH 掛起電話(huà) 
ATI0 返回調制解調器的狀態(tài) 
ATI1 執行ROM校驗和檢查并返回值 
ATI2 驗證ROM校驗,返回OK或ERROR 
ATI3 返回ROM部件的軟件版本號。 
ATI4 查詢(xún)調制解調器的狀態(tài)信息,包括波特率、奇偶校驗位長(cháng)度,字長(cháng)度、撥號方式、寄存器狀態(tài)等信息。 
ATI5 查詢(xún)調制解調器的ram中的狀態(tài)信息。 
ATI6 查詢(xún)調制解調器的鏈路狀態(tài)信息,包括已傳送(接收、丟失)的字符數、傳送的數據塊數目、鏈路連接狀態(tài)、最后一次撥號時(shí)間等。 
ATI7 獲得配置的序言文件,此文件描述的信息包括:modem支持的通訊協(xié)議,Fax版本號,EPROM的版本號。 
ATI8 獲得連接時(shí)間 
ATI9 獲得調制解調器的描述名稱(chēng) 
表 4-1 

例如,對于一款聯(lián)想射雕外置式Modem,在啟動(dòng)minicom之后,輸入ATI9的返回值為: 
(1.0AKY1010\\Modem\AKY1010\56K DATA FAX VOICE MODEM)FF 

4.2 內置的Linmodem 
Linmodem是winmodem的Linux實(shí)現。關(guān)于Linmodem的進(jìn)一步信息您可以訪(fǎng)問(wèn)www.linmodems.org?,F在的Linmodem一般都是PCI類(lèi)型的,您也可以通過(guò)PCI檢測過(guò)程,獲得設備設備描述信息。在獲得描述信息之后,您可以比較一下您的Modem是否屬于下面列出的Modem類(lèi)型?,F在支持的Linmodem包括: 

Conexant/Rockwell HSF 
它的驅動(dòng)程序在http://www.olitec.com/pci56kv2.html或http://linmodems.org。 
Ambient Technology (formerly Cirrus Logic) 
驅動(dòng)程序在http://linmodems.org/CLModem-0.3.0.tar.gz。 
Lucent LT 
http://linmodems.org/linux568.zip 
PCTel 
PCI、AMR和Zoltrix Phantom類(lèi)型的二進(jìn)制驅動(dòng)程序:http://www.kcdata.com/~gromitkc/winmodem.html#drivers。 
ESS 
ES56T-PI (PCI) and ES56V-I (ISA)的二進(jìn)制驅動(dòng)程序: 
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 
無(wú)可用驅動(dòng)程序。 

Linmodem為了在某種程度上和外置調制解調器的編程接口一致,所以一般都要生成一個(gè)仿真的串口設備。為了生成這些設備文件,一般可以使用命令mknod。 

Lucent LT: 
mknod /dev/ttyS14 c 62 78 
PCTel: 
mknod /dev/ttyS15 c 62 79 
Esscom: 
mknod /dev/esscom c 127 1。esscom用戶(hù)希望連接/dev/ttyS14到/dev/esscom,以使得僅識別ttyS*的ppp撥號程序能正常使用。 
chgrp uucp /dev/ttyS14 
chmod 666 /dev/ttyS14 
可允許非根用戶(hù)使用此服務(wù)撥號。 
ln -s /dev/devicefile /dev/modem 

您也可以使用setserial,修改串口配置,比如設置串口的波特率,同樣也可以設置/etc/serial.conf設置串口的工作參數。 
setserial -agv /dev/ttyS* 

5 聲卡配置過(guò)程 
5.1 內核聲卡驅動(dòng)程序的配置 
現在正在使用的聲卡主要有PCI和ISA兩種。在Linux系統下,對這兩種類(lèi)型聲卡的配置過(guò)程實(shí)際上是生成配置文件/etc/modules.conf,建立正確的設備別名和聲卡設備驅動(dòng)程序的對應關(guān)系。在正確的設置驅動(dòng)模塊之后,使用混音器程序設置聲卡的輸出音量。 

若您的聲卡是ISA PnP類(lèi)型的,那么如果這塊聲卡在dos(windows)系統下也工作良好,那么您可以先記住聲卡的工作參數,包括IRQ、DMA和I/O。一般而言,在Linux系統下應該使用和DOS下一樣的參數。 

如果您不知道它的工作參數,您可以通過(guò)/proc/isapnp獲得聲卡的配置空間,它包括dma、ioport和irq等信息。然后您可以通過(guò)檢查/proc/interrupts,/proc/ioports和/proc/dma文件獲知系統中空閑的irq、ioports和dma等信息,由此您可以選擇合適的聲卡配置參數。 

在2.4.x內核中,實(shí)現了ISA PnP支持,同時(shí)一部分聲卡驅動(dòng)程序現在也支持無(wú)需使用isapnp工具完成自動(dòng)檢測和配置了。關(guān)于聲卡設備的詳細信息您也可以查看內核文檔/usr/src/linux/Documentation/sound/中的文件。 

對于PCI聲卡而言,它們的驅動(dòng)程序包含了自動(dòng)檢測過(guò)程,所以您只需要插入正確的驅動(dòng)模塊,聲卡一般就能正常工作了。 

在聲卡模塊被第一次引用時(shí),內核會(huì )要求加載相應的驅動(dòng)模塊。與聲卡模塊對應的設備別名是sound-slot-0(0表示系統中的一個(gè)聲卡,以此類(lèi)推)。例如,在/etc/modules.conf中加入: 
alias sound-slot-0 esssolo1 
就配置了ESS Solo-1聲卡。這條語(yǔ)句表示在需要聲卡時(shí),自動(dòng)加載模塊esssolo1。 

有時(shí)加載了sound-slot-0對應的設備模塊之后,并不能使聲卡的所有功能生效。這時(shí)設備就會(huì )請求訪(fǎng)問(wèn)sound-service-0-n別名。n代表了不同的設備: 編號 對應的設備 
0 混音器(Mixer) 
2 MIDI 
3,4 DSP 
表 5-1 

這時(shí)就要求您設置正確的聲卡服務(wù)模塊別名,這樣聲卡才能夠正常工作。聲卡對應的設備文件: 設備文件名 設備描述 
/dev/audio 正常連接到/dev/audio0 
/dev/audio0 sun工作站兼容的聲音設備(僅部分實(shí)現,不支持sun ioctl接口,僅支持u-law編碼) 
/dev/audio1 第二個(gè)聲音設備(安裝多個(gè)聲卡時(shí)使用) 
/dev/dsp 正常連接到/dev/dsp0 
/dev/dsp0 第一個(gè)數字采樣設備 
/dev/dsp1 第二個(gè)數字采樣設備 
/dev/mixer 正常連接到/dev/mixer0 
/dev/mixer0 第一個(gè)聲音混音器 
/dev/mixer1 第二個(gè)聲音混音器 
/dev/music 高級序列化接口 
/dev/sequencer 底層MIDI,FM和GUS存取 
/dev/sequencer2 正常連接到/dev/music 
/dev/midi00 第一個(gè)原MIDI端口 
/dev/midi01 第二個(gè)原MIDI端口 
/dev/midi02 第三個(gè)原MIDI端口 
/dev/midi03 第四個(gè)原MIDI端口 
/dev/sndstat 顯示聲音驅動(dòng)程序的狀態(tài) 
表 5-2 

pc揚聲器提供下列設備: 
/dev/pcaudio 等價(jià)于/dev/audio 
/dev/pcsp 等價(jià)于/dev/dsp 
/dev/pcmixer 等價(jià)于/dev/mixer 




您可以直接將聲音文件送入對應的設備,比如,將.au聲音文件通過(guò)將其送入/dev/audio中播放,原始采樣也可被送入/dev/dsp。 
cat sample.su > /dev/audio 

但是這樣做一般效果較差,播放時(shí)應采用play命令。對于wavplay和vplay(snd-util包)會(huì )以最好的效果播放wav文件,但是它們不能識別微軟adpcm壓縮的wav文件。若手動(dòng)設置爭取正確的參數之后,splay用于播放大多數聲音文件。 

讀/dev/audio和/dev/dsp返回的采樣數據可以重定向到一個(gè)文件。vrec可以使這個(gè)過(guò)程更容易??赡苄枰粋€(gè)混音器程序選擇適當的輸入設備。 

5.2 ALSA聲卡驅動(dòng)程序的配置 
對于聲卡驅動(dòng)程序,除了內核自帶的驅動(dòng)程序之外,您還可以使用Advanced Linux Sound Architecture(ALSA,http://www.alsa-project.org/)提供的驅動(dòng)程序。它支持一系列主流聲卡,同時(shí)它和內核的聲音結構互相兼容,在某種程度上,可以說(shuō)是內核的聲卡驅動(dòng)模塊的補充。 

ALSA的聲卡驅動(dòng)程序的一般命名規則是snd-card-。soundcard代表不同類(lèi)型的聲卡。例如,對于所有的16位Soundblaster聲卡,它們對應的驅動(dòng)程序模塊為snd-card-sb16。 

若與需要linux內核聲音驅動(dòng)的向后兼容性,您還需要兩個(gè)模塊snd-pcm-oss和snd-mixer-oss。對于amixer設置的多個(gè)混音器,它們都是針對不同的設備的。比如CD通道的設置是針對CD播放器的。而很多應用程序,如象mpg123,xmms,realplayer,都要依賴(lài)PCM通道的設置。MIC代表麥克風(fēng)。不同的Gain部分對于不同的使用能提供特別的增益。 

缺省情況下ALSA靜音所有的輸出。為了獲得聲音,必須解除主音量和PCM音量的靜音。 
amixer -c 0 sset ‘Master‘,0 100%,100% unmute 
amixer -c 0 sset ‘PCM ‘,0 100% unmute 

選項包括mute,unmute,capture,nocapture,rec,norec,數字或left:right。amixer不帶參數運行時(shí),返回聲卡上所有通道的設置情況。 

為了在每次插入聲卡驅動(dòng)模塊時(shí),都打開(kāi)靜音,您可以在/etc/modules.conf加入下列語(yǔ)句: 
post-install snd-card-sb16 amixer -c 0 sset ‘Master‘,0 100%,100% unmute && amixer -c 0 sset ‘PCM ‘,0 100% unmute 
在成功插入了alsa聲卡模塊之后,系統會(huì )出現/proc/asound目錄,這個(gè)目錄描述了聲卡的工作情況,以及創(chuàng )建的設備文件。 

在您加載snd-pcm-oss設備模塊之后,你也能使用與oss兼容的方式存取聲卡,這時(shí)如下的映射會(huì )被完成: ALSA設備 OSS設備 次設備號 
/dev/snd/pcmC0D0 /dev/audio0(/dev/audio) 4 
/dev/snd/pcmC0D0 /dev/dsp0(/dev/dsp) 3 
/dev/snd/pcmC0D1 /dev/adsp(/dev/adsp) 12 
/dev/snd/pcmC1D0 /dev/audio1 20 
/dev/snd/pcmC1D0 /dev/dsp1 19 
/dev/snd/pcmC1D1 /dev/adsp1 28 
/dev/snd/pcmC2D0 /dev/audio2 36 
/dev/snd/pcmC2D0 /dev/dsp2 35 
/dev/snd/pcmC2D1 /dev/adsp2 44 
表 5-3 

對于/dev/mixer設備,要加載snd-mixer-oss,可以保證和老的oss混音器的兼容性。如果您插入了上述設備之后,聲音系統仍無(wú)法正常工作,您可以運行snddevices命令,建立正確的設備文件。 

由于為使ALSA正常工作,需要設置大量的設備別名,下面就給出一個(gè)/etc/modules.conf的例子,它能夠完成ESS Solo1聲卡的自動(dòng)配置工作。其他的ALSA設備的設置也基本與此聲卡相同。 

# 設置ALSA設備的主設備號,它固定為116 
alias char-major-116 snd 

# 設置OSS設備的主設備號,它固定為14,這使得ALSA復用OSS設備 
alias char-major-14 soundcore 

# ALSA設備別名 
alias sound-card-0 snd-card-es1938 

# OSS設備別名 
alias sound-slot-0 sound-card-0 

# 安裝不同的聲卡服務(wù) 
alias sound-service-0-0 snd-mixer-oss 
alias sound-service-0-1 snd-seq-oss 
alias sound-service-0-3 snd-pcm-oss 
alias sound-service-0-8 snd-seq-oss 
alias snd-minor-oss-12 snd-pcm-oss 

# 運行amixer命令,打開(kāi)聲音輸出 
post-install snd-card-es1938 amixer -c 0 sset ‘Master‘,0 100%,100% unmute && amixer -c 0 sset ‘PCM ‘,0 100% unmute 

(待續) 

作者簡(jiǎn)介 
于辰濤,聯(lián)想(北京)電腦公司軟件工程師。目前主要從事Linux系統安裝程序的開(kāi)發(fā)工作,主要研究興趣是操作系統的工作機制和開(kāi)發(fā)底層系統程序。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
關(guān)于A(yíng)LSA的一點(diǎn)總結
Android音頻系統之音頻框架
Linux Audio ALSA Technical specification(Linu...
第十四章 Linux模塊與設備管理
電腦選購詳解
Linux下的硬件驅動(dòng)——USB設備(上)(驅動(dòng)配置部分)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久