Chinaunix首页 | 论坛 | 博客
  • 博客访问: 363486
  • 博文数量: 109
  • 博客积分: 45
  • 博客等级: 民兵
  • 技术积分: 1920
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-19 11:17
个人简介

只要活着,就要有目标。

文章分类
文章存档

2013年(109)

我的朋友

分类: LINUX

2013-06-28 15:14:42

 一、在Linux中查看硬件信息的工具;

    在Linux 中,并不是没有工具可以查看硬件的芯片信息,应该说Linux的工具能把硬件信息查看的更清楚;下面介绍几个常用的工具;我们最常用的工具还是lspci ;其它的工具只是了解一下;

    1、lspci 列出所有PCI 设备;

    lspci - list all PCI devices ,主要是有来列出机器中的PCI 设备,比如声卡、显卡、猫、网卡等,主板集成设备也能列出来;lspci 是读取 hwdata 数据库,hwdata 由软件包 hwdata 提供;大约有如下文件;

    [beinan@localhost ~]# rpm -ql hwdata-0.158-1

    /etc/hotplug/blacklist

    /etc/pcmcia

    /etc/pcmcia/config

    /usr/X11R6/lib/X11/Cards

    /usr/share/doc/hwdata-0.158

    /usr/share/doc/hwdata-0.158/COPYING

    /usr/share/doc/hwdata-0.158/LICENSE

    /usr/share/hwdata

    /usr/share/hwdata/CardMonitorCombos

    /usr/share/hwdata/Cards

    /usr/share/hwdata/MonitorsDB

    /usr/share/hwdata/pci.ids

    /usr/share/hwdata/pcitable

    /usr/share/hwdata/upgradelist

    /usr/share/hwdata/usb.ids

    lspci 有两个参数是我们常用的,-b 和-v ,lspci 也会把usb接口列出来;

    举例:

    [root@localhost beinan]# lspci -b

    00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)

    00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)

    00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)

    00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)

    00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)

    00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)

    00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)

    00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)

    00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)

    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)

    00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)

    00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)

    00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)

    00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)

    00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)

    02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

    02:09.0 CardBus bridge: Texas Instruments Texas Instruments PCIxx21/x515 Cardbus Controller

    02:09.2 FireWire (IEEE 1394): Texas Instruments Texas Instruments OHCI Compliant IEEE 1394 Host Controller

    02:09.3 Unknown mass storage controller: Texas Instruments Texas Instruments PCIxx21 Integrated FlashMedia Controller

    02:09.4 Class 0805: Texas Instruments Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Secure Digital (SD)

    分析一下这台机器中有什么设备,看主要的就行,与我们应用相关的;

    00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)

    00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02) 注:这是显示卡;

    USB Controller 表示的是USB 接口;我们看到有三个这样的设备;我的笔记本上正好有三个USB 接口;

    Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03) 注:这是声卡;

    Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03) 注:这是猫;

    Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 注:这是网卡,芯片是8139的;

    FireWire (IEEE 1394): Texas Instruments Texas Instruments OHCI Compliant IEEE 1394 Host Controller 注:这是1394接口的信息;事实上我的笔记本也有这样的接口;

    那得到这些信息有什么用处呢?如果机器中有些设备支持的不好,我们就可以根据这些信息在Google 上搜索,比如我感觉我的声卡有问题,就可以根据声卡信息相关的来搜索找解决问题的办法;根据这些信息,我们也可以到硬件芯片组的官方去找答案或者驱动;

    如果想知道硬件更为详细的内容,我们可以用 lspci -v 来查看;

    [root@localhost beinan]# lspci -v

    比如我们可以通过 lspci -v 来查看硬件的irq中断什么的;比如网卡不好用,是不是irq 存在冲突了?如果您不知道怎么解决硬件驱动不了的情况,就要把 lspci -v 相应硬件的信息整段贴出来,这才是解决问题的唯一办法;所以学会提问也是极为重要的;

    有的系统发行版本,还有lsusb 的工具,自己尝试一下吧;

    2、存储设备查看和操作工具;

    我们查看存储设备的工具主要有 fdisk ;parted ;cfdisk 等;最常用也是最方便的就是fdisk ;parted 就当一个补充吧,这个工具目前看来并不是太成熟;

    请参考:

    《Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》

    《实例解说 fdisk 使用方法》

    3、通过查看/proc 目录的相应文件获取一些硬件信息;

    我们在查看 /etc/fstab 时,会注意到这样一行;

    /dev/proc /proc proc defaults 0 0

    proc 看起来象是一个文件系统,其实他并不是一个真正的文件系统 , 它是“proc - process information pseudo-filesystem”,译成中文大概的意思是“进程信息伪装文件系统”呵呵,这是我翻译的,有可能不对,请多多指正;

    “The proc filesystem is a pseudo-filesystem which is used as an interface to kernel data

    structures. It is commonly mounted at /proc. Most of it is read-only, but some files allow

    kernel variables to be changed.”

    我再来乱译一下然后再根据/proc 的内容自己理解理解。proc 文件系统做为内核kernel 数据结构的接口,把kernel 的一些信息(比如硬件信息,包括CPU 、网卡、显示卡、内存、文件系统、SCSI 设备 ....)写到 proc 文件系统中,proc被mont 到 /proc 目录;/proc 目录中有大数据大多文件是只读的,但一些数据是根据内核的变化而变化的;/proc 目录中的数据是经常变动的,对于系统中的每个进程都有一个PID;都可以在/proc 中找到;我们也可以通过 ps -aux |more 来查看进程;

    我们可以通过 cat 命令来读取/proc 目录下的文件,比如cpu的信息;

    [root@localhost beinan]# cat /proc/cpuinfo

    详细的内容还得需要您来慢慢查看;对于 /proc 的了解也是有必要的;

    4、dmesg

    dmesg 是一个显示内核缓冲区系统控制信息的工具;比如系统在启动时的信息会写到/var/log/

    注:dmesg 工具并不是专门用来查看硬件芯片组标识的工具,但通过这个工具能让我们知道机器中的硬件的一些参数;因为系统在启动的时候,会写一些硬件相关的日志到 /var/log/message* 或 /var/log/boot* 文件中;

    如果我们用这个工具来查看一些硬件的信息;这个工具信息量太大,的确需要耐心;

    [root@localhost beinan]# dmesg

    [root@localhost beinan]# dmesg -c 注:清理掉缓冲区,下次开机的时候还会自动生成;

    5、 hwbrowser

    hwbrowser 是 您当前硬件配置的图形化浏览器 ,这个工具是图形的。可能系统在默认的情况下没有安装。需要您安装才行。在Fedora 4.0 中,如果能用yum 或apt 应该是通过如下的命令来安装;

    [root@localhost beinan]# yum install hwbrowser

    或

    [root@localhost beinan]# apt install hwbrowser

    [root@localhost beinan]# hwbrowser

    当然您也可以通过rpmfind.net 或者freshrpms.net 上寻找rpm 包来安装

    [root@localhost beinan]# rpm -ivh hwbrowser*.rpm

    我建议您最好是通过软件包更新工具yum 和apt来安装,这样能自动解决依赖关系;

    6、lshal 和 hal-device-manager

    通过 lshal 和hal-device-manager 也能知道硬件相关信息,不过这个工具对新手操作起来是有点麻烦,但我还是得介绍一下;

    [root@localhost beinan]# lshal

    hwbrowser 是 lshal 的图形化界;可能系统在默认的情况下没有安装,这个工具包是Fedora 扩展包,需要您安装才行。在Fedora 4.0 中,如果能用yum 或apt 应该是通过如下的命令来安装;

    [root@localhost beinan]# yum install hal-device-manager

    或

    [root@localhost beinan]# apt install hal-device-manager

    [root@localhost beinan]# hal-device-manager

    当然您也可以通过rpmfind.net 或者freshrpms.net 上寻找rpm 包来安装

    [root@localhost beinan]# rpm -ivh hal-device-manager*.rpm

    我建议您最好是通过软件包更新工具yum 和apt来安装,这样能自动解决依赖关系;

    二、不同的硬件有不同的配置工具和与之相应的配置文件;

    不同的硬件有不同的配置工具,也有与之相应的配置文件;比如关于显示器和显示卡的配置文件是/etc/X11/xorg.conf ,对于老的Linux版本应该是/etc/X11/X86Config 或 X86Config-4 ,xorg 或 X86的配置文件还包括鼠标、键盘等在X桌面环境下的配置和控制等;

    声卡的配置文件是/etc/modprobe.conf 或 /etc/modules.conf ;

    文件系统的配置文件是 /etc/fstab ;

    声卡的配置工具,一般情况下是alsaconf

    当然不同的发行版也有相应的硬件配置或管理 工具,比如Fedora Core 4.0 有如下的硬件配置或管理工具;

    [root@localhost beinan]# system-config-mouse

    [root@localhost beinan]# system-config-network-tui

    [root@localhost beinan]# gnome-system-monitor

    [root@localhost beinan]# system-config-network

    [root@localhost beinan]# system-config-printer-gui

    [root@localhost beinan]# system-config-soundcard

    [root@localhost beinan]# setup

    当然这些图形化的工具并不是万能的,他们的功能还是有极大的局限性;所以在硬件配置上,大多还是通过文本模式来操作的;

    三、硬件驱动是由内核支持的,但驱动都存放在哪里?

    硬件驱动是必须由内核支持的,无论是我们自己安装驱动,还是内核自带的驱动都是如此。硬件驱动如果是以内核模块支持的,驱动目录位于: /lib/modules/内核版本/kernel/目录 或 /lib/modules/内核版本/kernel/drivers 目录中;

    [root@localhost beinan]# uname -r

    2.6.11-1.1369_FC4

    [root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/kernel

    arch crypto drivers fs lib net sound

    注:只有驱动在内核中以模块的方法支持的,或者我们自己安装的驱动,驱动才位于 /lib/modules/相应的目录;如果是直接置入内核的,不会出现在/lib/modules驱动相关的目录;

    四、硬件不被系统支持怎么办?

    如果一个Linux 系统不支持您的硬件,解决的办法无非是有两种,一种是下载驱动自己安装,Linux的驱动大多是开源社区开发的,厂商提供的比较少;有时也可能要重编内核,主要看驱动内部的说明文件怎么说了。因为驱动本来是要内核支持的,编译内核也极为正常;

    值得注意的是:如果我们要重新编译内核,最好把硬件情况摸清楚了,比如鼠标、光驱、软驱、USB 设备;硬盘、文件系统... ... 都要仔细的查看;

转自凌阳教育嵌入式培训网:

阅读(1458) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~