如何在Linux下实现设备的配置(上).pdf

上传人:小** 文档编号:3727325 上传时间:2020-10-20 格式:PDF 页数:9 大小:147.57KB
返回 下载 相关 举报
如何在Linux下实现设备的配置(上).pdf_第1页
第1页 / 共9页
如何在Linux下实现设备的配置(上).pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《如何在Linux下实现设备的配置(上).pdf》由会员分享,可在线阅读,更多相关《如何在Linux下实现设备的配置(上).pdf(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 如何在Linux下实现设备的配置(上) 级别: 初级 于辰涛, 软件工程师, 联想(北京)电脑公司 2001 年 8 月 01 日 本文是 如何在Linux下实现硬件的自动检测的姊妹篇。将为您介绍在进行了设备检测,通 数等信息后,如何对于几种最常见的设备进行配置、生成正确的配置脚本,以使设备正常工作 Linux下设备的配置过程是指在检测到设备类型、设备当前工作参数等信息之后,使用这些信息来配置 如何在Linux下实现硬件的自动检测)。要完成这样的任务,需要做两方面的工作: 其一是需要一个详尽的设备信息文件,这个文件描述了设备标识、与设备标识对应的设备驱动程序、 配置方法描述、设备对应的别名、

2、设备的主设备号等信息。 现在的Linux内核中使用kmod来完成设备模块的自动加载,它的一般工作机制是:在第一次引用设备 模块。为了使这种机制正常工作,您首先需要使用depmod - a建立表述模块之间依赖关系的文件modules.dep (关于/etc/modules.conf的详细介绍参见本文 附录A),如果还需要设置设备对应的参数。举例来说 别名是eth0,则在文件/etc/modules.conf中加入别名alias eth0 ne2k- pci,就设置了ne2000兼容的PCI 网卡驱动程序ne2k- pci。 其二是需要根据设备的类型,以及安装的Linux系统版本(不同的Linux

3、发行版对于同一设备的配置脚 配置键盘配置键盘 1.1 配置键盘的设备模块配置键盘的设备模块 对于我们常见的键盘一般有三种类型,其一为老式的五针键盘,其二为ps/2键盘,其三是usb鼠标。对 设备模块打包入内核,所以无需进行附加的模块插入操作,键盘就能够正常工作。而对于usb类型的 块。 对于usb类型的键盘,您若是要通过手动加载模块的方式使其工作,必须首先插入usb桥接器模块,然后 样usb键盘才能够正常工作。此时,运行的系统命令: 对于2.2.x系列的内核若要内核的kmod在需要时自动加载则必须在/etc/modules.conf文件中设置别名usb 接器的类型为UHCI时,在/etc/mo

4、dules.conf中加入设备别名: alias usb-interface usb-uhci 对于2.4.x系列的内核,此设备别名则变为: alias usb-controller usb-uhci 在设置了此别名之后,系统启动时会自动进行usb设备检测。当检测过程发现连结的设备是系统支持的 1.2 键盘配置文件键盘配置文件 键盘的配置文件/etc/sysconfig/keyboard,它的内容很简单,可选配置项为KEYTABLE(随着发行版本的不同 要的)。例如,当设置KEYTABLE = us时,表示系统使用美式键盘。 然后,为了正确的使用键盘上的功能键,您还需要调用命令dumpkeys

5、生成文件/etc/sysconfig/console/default.kmap /usr/bin/dumpkeys /etc/sysconfig/console/default.kmap 这个文件描述了键盘的键盘扫描码和加入键盘修饰之后的键盘的相应的键盘扫描码。 同样,为了键盘能在X系统环境下正常工作,您可能也需要在X系统下对键盘进行设置,这时您就必须 /usr/X11R6/bin/xmodmap /usr/share/xmodmap/xmodmap.fr 设置您的X系统下的键盘为法语键盘。 /sbin/modprobe usbkbd /sbin/modprobe keybdev 页码,1/9

6、如何在Linux下实现设备的配置(上) 2006-8-22 PDF 文件使用 pdfFactory Pro 试用版本创建 在正确的配置了/etc/sysconfig/keyboard文件之后,X系统的配置程序会根据此文件的信息配置X中关 存在时,X系统是无法启动和配置的。 配置鼠标配置鼠标 2.1 鼠标的基本信息鼠标的基本信息 Linux支持四种不同的总线鼠标硬件接口:Inport(Microsoft),Logitech,PS/2和ATI- XL。2.4内核也支持 lInport mice Inport mice包含大多数旧类型的微软鼠标。Inport mice通常连接到主板的接口卡上。假如鼠

7、标线连 lLogitech mice lPS/2 mice lATI combo video/mice lIBM PC110 palmtop digitizer lApple Desktop Mouse lHybrid Mice 对于鼠标协议,大多数总线鼠标使用BusMouse协议,一些古老的Logitech鼠标使用MouseSystems协议 总是使用PS/2协议。 不同类型的鼠标对应的设备文件: 表表2- 1 创建对应设备的命令: 在创建了鼠标对应的设备文件之后,因为现在很多程序都使用/dev/mouse作为缺省的鼠标设备文件, 接/dev/mouse指向真实的鼠标设备文件。例如,对于ps

8、/2鼠标,/dev/mouse指向/dev/psaux,对于usb 标/dev/mouse指向/dev/ttyS0。对于不同的linux发行版本,这些文件可能有所不同,上述介绍主要是基于 对于现在最常见的三种鼠标:串口鼠标、PS/2鼠标和USB鼠标而言,由于对PS/2鼠标支持一般都打在 但对于其他的两种鼠标,插入模块的操作一般是必须的。对于串口鼠标而言,您必须先插入模块serial.o 成功的插入模块之后,如果串口鼠标支持 即插即用的串口协议,您可以从串口(/dev/ttyS*)读到鼠 于USB鼠标,为了使其正常工作,您必须先插入模块usbmouse.o和mousedev.o 接口类型设备主设

9、备 Logitech/dev/logibm10 PS/2/dev/psaux10 Inport/dev/inportbm10 ATI- XL/dev/atibm10 USB mouse/dev/input/mice13 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 /sbin/modprobe serial 页码,2/9如何在Linux下实现设备的配置(上) 2006-8-22 PD

10、F 文件使用 pdfFactory Pro 试用版本创建 同样,为了使鼠标驱动程序能够自动加载,您也需要在/etc/modules.conf文件中创建usb- interface( 2.2 鼠标配置文件鼠标配置文件 正确配置鼠标必须生成配置文件/etc/sysconfig/mouse,它包括下列选项:MOUSETYPE、XMOUSETYPE 件也是X配置文件中鼠标配置节的基础。如果没有这个文件,很多X配置程序将无法工作。 MOUSETYPE= 配置鼠标的类型,包括ps/2、Busmouse、imps2、netmouse、Microsoft、Logitech、MouseMan、MMHitTab

11、MMSeries等。 XMOUSETYPE= X系统下配置的鼠标的类型,包括MouseMan、IntelliMouse、MMSeries、MMHittab、Logitech、MouseMan 等。 FULLNAME= 描述鼠标设备的全名。例如,对于普通PS/2鼠标,其全名为PS/2|Standard。 XEMU3= 是否仿真三键鼠标,可选参数为yes或no。 DEVICE= 描述鼠标对应的设备文件。例如。对于普通PS/2鼠标,设备文件为psaux。 2.3 鼠标的配置技巧鼠标的配置技巧 通过gpm能在命令行方式下使用鼠标。这样在控制台方式下,就可以使用鼠标进行剪贴等操作了。例如 gpm -t

12、ps/2 -m /dev/psaux 如果不指定- m选项,那么系统会去查找文件/dev/mouse。 鼠标移动不规则可能是因为对鼠标设置了错误的协议。如新的Logitech鼠标不使用Logitech协议,而用微 您可能首先需要尝试更换一下MouseType(XMouseType)指定的值。 在X系统下,您如果需要更换鼠标的左、右键,那么可以执行xmodmap - e pointer = 3 2 1。 网卡配置过程网卡配置过程 3.1 配置网卡的设备模块配置网卡的设备模块 按照总线类型来分,现在的以太网卡主要有PCI网卡、ISA网卡和PCMCIA网卡。为使这些网卡正常工作 传递给驱动程序的设备

13、参数。这样内核在需要使用驱动程序时,会由内核服务kmod使用系统命令modprobe 在配置网卡时,如果此网卡能够自动检测,那么您只需要通过设备标识,在设备描述信息文件中查得 这种方法对于普通isa总线的ne2000兼容网卡就不适合了,因为它们在设计时一般不满足isapnp规范, 使用ne作为设备驱动程序,但是为使其正常工作还须指定io地址和占用的irq。 例如,对于ne2000兼容的isa网卡,比如DE220X,它们的驱动程序为ne。此时要使这种网卡正常工作 一般而言,对于这种网卡,只有指定了正确的I/O地址空间,网卡才能正常工作。这个地址是和此网卡 0 x300上不能找到网卡,那么您可以试

14、试0 x240等其他地址。 3.2 网卡配置文件网卡配置文件 /sbin/modprobe usbmouse /sbin/modprobe mousedev alias eth0 ne options ne io=0 x300 irq=5 页码,3/9如何在Linux下实现设备的配置(上) 2006-8-22 PDF 文件使用 pdfFactory Pro 试用版本创建 要正确的配置网卡必须生成如下脚本文件,/etc/sysconfig/network,/etc/sysconfig/network- scripts/ifcfg ifcfg- eth2以此类推)和/etc/hosts。若您还需要

15、配置域名解析服务,那么还要生成文件/etc/resolv.conf 对于/etc/sysconfig/network脚本文件,最常用的可设置项包括NETWORKING,FORWARD_IPV4, GATEWAYDEV。注意:在没有配置网卡时,也要设置此文件,以使得本机的回环设备(lo)能够正常工作 NETWORKING= 表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将 FORWARD_IPV4= 表示是否支持ipv4的自动转发。一般在只有一块网卡时,设置此项为false。 HOSTNAME= 设置本机的主机名,这里设置的主机名要和/etc/host

16、s中设置的主机名对应。 DOMAINNAME= 设置本机的域名。 GATEWAY= 设置本机连接的网关的IP地址。例如,网关为10.0.0.2 GATEWAYDEV= 与此网关进行通讯时,所使用的网卡设备别名。例如,当使用了一块网卡,并连接了网关时,此时的 缺省没有网卡时的设置为: /etc/sysconfig/network- scripts/ifcfg- *,描述网络接口的信息。每个不同的网络接口对应不同的文件。 息。常见的配置选项包括DEVICE、BOOTPROTO、IPADDR、NETMASK、NETWORK、BROADCAST DEVICE= 描述网卡对应的设备别名,例如ifcfg-

17、 eth0的文件中它为eth0。 BOOTPROTO= 设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的ip地址,通过 IPADDR= 如果设置网卡获得ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址。 NETMASK= 网卡对应的网络掩码。 NETWORK= 网卡对应的网络地址。 BROADCAST= 对应的子网广播地址。 ONBOOT= 系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备。 /etc/resolv.conf,系统生成这个文件进行域名解析。否则,安装过程的反向名查询无法工作。可能出 searchdomai

18、nName指定的域名 nameserverdnsServer 域名服务器,可以指定多个。 /etc/hosts,将主机名列表加入此文件。 NETWORKING=yes FORWARD_IPV4=false HOSTNAME=localhost.localdomain DOMAINNAME=localdomain 页码,4/9如何在Linux下实现设备的配置(上) 2006-8-22 PDF 文件使用 pdfFactory Pro 试用版本创建 Modem配置过程配置过程 对于Modem的配置过程而言,我们现在一般使用kppp进行拨号,使用这个程序整个拨号过程将变得非常 拨号过程了。本文仅介绍一

19、下如何设置基本的设备驱动模块和底层设备文件的配置。在配置这些文件之后 4.1 外置外置Modem 在配置外置Modem时,因为大部分的Modem都是通过串口连接到计算机上的,所以在配置Modem之前 讯模块之后,这时只要将设备/dev/modem连接到相应的串口设备上就可以了。例如,在/dev/ttyS0( 接: ln -sf /dev/ttyS0 /dev/modem 在这之后,外置的串口modem就可以正常工作了。您可以通过使用minicom向串口发送AT命令,来检测 表表 4- 1 例如,对于一款联想射雕外置式Modem,在启动minicom之后,输入ATI9的返回值为: (1.0AKY

20、1010ModemAKY101056K DATA FAX VOICE MODEM)FF 4.2 内置的内置的Linmodem Linmodem是winmodem的Linux实现。关于Linmodem的进一步信息您可以访问www.linmodems.org 检测过程,获得设备设备描述信息。在获得描述信息之后,您可以比较一下您的Modem是否属于下面列出的 lConexant/Rockwell HSF 它的驱动程序在 lAmbient Technology (formerly Cirrus Logic) 驱动程序在 http:/linmodems.org/CLModem- 0.3.0.tar.gz

21、。 lLucent LT http:/linmodems.org/linux568.zip lPCTel PCI、AMR和Zoltrix Phantom类型的二进制驱动程序: lESS ES56T- PI (PCI) and ES56V- I (ISA)的二进制驱动程序: ISA: ftp:/ i/linux/kernel61/linux111.zip。 PCI: ftp:/ pi/linux/Kernel61/111.zip。 l3Com Mini- PCI AT命令命令 命令描述命令描述 ATDT(ATDP)使用语音(脉冲)进行拨号 ATZ复位调制解调器 ATH挂起电话 ATI0返回调制解

22、调器的状态 ATI1执行ROM校验和检查并返回值 ATI2验证ROM校验,返回OK或ERROR ATI3返回ROM部件的软件版本号。 ATI4查询调制解调器的状态信息,包括波特率、奇偶校验位长度,字长度、拨号方式 ATI5查询调制解调器的ram中的状态信息。 ATI6查询调制解调器的链路状态信息,包括已传送(接收、丢失)的字符数、传送的 ATI7获得配置的序言文件,此文件描述的信息包括:modem支持的通讯协议,Fax版本 ATI8获得连接时间 ATI9获得调制解调器的描述名称 页码,5/9如何在Linux下实现设备的配置(上) 2006-8-22 PDF 文件使用 pdfFactory Pr

23、o 试用版本创建 无可用驱动程序。 Linmodem为了在某种程度上和外置调制解调器的编程接口一致,所以一般都要生成一个仿真的串口 mknod。 lLucent LT: mknod /dev/ttyS14 c 62 78 lPCTel: mknod /dev/ttyS15 c 62 79 lEsscom: mknod /dev/esscom c 127 1。esscom用户希望连接/dev/ttyS14到/dev/esscom,以使得仅识别 chgrp uucp /dev/ttyS14 chmod 666 /dev/ttyS14 可允许非根用户使用此服务拨号。 ln - s /dev/devi

24、cefile /dev/modem 您也可以使用setserial,修改串口配置,比如设置串口的波特率,同样也可以设置/etc/serial.conf setserial - agv /dev/ttyS* 声卡配置过程声卡配置过程 5.1 内核声卡驱动程序的配置内核声卡驱动程序的配置 现在正在使用的声卡主要有PCI和ISA两种。在Linux系统下,对这两种类型声卡的配置过程实际上是生成配置文件 卡设备驱动程序的对应关系。在正确的设置驱动模块之后,使用混音器程序设置声卡的输出音量。 若您的声卡是ISA PnP类型的,那么如果这块声卡在dos(windows)系统下也工作良好,那么您可以先 言,在

25、Linux系统下应该使用和DOS下一样的参数。 如果您不知道它的工作参数,您可以通过/proc/isapnp获得声卡的配置空间,它包括dma、ioport和irq 查/proc/interrupts,/proc/ioports和/proc/dma文件获知系统中空闲的irq、ioports和dma等信息,由此 在2.4.x内核中,实现了ISA PnP支持,同时一部分声卡驱动程序现在也支持无需使用isapnp工具完成自 看内核文档/usr/src/linux/Documentation/sound/中的文件。 对于PCI声卡而言,它们的驱动程序包含了自动检测过程,所以您只需要插入正确的驱动模块,声

26、卡 在声卡模块被第一次引用时,内核会要求加载相应的驱动模块。与声卡模块对应的设备别名是sound 在/etc/modules.conf中加入: alias sound-slot-0 esssolo1 就配置了ESS Solo- 1声卡。这条语句表示在需要声卡时,自动加载模块esssolo1。 有时加载了sound- slot- 0对应的设备模块之后,并不能使声卡的所有功能生效。这时设备就会请求访问 表表 5- 1 这时就要求您设置正确的声卡服务模块别名,这样声卡才能够正常工作。声卡对应的设备文件: 表表 5- 2 编号对应的设备 0混音器(Mixer) 2MIDI 3,4DSP 设备文件名设备

27、文件名 设备描述设备描述 页码,6/9如何在Linux下实现设备的配置(上) 2006-8-22 PDF 文件使用 pdfFactory Pro 试用版本创建 pc扬声器提供下列设备: 您可以直接将声音文件送入对应的设备,比如,将.au声音文件通过将其送入/dev/audio中播放,原始采 但是这样做一般效果较差,播放时应采用play命令。对于wavplay和vplay(snd- util包)会以最好的效果播放 文件。若手动设置争取正确的参数之后,splay用于播放大多数声音文件。 读/dev/audio和/dev/dsp返回的采样数据可以重定向到一个文件。vrec可以使这个过程更容易。可能需

28、要一 5.2 ALSA声卡驱动程序的配置声卡驱动程序的配置 对于声卡驱动程序,除了内核自带的驱动程序之外,您还可以使用Advanced Linux Sound Architecture 序。它支持一系列主流声卡,同时它和内核的声音结构互相兼容,在某种程度上,可以说是内核的声 ALSA的声卡驱动程序的一般命名规则是snd- card- 。soundcard代表不同类型的声卡。例如 程序模块为snd- card- sb16。 若与需要linux内核声音驱动的向后兼容性,您还需要两个模块snd- pcm- oss和snd- mixer- oss。对于amixer 如CD通道的设置是针对CD播放器的。

29、而很多应用程序,如象mpg123,xmms,realplayer,都要依 于不同的使用能提供特别的增益。 缺省情况下ALSA静音所有的输出。为了获得声音,必须解除主音量和PCM音量的静音。 /dev/audio正常连接到/dev/audio0 /dev/audio0sun工作站兼容的声音设备(仅部分实现,不支持sun ioctl接口,仅支持 /dev/audio1第二个声音设备(安装多个声卡时使用) /dev/dsp正常连接到/dev/dsp0 /dev/dsp0第一个数字采样设备 /dev/dsp1第二个数字采样设备 /dev/mixer正常连接到/dev/mixer0 /dev/mixer

30、0第一个声音混音器 /dev/mixer1第二个声音混音器 /dev/music高级序列化接口 /dev/sequencer底层MIDI,FM和GUS存取 /dev/sequencer2正常连接到/dev/music /dev/midi00第一个原MIDI端口 /dev/midi01第二个原MIDI端口 /dev/midi02第三个原MIDI端口 /dev/midi03第四个原MIDI端口 /dev/sndstat显示声音驱动程序的状态 /dev/pcaudio 等价于/dev/audio /dev/pcsp 等价于/dev/dsp /dev/pcmixer 等价于/dev/mixer cat

31、 sample.su /dev/audio 页码,7/9如何在Linux下实现设备的配置(上) 2006-8-22 PDF 文件使用 pdfFactory Pro 试用版本创建 选项包括mute,unmute,capture,nocapture,rec,norec,数字或left:right。amixer不带参数运行 为了在每次插入声卡驱动模块时,都打开静音,您可以在/etc/modules.conf加入下列语句: 在成功插入了alsa声卡模块之后,系统会出现/proc/asound目录,这个目录描述了声卡的工作情况, 在您加载snd- pcm- oss设备模块之后,你也能使用与oss兼容的方

32、式存取声卡,这时如下的映射会被完成 表表 5- 3 对于/dev/mixer设备,要加载snd- mixer- oss,可以保证和老的oss混音器的兼容性。如果您插入了上述 snddevices命令,建立正确的设备文件。 由于为使ALSA正常工作,需要设置大量的设备别名,下面就给出一个/etc/modules.conf的例子,它能 备的设置也基本与此声卡相同。 # 设置ALSA设备的主设备号,它固定为116 # 设置OSS设备的主设备号,它固定为14,这使得ALSA复用OSS设备 # ALSA设备别名 # OSS设备别名 # 安装不同的声卡服务 amixer -c 0 sset Master,

33、0 100%,100% unmute amixer -c 0 sset PCM ,0 100% unmute post-install snd-card-sb16 amixer -c 0 sset Master,0 100%,100% unmute & amixer ALSA设备设备 OSS设备设备 /dev/snd/pcmC0D0/dev/audio0(/dev/audio) /dev/snd/pcmC0D0/dev/dsp0(/dev/dsp) /dev/snd/pcmC0D1/dev/adsp(/dev/adsp) /dev/snd/pcmC1D0/dev/audio1 /dev/snd

34、/pcmC1D0/dev/dsp1 /dev/snd/pcmC1D1/dev/adsp1 /dev/snd/pcmC2D0/dev/audio2 /dev/snd/pcmC2D0/dev/dsp2 /dev/snd/pcmC2D1/dev/adsp2 alias char-major-116 snd alias char-major-14 soundcore alias sound-card-0 snd-card-es1938 alias sound-slot-0 sound-card-0 页码,8/9如何在Linux下实现设备的配置(上) 2006-8-22 PDF 文件使用 pdfFact

35、ory Pro 试用版本创建 其他公司、产品或服务的名称可能是其他公司的商标或服务标志。 # 运行amixer命令,打开声音输出 ( 待待续续) 关于作者关于作者 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 post-install snd-card-es1938 amixer -c 0 sset Master,0 100%,100% unmute & amixer 于辰涛,联想(北京)电脑公司软件工程师。目前主要从事Linux系统安装程序的开发工作,主要研 以通过电子邮件 scu_ 跟他联系。 页码,9/9如何在Linux下实现设备的配置(上) 2006-8-22 PDF 文件使用 pdfFactory Pro 试用版本创建

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com