如何在LINUX下实现硬件的自动检测

合集下载

Ubuntulinux驱动安装及3D桌面启用

Ubuntulinux驱动安装及3D桌面启用

系统需求∙硬件及软件环境需求启用3D桌面的硬件,显卡推荐使用Nvidia及ATI主流独立显卡,对于Intel显卡、集成显卡、老旧显卡、以及最后刚新推出市场的新显卡,可能不适于使用本文的“最简便的驱动安装方法(经测试,Intel G965集成显卡3100在Ubuntu 8.04上会自动安装好显卡驱动,可以安装启用Compiz 3D桌面效果)”,如果Ubuntu系统自带的"非受限驱动"安装不成功,请另行查找解决方案。

CPU和内存自然是越高配置越好。

本文已在Ubuntu 8.04和8.10上测试通过,适用于i386,amd64及DVD版本∙网络环境本文涉及到的软件需要系统联入互联网下载安装,请确保系统已联入网络∙涉及到的软件清单envyng-gtkcompizconfig-settings-manageremeraldfusion-iconRecordMyDesktop。

操作步骤1.安装envyng辅助工具[Ubuntu 10.04及以后版本不支持]让envyng这个傻瓜软件帮助你吧!用envyng安装驱动有个好处就是,有些需要卸载的冲突软件包它会自动帮你卸载,有些3D桌面需要安装的支持软件包它会自动帮你安装。

例如,Nvidia的glx相关软件包等。

这些软件之间的关联比较复杂,如果采用手工安装的方法很麻烦且容易出错。

首先,确保已经能连上网了,图形界面下,点击任务栏“系统”-“系统管理”-“软件源” 在弹出的窗口中“下载自”的下拉菜单里,把默认的“中国的服务器”改选为“主服务器”。

点击“关闭”然后会自动更新一些文件。

然后,点击任务栏“系统”-“系统管理”-“新立得软件包管理器” 在菜单栏里点击“编辑”-“搜索”-输入envyng-gtk并勾选它,会提示安装envyng-core,勾选后点击“应用”即可自动下载安装(如果你的Ubuntu安装有KDE,还可以下载envyng-qt安装)。

linux pnp描述

linux pnp描述

linux pnp描述Linux PnP (Plug-and-Play) 是一种操作系统级别的技术,它使得计算机能够自动识别和配置设备,例如硬盘、显卡、网卡等。

Linux PnP 的主要目标是使计算机硬件更易于使用和管理,从而减少用户的麻烦。

Linux PnP 通常通过以下几种方式实现:1.设备驱动程序:Linux 内核包含了许多设备驱动程序,这些程序能够识别和配置各种硬件设备。

当设备插入系统时,驱动程序会自动加载并配置设备。

2.设备文件:Linux 系统使用设备文件来表示硬件设备。

这些设备文件通常位于 /dev 目录下,并且可以使用 mknod 命令创建。

当设备插入系统时,Linux 内核会自动创建相应的设备文件。

3.sysfs:sysfs 是一个虚拟文件系统,它提供了内核对象和用户空间程序之间的接口。

通过 sysfs,用户空间程序可以读取和修改内核对象的状态。

Linux PnP 使用 sysfs 来管理和配置设备。

4.udev:udev 是一个动态设备管理工具,它可以管理设备节点和设备规则。

udev 能够自动创建和管理设备文件,并可以根据设备的属性自动分配设备的名称和权限。

Linux PnP 的优点包括:1.易于使用:Linux PnP 使得硬件设备的配置和管理变得更加简单和直观。

用户不再需要手动配置硬件设备的参数,系统会自动识别并配置设备。

2.提高稳定性:Linux PnP 可以自动检测和修复硬件设备的错误,从而提高系统的稳定性。

3.支持多种设备:Linux PnP 支持多种硬件设备,包括许多非标准的硬件设备。

这使得 Linux 系统更加灵活和通用。

4.减少维护成本:Linux PnP 可以减少系统管理员的维护成本,因为系统可以自动管理硬件设备的配置和状态。

linux udev 磁盘盘符 uuid规则

linux udev 磁盘盘符 uuid规则

linux udev 磁盘盘符uuid规则Linux操作系统中的udev是一个用于自动设备管理的子系统。

在Linux 中,磁盘是通过盘符来识别和访问的,而uuid是一个用于唯一标识磁盘的字符串。

本文将逐步介绍Linux udev子系统中如何设置磁盘盘符和uuid规则。

1. udev简介udev(User Device)是Linux操作系统中的一个设备管理子系统,它负责自动检测和识别系统中所有的硬件设备。

udev可以根据设备的属性和规则,动态地创建设备文件,以便用户和应用程序可以方便地访问和使用硬件设备。

在本文中,我们将重点关注udev在磁盘设备管理方面的应用。

2. 磁盘盘符在Linux系统中,磁盘设备的访问和识别是通过盘符来实现的。

常见的磁盘盘符包括/dev/sda、/dev/sdb等。

通常,系统会按照插入顺序给磁盘分配盘符。

例如,第一个插入的磁盘设备可能被分配为/dev/sda,第二个插入的磁盘设备可能被分配为/dev/sdb,以此类推。

然而,磁盘设备的插拔、固件更新等操作会导致磁盘设备的盘符发生变化,这给使用者和应用程序带来了不便。

因此,我们可以使用udev规则来设置磁盘设备的盘符,以便在设备插拔或固件更新后保持一致。

3. uuid规则实际上,使用磁盘的盘符来识别和访问设备有一定的局限性。

当磁盘设备的插拔或者系统重启时,盘符可能会发生变化,从而导致出现错误。

这给系统管理员和应用程序带来了一些麻烦。

为了解决这个问题,Linux系统引入了uuid(Universally Unique Identifier)的概念,用于唯一标识磁盘设备。

uuid是一个字符串,通常由一串字符和数字组成,它的长度为32个字符。

uuid是在磁盘分区时自动生成的,并且在设备插拔和系统重启后保持不变。

通过使用uuid作为磁盘设备的唯一标识,我们可以避免使用盘符来识别设备的局限性,以及磁盘插拔和系统重启时的错误。

4. 设置磁盘盘符和uuid规则为了设置磁盘设备的盘符和uuid规则,我们需要编辑udev的规则文件。

Linux系统进程监控脚本使用Shell脚本监控系统进程并自动重启

Linux系统进程监控脚本使用Shell脚本监控系统进程并自动重启

Linux系统进程监控脚本使用Shell脚本监控系统进程并自动重启Shell脚本作为一种自动化脚本语言,可在Linux系统中编写和执行各种任务。

其中,一项重要的任务是监控系统进程并在必要时自动重启。

本文将介绍如何使用Shell脚本来实现Linux系统进程监控和自动重启的功能。

一、编写监控脚本首先,我们需要编写一个监控脚本来监控系统中的进程。

以下是一个示例的监控脚本:```#!/bin/bashprocess_name="example_process" # 要监控的进程名称while truedoprocess_num=$(pgrep $process_name | wc -l) # 统计进程数量if [ $process_num -eq 0 ]; then # 如果进程数量为0echo "进程 $process_name 未运行,正在尝试重新启动..."# 重新启动进程的命令,例如:# /path/to/example_process &# 注意加上后台运行符号&fisleep 60 # 休眠60秒,避免频繁检测done```在上述脚本中,首先定义了要监控的进程名称为`example_process`,然后使用一个无限循环来检测进程是否在运行。

通过`pgrep`命令和`wc -l`命令可以统计指定进程名称的进程数量。

如果进程数量为0,则输出提示信息,并执行重启进程的操作(根据实际情况自行修改重启命令)。

最后,使用`sleep`命令休眠60秒,以避免频繁检测。

二、保存并设置执行权限将上述脚本保存为一个以`.sh`为后缀的文件,例如`monitor_process.sh`。

然后,通过命令`chmod +x monitor_process.sh`为脚本文件添加执行权限。

三、设定定时任务为了让监控脚本能够定期执行,我们可以使用Linux系统中的定时任务功能。

PowerEdge Diagnostics 使用指南——Linux版

PowerEdge Diagnostics 使用指南——Linux版

DELL PowerEdge Diagnostics 是一款简单实用、基于操作系统的硬件诊断工具!通过它,您可以很清楚的了解DELL系统的硬件健康状况,更有效的判断和定位硬件问题。

该工具是一款安全、免费的软件,您可以从DELL公司的网站上下载它。

------------------------------------------------------2.15版本下载地址------适用于Novell SuSE Linux ES 11Red Hat Red Hat Enterprise Linux 4.7Red Hat Red Hat Enterprise Linux 5Novell SuSE Linux ES 10 SP2 x86_646G/7G/8G/9G/10/11G/diags/dell-onlinediags-linux-2.15.0.169.tar.gz注意:安装的默认目录与后面文档中有所改变为:"/opt/dell/onlinediags".------------------------------------------------------2.14版本下载地址------适用于Novell SuSE Linux ES 11Red Hat Red Hat Enterprise Linux 4.7Red Hat Red Hat Enterprise Linux 5.2Red Hat Red Hat Enterprise Linux 5Novell SuSE Linux ES 10 SP2 x86_646G/7G/8G/9G/10/11G/diags/dell-onlinediags-linux-2.14.0.121.tar.gz注意:安装的默认目录与后面文档中有所改变为:"/opt/dell/onlinediags".-------------------------------------------------------2.8版本的下载地址-----适用于Red Hat Enterprise 4 或 5 :/diags/dell-pediags-linux-2.8.0.398-A01.tar.gz2.7版本的下载地址 ----适用于Red Hat Enterprise 3:/diags/dell-pediags-linux-2.7.0.193-A01.tar.gz注:以上两个版本,均支持SUSE 9或10. 如果您的操作系统是RedHat Enterprise 3,请下载2.7版本1-1、支持的硬件系统:DELL PowerEdge Diagnostics是专门针对DELL企业级产品使的,所以您可以将它安装并使用在DELL 公司的如下服务器产品上:SC420, SC430, SC1420, SC1425, SC1430, SC1435, SC440, 600SC, 1600SC,650, 1650, 1655MC, 2600, 2650, 4600, 6600, 6650, 700, 750, 1750,800, 830, 840, 850, 860, 1800, 1850, 1855MC, 2800, 2850, 6800, 6850,1900, 1950, 1955, 2900, 2950, 6950, 2970注:如果您的服务器产品不在以上列表中,此工具可能无法被正常安装和使用。

linux-X11配置

linux-X11配置

配置 X11 需要几步。 第一步是以超级用户的身份建立初始的配置文件: # Xorg -configure 在使用 XFree86 的情况下键入: # XFree86 -configure 这会在 /root 中生成一个叫做 xorg.conf.new 的配置文件 (无论您使用 su(1) 或直接登录,都会改变默认的 $HOME 目录变量)。 对于 XFree86 来说, 配置文件的名字是 XF86Config.new。 X11 程序将尝试探测系统中的图形硬件并写包含检测到的硬件的配置文件,以便加载正确的驱动程序。 下一步是测试现存的配置文件, 以确认 Xorg 能够同系统上的图形设备正常工作。 要完成这个任务,只需: # Xorg -config xorg.conf.new XFree86 用户应: # XFree86 -xf86config XF86Config.new 如果用户看到一个黑灰的格子和一个 X 形的鼠标指针,那么配置就是成功的。要退出测试,只要同时键入 Ctrl+Alt+Backspace。 Note: 如果鼠标工作不正常, 则需要先配置它。
# cp xorg.conf.new /etc/X11/xorg.conf For XFree86: # cp XF86Config.new /etc/X11/XF86Config 现在已经完成了 X11 的配置全过程。 为了使用 startx(1) 来启动 XFree86 4.X 需要安装 x11/wrapper port。 Xorg 已经包含了 wrapper 代码, 因此并不需要安装 wrapper port。 X11 服务器也可以用 xdm(1) 来启动。 Note: 有一个图形配置工具, xorgcfg(1) (对于 XFree86 来说, 是 xf86cfg(1)), 随 X11 软件包一同安装。它可以通过选择合适的驱动和设置交互式地定义配置。 这个程序可以从控制台通过命令 xorgcfg -textmode 来直接启动。 与了解详情, 请参考 xorgcfg(1) 和 xf86cfg(1) 的联机手册。 另外还有一个叫做 xorgconfig(1) 的文本界面配置工具 (对于 XFree86 是 xf86config(1)),这是一个控制台工具因此对用户显得不太友好, 不过当其他工具无法工作时,它仍然可能可以使用。

如何在Linux终端中自动化任务

如何在Linux终端中自动化任务在Linux系统中,终端是我们进行各类操作和任务的重要工具。

通过在终端中编写脚本和命令,可以实现多种自动化任务,提高工作效率和准确性。

本文将介绍如何在Linux终端中进行任务的自动化处理。

一、Shell脚本简介Shell是一种解释执行的脚本语言,可用于编写自动化脚本。

Linux 终端中常用的Shell包括Bash、Korn、Cshell等。

Shell脚本可以批量执行命令、调用其他程序、控制程序的流程等。

二、创建Shell脚本1. 打开文本编辑器,创建一个新文件,文件名以.sh为后缀2. 添加脚本的开头,指定使用的Shell类型,比如#!/bin/bash3. 编写需要自动执行的命令和逻辑4. 保存脚本文件,并设置可执行权限,通过chmod +x filename.sh命令实现5. 在终端中执行脚本,通过./filename.sh来运行三、常见的自动化任务1. 定时任务定时任务是Linux系统中常见的自动化任务之一。

通过cron工具可以在预定时间执行特定的Shell脚本。

例如,要设置每天晚上10点执行一个脚本,可以使用命令crontab -e打开cron的配置文件,然后在末尾添加以下行:```0 22 * * * /path/to/script.sh```这样,每天晚上10点时,系统将自动执行该脚本。

2. 文件备份文件备份是保护重要数据的一种重要方式。

通过Shell脚本,可以定期自动备份指定的文件或目录。

例如,要每周一自动备份/home/user目录下的所有文件,可以创建如下脚本:```#!/bin/bashtar -czvf backup.tar.gz /home/user```然后,通过定时任务将该脚本设定为每周一执行一次。

3. 系统监控利用Shell脚本可以实现对系统资源的监控,例如CPU、内存、磁盘使用情况等。

例如,以下脚本用于检测当前系统的CPU使用率:```shell#!/bin/bashcpu_usage=$(top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}')echo "Current CPU usage: $cpu_usage%"```通过将该脚本设置为定时任务,可以定期获取CPU使用率。

服务器安装方法步骤

服务器安装方法步骤服务器是一种用于存储、管理和提供数据和服务的计算机设备。

在搭建服务器的过程中,正确的安装方法是至关重要的。

本文将为您介绍服务器安装的详细步骤,以帮助您顺利完成搭建工作。

步骤1:选择合适的服务器硬件在开始安装服务器之前,您需要根据您的需求选择合适的服务器硬件。

服务器硬件的选择包括以下几个方面:•处理器:根据服务器的负载和性能需求选择适当的处理器。

常见的处理器品牌包括Intel和AMD,您可以根据您的预算和性能需求进行选择。

•内存:内存是服务器性能的关键因素之一。

根据您的应用程序和数据量的大小,选择足够的内存容量来保证服务器的正常运行。

•存储设备:选择适当的存储设备来存储和管理数据。

常见的存储设备包括硬盘驱动器(HDD)和固态驱动器(SSD)。

•网络适配器:服务器需要可靠的网络连接,选择支持高速网络连接的网络适配器。

步骤2:选择操作系统选择合适的操作系统是服务器安装的重要一步。

常见的服务器操作系统包括Linux、Windows Server和Unix。

根据您的需求和对特定操作系统的熟悉程度,选择适用于您的服务器的操作系统。

一般来说,Linux操作系统广泛用于服务器领域,因为它具有稳定性、灵活性和开源性的优势。

Windows Server则适用于需要与Windows环境无缝集成的应用程序。

步骤3:准备安装媒介在安装服务器之前,您需要准备好安装媒介。

这里有两种常见的安装媒介:•光盘/刻录盘:如果您选择了物理服务器,您可以将操作系统光盘或刻录盘插入服务器的光驱中。

然后,通过BIOS设置在服务器启动时从光盘/刻录盘启动。

•USB闪存驱动器:如果您选择了虚拟服务器或对物理服务器进行远程安装,您可以将操作系统镜像文件写入USB闪存驱动器,然后通过BIOS设置在服务器启动时从USB启动。

步骤4:配置BIOS设置在安装服务器之前,您需要进入BIOS设置界面,进行必要的配置。

以下是一些常见的BIOS设置:•引导顺序:确保服务器从正确的安装媒介(光盘或USB闪存驱动器)启动。

【Linux操作系统】第5章--设备管理


对于SCSI硬盘,执行的命令如下:
[root@redflag /root]#mount –t vfat /dev/sda4 /mnt/windows
使用“-t vfat”选项,是因为Windows 下文件系统是FAT 32格式的。
【说明】 我们可以通过修改/etc/fstab 文件,使得系统每次启动时自动加载。 /etc/fstab文件的内容如下:
如何处理缓冲,字符设备是靠自己实现
缓冲,块设备通常以512字节或1024字节
(甚至更大)的组块进行通信,它们通过系
设备驱动程序和设备文件很详细地
标明了设备是字符设备还是块设备。要
识别一个设备的类型,只需要查看一下
设备文件中的权限位就可以了。如果权 限位中的第一个字符是b,则该设备就是 块设备;若是c,则说明它是字符设备。 如图5-1所示的是我们从/dev目录清单中 摘录的一段,用户可以由权限位的第一 个字符来判断设备是何种类型。
/dev/hda7
/
reiserfs

defaults,notail
1
1
/dev/hda5
/mnt/windows
vfat
defaults
0
0
/dev/cdrom /mnt/cdrom
iso9660
noauto,owner,ro
0
0
/dev/hda6
swap
swap
defaults
0
0
/dev/fd0 none none
指可以通过SMB网络来访问的连接于非
本地系统的打印队列。
④ NetWare Printer(NCP):指可以通
过NetWare网络来访问的连接于非本地系

Linux网络配置检测脚本使用Shell脚本实现对Linux系统网络配置的自动检测和修复

Linux网络配置检测脚本使用Shell脚本实现对Linux系统网络配置的自动检测和修复在Linux系统中,网络配置是非常重要的一项任务。

正确的网络配置可以保证系统与外部网络的正常通信,同时也可以提高系统的安全性和稳定性。

然而,对于初学者或者没有网络配置经验的用户来说,正确地进行网络配置可能是一项困难的任务。

为了简化这一过程,并提高网络配置的准确性和效率,我们可以使用Shell脚本来实现对Linux系统网络配置的自动检测和修复。

一、网络配置的重要性在现代计算机网络中,正确的网络配置是非常重要的。

一个良好的网络配置可以保证系统与外部网络的正常通信,提高网络传输性能,同时也可以增加系统的安全性和可靠性。

一个错误的网络配置可能导致网络问题,如无法访问外部网络、网络延迟等。

因此,确保正确的网络配置是保证系统正常运行的重要一环。

二、Shell脚本的介绍Shell脚本是一种用来编写命令行操作的脚本语言。

它由多条Shell 命令组成,可以执行各种系统操作。

在Linux系统中,我们可以使用Shell脚本来执行网络配置的自动化任务。

三、Linux网络配置检测脚本的设计为了实现对Linux系统网络配置的自动检测和修复,我们可以使用Shell脚本编写一个网络配置检测脚本。

该脚本可以检测系统的网络配置,并根据检测结果进行相应的修复。

下面是一个简单的网络配置检测脚本的设计示例:```shell#!/bin/bash# 检测网络配置function check_network_config {# 检测网络接口配置if [[ -z $(ip address show eth0 | grep 'inet ') ]]; thenecho "Network interface eth0 is not configured."elseecho "Network interface eth0 is configured."fi# 检测默认网关配置if [[ -z $(ip route show | grep default) ]]; thenecho "Default gateway is not configured."elseecho "Default gateway is configured."fi# 检测DNS服务器配置echo "DNS servers are not configured."elseecho "DNS servers are configured."fi}# 修复网络配置function fix_network_config {# 配置网络接口if [[ -z $(ip address show eth0 | grep 'inet ') ]]; then ip address add 192.168.1.100/24 dev eth0echo "Configured network interface eth0."fi# 配置默认网关if [[ -z $(ip route show | grep default) ]]; thenip route add default via 192.168.1.1echo "Configured default gateway."fi# 配置DNS服务器echo "nameserver 8.8.8.8" >> /etc/resolv.confecho "nameserver 8.8.4.4" >> /etc/resolv.confecho "Configured DNS servers."fi}# 主函数function main {check_network_configfix_network_config}# 执行主函数main```四、脚本的使用方法使用该网络配置检测脚本非常简单。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何在LINUX下实现硬件的自动检测用过Linux的人都知道在Linux上硬件的配置过程是非常繁杂的。

比如说,对于一块普通的pci网卡,您可能先要知道它的芯片类型,网卡生产厂商,然后猜出它对应的硬件驱动模块,然后再使用modprobe (insmod)插入这个模块,再然后还要生成一系列的配置脚本,最后才能使其正常工作。

这还只是一块网卡的配置过程,但是对于不胜枚举的其他硬件,如显卡、声卡、modem、isdn设备、usb设备、pcmcia设备,而它们的配置方法和生成的配置脚本都不尽相同,因此对于一个普通用户要想全部掌握这些配置过程是相当困难的。

硬件的自动检测是进行Linux下设备自动配置过程的前提。

本文的内容是先从硬件在Linux下的内核描述信息开始,着重介绍如何实现硬件的自动检测。

设备检测的一般介绍一般而言,在Linux下进行设备自动检测是根据设备的总线类型进行的。

现在的微机系统上最常见的总线类型有PCI、SERIAL、USB、PCMCIA、PARPORT、ISA、SCSI等。

对于检测过程,一般不是通过c语言的库函数直接对设备进行访问,并读取设备的信息,而是通过内核的/proc文件系统进行。

这种检测方式,充分利用了内核中关于硬件的多种检测函数,具有高效、稳定的特点,并且在内核版本升级之后,使程序的变化也为最小。

对于大多数现在流行的系统硬件,在插入适当的模块之后,内核会在/proc文件系统中生成相应的描述文件。

检测过程就是读取这样的文件,并将其信息进行相应的处理,从中提取出设备标识、设备描述、设备工作状态等信息。

由于涉及到对/proc文件系统的访问,并可能在检测过程开始时插入需要的设备模块,所以需要用户以root 用户方式执行下面所说的操作。

在检测过程结束的时候,用户一般能够得到设备的唯一标识(制造商标识和设备标识)和设备的当前的状态信息。

这时就需要一个设备数据库,这个数据库将设备的唯一标识和对应的设备驱动程序对应起来,然后由此生成/etc/modules.conf中的对应表项及其他配置脚本,完成整个的硬件配置过程。

PCI设备的自动检测2.1 PCI设备简介对于每个pci设备都由一个总线号、一个设备号和一个功能号确定。

PCI设备可以访问三类地址空间:PCI 的I/O空间、PCI的存储空间和PCI的配置空间。

前两者可由PCI总线上的所有设备共享。

PCI的配置空间由256个字节构成,其布局是标准化的。

下表显示的是配置空间中前64字节的每个配置寄存器的分布情况:Vendor ID Device IDCommand Reg Status RegRevision ID Class CodeCache Line Latency Timer Header Type BISTBase Address 0Base Address 1Base Address 2Base Address 3Base Address 4Base Address 5CardBus CIS pointerSubsystem Vendor ID Subsystem Device IDExpansion ROM Base AddReserved(PCI Capability List)ReservedIRQ Line IRQ Pin Min_Gnt Max_Latclass code设备的类型标识,类寄存器是16位的值。

它的高八位确定基类,如SCSI设备的分类码位0x0100。

Linux 系统的定义见<linux/pci.h>中的声明。

现在摘录如下:#define PCI_CLASS_NOT_DEFINED 0x0000#define PCI_CLASS_NOT_DEFINED_VGA 0x0001#define PCI_BASE_CLASS_STORAGE 0x01#define PCI_CLASS_STORAGE_SCSI 0x0100#define PCI_CLASS_STORAGE_IDE 0x0101#define PCI_CLASS_STORAGE_FLOPPY 0x0102#define PCI_CLASS_STORAGE_IPI 0x0103#define PCI_CLASS_STORAGE_RAID 0x0104#define PCI_CLASS_STORAGE_OTHER 0x0180#define PCI_BASE_CLASS_NETWORK 0x02#define PCI_CLASS_NETWORK_ETHERNET 0x0200#define PCI_CLASS_NETWORK_TOKEN_RING 0x0201#define PCI_CLASS_NETWORK_FDDI 0x0202#define PCI_CLASS_NETWORK_ATM 0x0203#define PCI_CLASS_NETWORK_OTHER 0x0280#define PCI_BASE_CLASS_DISPLAY 0x03#define PCI_CLASS_DISPLAY_VGA 0x0300#define PCI_CLASS_DISPLAY_XGA 0x0301#define PCI_CLASS_DISPLAY_OTHER 0x0380#define PCI_BASE_CLASS_MULTIMEDIA 0x04#define PCI_CLASS_MULTIMEDIA_VIDEO 0x0400#define PCI_CLASS_MULTIMEDIA_AUDIO 0x0401#define PCI_CLASS_MULTIMEDIA_OTHER 0x0480#define PCI_BASE_CLASS_MEMORY 0x05#define PCI_CLASS_MEMORY_RAM 0x0500#define PCI_CLASS_MEMORY_FLASH 0x0501#define PCI_CLASS_MEMORY_OTHER 0x0580#define PCI_BASE_CLASS_BRIDGE 0x06#define PCI_CLASS_BRIDGE_HOST 0x0600#define PCI_CLASS_BRIDGE_ISA 0x0601#define PCI_CLASS_BRIDGE_EISA 0x0602#define PCI_CLASS_BRIDGE_MC 0x0603#define PCI_CLASS_BRIDGE_PCI 0x0604#define PCI_CLASS_BRIDGE_PCMCIA 0x0605#define PCI_CLASS_BRIDGE_NUBUS 0x0606#define PCI_CLASS_BRIDGE_CARDBUS 0x0607#define PCI_CLASS_BRIDGE_OTHER 0x0680#define PCI_BASE_CLASS_COMMUNICATION 0x07#define PCI_CLASS_COMMUNICATION_SERIAL 0x0700 #define PCI_CLASS_COMMUNICATION_PARALLEL 0x0701 #define PCI_CLASS_COMMUNICATION_OTHER 0x0780#define PCI_BASE_CLASS_SYSTEM 0x08#define PCI_CLASS_SYSTEM_PIC 0x0800#define PCI_CLASS_SYSTEM_DMA 0x0801#define PCI_CLASS_SYSTEM_TIMER 0x0802#define PCI_CLASS_SYSTEM_RTC 0x0803#define PCI_CLASS_SYSTEM_OTHER 0x0880#define PCI_BASE_CLASS_INPUT 0x09#define PCI_CLASS_INPUT_KEYBOARD 0x0900#define PCI_CLASS_INPUT_PEN 0x0901#define PCI_CLASS_INPUT_MOUSE 0x0902#define PCI_CLASS_INPUT_OTHER 0x0980#define PCI_BASE_CLASS_DOCKING 0x0a#define PCI_CLASS_DOCKING_GENERIC 0x0a00#define PCI_CLASS_DOCKING_OTHER 0x0a01#define PCI_BASE_CLASS_PROCESSOR 0x0b#define PCI_CLASS_PROCESSOR_386 0x0b00#define PCI_CLASS_PROCESSOR_486 0x0b01#define PCI_CLASS_PROCESSOR_PENTIUM 0x0b02#define PCI_CLASS_PROCESSOR_ALPHA 0x0b10#define PCI_CLASS_PROCESSOR_POWERPC 0x0b20#define PCI_CLASS_PROCESSOR_CO 0x0b40#define PCI_BASE_CLASS_SERIAL 0x0c#define PCI_CLASS_SERIAL_FIREWIRE 0x0c00#define PCI_CLASS_SERIAL_ACCESS 0x0c01#define PCI_CLASS_SERIAL_SSA 0x0c02#define PCI_CLASS_SERIAL_USB 0x0c03#define PCI_CLASS_SERIAL_FIBER 0x0c04#define PCI_CLASS_SERIAL_SMBUS 0x0c05#define PCI_BASE_CLASS_INTELLIGENT 0x0e#define PCI_CLASS_INTELLIGENT_I2O 0x0e00#define PCI_CLASS_HOT_SWAP_CONTROLLER 0xff00#define PCI_CLASS_OTHERS 0xffBase Address 0- Base Address 5表示此卡占用的内存范围。

IRQ Line指定的设备所使用的中断号,它在系统启动时由固件复制。

IRQ PinPCI卡有4个物理引脚,用于把中断从卡上发送到PCI总线上。

为0表示设备不支持中断,非0表示使用哪一个终端引脚。

此信息可让中断处理子系统处理来自该设备的中断。

关于pci设备的其他信息,您可以参考PCI Local Bus Specification。

相关文档
最新文档