1. 程式人生 > >linux檢視裝置資訊和驅動安裝資訊

linux檢視裝置資訊和驅動安裝資訊

lspci是列出所有的硬體資訊,包括已經安裝了驅動還是沒有安裝驅動的硬體裝置,因為根據pci規範,只要改裝置在pci總線上掛著,就可以讀到起Vendor ID和Device ID等一些列資訊,就能知道這個裝置是什麼裝置。如果要確認有沒有安裝驅動,就需要通過lsmod命令來看,當然lsmod命令只能顯示編譯linux核心時選中為“M”的驅動程式,最靠譜的還是dmesg來檢視該裝置的驅動有沒有安裝,dmesg資訊太多,需要grep來過濾一下。

// 工作中的時候總結的一些經驗吧

1、確定需要安裝驅動的硬體型號,可以在/etc/sysconfig/hwconf中找到,裡面列出了所有硬體的型號和生產商等資訊,其中vendorId指的是硬體的生產商編號,deviceId是指該裝置的編號,一般生產商和裝置編號都是四位的

2、lspci命令可以檢視當前系統中所有PCI的裝置的資訊,lspci -n|grep 02:00 可以檢視02:00裝置對應的生產商和裝置編號資訊,這些資訊也可以在hwconf中找到

3、找到了裝置編號可以到http://pci-ids.ucw.cz/iii/查詢與該裝置相關的資訊,可以找到裝置的名字

4、通過裝置名字和型號查詢裝置驅動

5、編譯模組/驅動

6、lsmod命令可以列出當前系統中所有已經載入了的模組/驅動

7、modinfo命令可以單看指定的模組/驅動的資訊,其中alias指的是這個模組/驅動所支援的硬體的型號

8、使用modprobe或者insmod命令可以載入驅動,使用rmmod可以刪除一個模組/驅動


在LINUX環境開發驅動程式,首先要探測到新硬體,接下來就是開發驅動程式。

常用命令整理如下:

用硬體檢測程式kuduz探測新硬體:service kudzu start ( or restart)

檢視CPU資訊:cat /proc/cpuinfo

查看板卡資訊:cat /proc/pci

檢視PCI資訊:lspci (相比cat /proc/pci更直觀)

檢視記憶體資訊:cat /proc/meminfo

檢視USB裝置:cat /proc/bus/usb/devices

檢視鍵盤和滑鼠:cat /proc/bus/input/devices

檢視系統硬碟資訊和使用情況:fdisk & disk - l & df

檢視各裝置的中斷請求(IRQ):cat /proc/interrupts

檢視系統體系結構:uname -a

dmidecode檢視硬體資訊,包括bios、cpu、記憶體等資訊

dmesg | more 檢視硬體資訊

我的FC5顯示結果如下:

檢視鍵盤和滑鼠 
[[email protected] input]# cat /proc/bus/input/devices 
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41 
N: Name="AT Translated Set 2 keyboard" 
P: Phys=isa0060/serio0/input0 
S: Sysfs=/class/input/input0 
H: Handlers=kbd event0 
B: EV=120013 
B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe 
B: MSC=10 
B: LED=7 
I: Bus=0003 Vendor=06a2 Product=0001 Version=0100 
N: Name=" USB Mouse " 
P: Phys=usb-0000:00:03.2-2/input0 
S: Sysfs=/class/input/input2 
H: Handlers=mouse0 event1 
B: EV=7 
B: KEY=70000 0 0 0 0 0 0 0 0 
B: REL=103 
檢視PCI裝置: 
[[email protected] proc]# lspci 
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 651 Host 
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP) 
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS962 [MuTIOL Media IO] 
(rev 04) 
00:02.1 SMBus: Silicon Integrated Systems [SiS] SiS961/2 SMBus Controller 
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] 
00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] Sound //整合音效卡 
Controller (rev a0) 
00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f) 
00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f) 
00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f) 
00:03.3 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller 
00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast //整合網絡卡 
Ethernet (rev 90) 
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 65x/M650/740PCI/AGP VGA Display Adapter //整合顯示卡 
檢視CPU資訊: 
cat /proc/cpuinfo 
processor : 0 
vendor_id : GenuineIntel // Intel 
cpu family : 15 
model : 1 
model name : Intel(R) Celeron(R) CPU 1.70GHz 
stepping : 3 
cpu MHz : 1703.090 
cache size : 128 KB 
fdiv_bug : no 
hlt_bug : no 
f00f_bug : no 
coma_bug : no 
fpu : yes 
fpu_exception : yes 
cpuid level : 2 
wp : yes 
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat 
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm 
bogomips : 3411.63 
檢視記憶體資訊: 
cat meminfo 
MemTotal: 321104 kB // 256M+128M 
MemFree: 5212 kB 
Buffers: 10284 kB 
Cached: 157304 kB 
SwapCached: 0 kB 
Active: 171456 kB 
Inactive: 117120 kB 
HighTotal: 0 kB 
HighFree: 0 kB 
LowTotal: 321104 kB 
LowFree: 5212 kB 
SwapTotal: 522104 kB 
SwapFree: 522104 kB 
Dirty: 116 kB 
Writeback: 0 kB 
Mapped: 177868 kB 
Slab: 19224 kB 
CommitLimit: 682656 kB 
Committed_AS: 412960 kB 
PageTables: 3736 kB 
VmallocTotal: 704504 kB 
VmallocUsed: 2776 kB 
VmallocChunk: 701540 kB 
HugePages_Total: 0 
HugePages_Free: 0 
Hugepagesize: 4096 kB 
檢視USB裝置:

插上我的魅族: 
cat /proc/bus/usb/devices 
T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 6 
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 
P: Vendor=0000 ProdID=0000 Rev= 2.06 
S: Manufacturer=Linux 2.6.15-1.2054_FC5 ehci_hcd 
S: Product=EHCI Host Controller 
S: SerialNumber=0000:00:03.3 
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA 
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub 
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=256ms 
T: Bus=04 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 6 Spd=480 MxCh= 0 
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 
P: Vendor=0471 ProdID=0000 Rev= 0.01 
S: Manufacturer=MEIZU Co., Ltd //魅族MP3 
S: Product=Meizu E3 HS 
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA 
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage 
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms 
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms 
T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 
B: Alloc= 14/900 us ( 2%), #Int= 1, #Iso= 0 
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 
P: Vendor=0000 ProdID=0000 Rev= 2.06 
S: Manufacturer=Linux 2.6.15-1.2054_FC5 ohci_hcd 
S: Product=OHCI Host Controller 
S: SerialNumber=0000:00:03.2 
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA 
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub 
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms 
T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0 
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 
P: Vendor=06a2 ProdID=0001 Rev= 1.00 //USB鍵盤 
S: Manufacturer= 
S: Product= USB Mouse 
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA 
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid 
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms 
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 
P: Vendor=0000 ProdID=0000 Rev= 2.06 
S: Manufacturer=Linux 2.6.15-1.2054_FC5 ohci_hcd 
S: Product=OHCI Host Controller 
S: SerialNumber=0000:00:03.1 
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA 
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub 
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms 
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 
P: Vendor=0000 ProdID=0000 Rev= 2.06 
S: Manufacturer=Linux 2.6.15-1.2054_FC5 ohci_hcd 
S: Product=OHCI Host Controller 
S: SerialNumber=0000:00:03.0 
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA 
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub 
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms 
[[email protected] usb]#

===========================================

Linux 硬體管理的基礎知識

作者:北南南北 
來自:LinuxSir.Org 
摘要:本文主要解說在Linux中,硬體裝置的表示方法及檢視工具等;最主要的目的是當我們遇到硬體問題時,懂得如何根據硬體資訊來解決問題; 

一、在Linux 系統中,對硬體判別的標識的依據; 

在 LinuxSir.Org 討論區,我們經常看到有些弟兄這樣來描述自己的硬體“我的顯示卡是XXX牌子的,Linux 不支援怎麼辦?”。其實這樣描述是最差的,大家也根本沒有辦法提供幫助;因為Linux對硬體的識別是以為晶片組的廠商為依據的,而非硬體的品牌;因為現 在硬體廠商大多是OEM的,也就是說硬體的主晶片是他們生產不了的,但他們會從硬體主晶片廠商拿來,焊接在自己的電路板上,這就是OEM 的過程;

無論什麼硬體都是以晶片組的廠商為標識的,而不是什麼市場看到的這個品牌,那個品牌的;舉個例子,我們在市場上看到有各種各樣的顯示卡,其實看一下他 們的晶片,大多是ATI和 NVIDIA的,所有的ATI和NVIDIA的驅動都是ATI和NVIDIA開發出來的。所以我們提問的時候,要把硬體的晶片說出來,晶片是驅動的唯一標 識,而不是品牌!!!

所以我們要找硬體的驅動時,我們一定要根據硬體主晶片的資訊來找相關的驅動;


二、在Linux中檢視硬體資訊的工具; 

在Linux 中,並不是沒有工具可以檢視硬體的晶片資訊,應該說Linux的工具能把硬體資訊檢視的更清楚;下面介紹幾個常用的工具;我們最常用的工具還是lspci ;其它的工具只是瞭解一下;


1、lspci 列出所有PCI 裝置; 

lspci - list all PCI devices ,主要是有來列出機器中的PCI 裝置,比如音效卡、顯示卡、貓、網絡卡等,主機板整合裝置也能列出來;lspci 是讀取 hwdata 資料庫,hwdata 由軟體包 hwdata 提供;大約有如下檔案;

[[email protected] ~]# 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介面列出來;

舉例:

[[email protected] 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 來檢視;

[[email protected] beinan]# lspci -v

比如我們可以通過 lspci -v 來檢視硬體的irq中斷什麼的;比如網絡卡不好用,是不是irq 存在衝突了?如果您不知道怎麼解決硬體驅動不了的情況,就要把 lspci -v 相應硬體的資訊整段貼出來,這才是解決問題的唯一辦法;所以學會提問也是極為重要的;

有的系統發行版本,還有lsusb 的工具,自己嘗試一下吧;


2、儲存裝置檢視和操作工具; 

我們檢視儲存裝置的工具主要有 fdisk ;parted ;cfdisk 等;最常用也是最方便的就是fdisk ;parted 就當一個補充吧,這個工具目前看來並不是太成熟;

請參考:


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的資訊;

[[email protected] beinan]# cat /proc/cpuinfo

詳細的內容還得需要您來慢慢檢視;對於 /proc 的瞭解也是有必要的;


4、dmesg 

dmesg 是一個顯示核心緩衝區系統控制資訊的工具;比如系統在啟動時的資訊會寫到/var/log/

注:dmesg 工具並不是專門用來檢視硬體晶片組標識的工具,但通過這個工具能讓我們知道機器中的硬體的一些引數;因為系統在啟動的時候,會寫一些硬體相關的日誌到 /var/log/message* 或 /var/log/boot* 檔案中;

如果我們用這個工具來檢視一些硬體的資訊;這個工具資訊量太大,的確需要耐心;

[[email protected] beinan]# dmesg

[[email protected] beinan]# dmesg -c 注:清理掉緩衝區,下次開機的時候還會自動生成;


5、 hwbrowser 

hwbrowser 是 您當前硬體配置的圖形化瀏覽器 ,這個工具是圖形的。可能系統在預設的情況下沒有安裝。需要您安裝才行。在Fedora 4.0 中,如果能用yum 或apt 應該是通過如下的命令來安裝;

[[email protected] beinan]# yum install hwbrowser 
或 
[[email protected] beinan]# apt install hwbrowser 
[[email protected] beinan]# hwbrowser

當然您也可以通過rpmfind.net 或者freshrpms.net 上尋找rpm 包來安裝

[[email protected] beinan]# rpm -ivh hwbrowser*.rpm

我建議您最好是通過軟體包更新工具yum 和apt來安裝,這樣能自動解決依賴關係;


6、lshal 和 hal-device-manager 

通過 lshal 和hal-device-manager 也能知道硬體相關資訊,不過這個工具對新手操作起來是有點麻煩,但我還是得介紹一下;

[[email protected] beinan]# lshal

hwbrowser 是 lshal 的圖形化界;可能系統在預設的情況下沒有安裝,這個工具包是Fedora 擴充套件包,需要您安裝才行。在Fedora 4.0 中,如果能用yum 或apt 應該是通過如下的命令來安裝;

[[email protected] beinan]# yum install hal-device-manager 
或 
[[email protected] beinan]# apt install hal-device-manager 
[[email protected] beinan]# hal-device-manager

當然您也可以通過rpmfind.net 或者freshrpms.net 上尋找rpm 包來安裝

[[email protected] 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 有如下的硬體配置或管理工具;

[[email protected] beinan]# system-config-mouse 
[[email protected]ost beinan]# system-config-network-tui 
[[email protected] beinan]# gnome-system-monitor 
[[email protected] beinan]# system-config-network 
[[email protected] beinan]# system-config-printer-gui 
[[email protected] beinan]# system-config-soundcard 
[[email protected] beinan]# setup

當然這些圖形化的工具並不是萬能的,他們的功能還是有極大的侷限性;所以在硬體配置上,大多還是通過文字模式來操作的;


四、硬體驅動是由核心支援的,但驅動都存放在哪裡? 

硬體驅動是必須由核心支援的,無論是我們自己安裝驅動,還是核心自帶的驅動都是如此。硬體驅動如果是以核心模組支援的,驅動目錄位於: /lib/modules/核心版本/kernel/目錄 或 /lib/modules/核心版本/kernel/drivers 目錄中;

[[email protected] beinan]# uname -r 
2.6.11-1.1369_FC4 
[[email protected] 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 裝置;硬碟、檔案系統... ... 都要仔細的檢視;

請參考:


後記: 

Linux 對硬體的支援目前的情況來看是要比前幾年好多了,比如音效卡、網絡卡、顯示卡(非3D加速,如果是3D加速的,要下載廠商驅動,如果廠商不提供,那大多是沒有 辦法了,因為廠商不公開硬體的相關引數,開源社群也沒有辦法開發,對不對?);對於有些硬體還是需要我們來自己安裝驅動或編譯核心來解決;

Linux對硬體的驅動的開發,開源社群是相當積極的,但廠商很少提供非Windows的驅動,大多數的Linux的驅動都是開源社群奉獻的;有人 可能會說Windows的硬體驅動最容易,但我不是這麼認為,我有一聲ISA介面的音效卡,在windows 98 和winme 中發出怪聲,在windows 2000更是沒有驅動。但在Linux中卻支援的非常好。 呵。。。

Linux 對硬體並不是大家原來所說的,越老越舊的硬體跑起來最好,Linux對新裝置的支援,可能廠家剛放出來產品,開源社群就有人研究了。解決辦法也會在開源社 區可以找到;但有些硬體廠商不會提供驅動的開發引數、資訊之類的,所以開源社群有時對這樣的硬體也是無奈,但這樣的裝置目前看來是比較少;大多硬體都支援 Linux ;

如果您遇到硬體相關的問題,不妨通過我上面所說的來找線索解決,就目前來看也沒有太多的問題。只要仔細一點,細點心,學會用Google 搜尋,大多問題還是能解決的。

相關推薦

linux檢視裝置資訊驅動安裝資訊

lspci是列出所有的硬體資訊,包括已經安裝了驅動還是沒有安裝驅動的硬體裝置,因為根據pci規範,只要改裝置在pci總線上掛著,就可以讀到起Vendor ID和Device ID等一些列資訊,就能知道這個裝置是什麼裝置。如果要確認有沒有安裝驅動,就需要通過lsmod命令來看,

Linux檢視作業系統版本 核心版本等資訊 unamelsb release

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Linux如何檢視CPU資訊Linux檢視CPU個數核心數,Linux檢視CPU使用率執行位數

 一、Linux檢視CPU基本資訊,可以使用命令: cat /proc/cpuinfo 例如筆者的虛擬機器: [[email protected] ~]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineI

檢視virsh管理qemu虛擬機器日誌資訊libvirtd日誌資訊

在軟體的開發和執行過程中,程式的執行日誌log是不能少的。我們可以從log中發現程式的執行狀態,以及可能出先的一些error.通常執行日誌log上有時間、資訊級別(level)、訊息輸出(message)。通過分析日誌,我們可以從中獲得程式的執行資訊,方便我們的除錯、恢復

Linux檢視CPU個數、記憶體等資訊

總核數 = 物理CPU個數 X 每顆物理CPU的核數 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超執行緒數 檢視CPU資訊命令 >> cat /proc/cpuinfo 檢視物理CPU的個數

基於arm平臺linux下USB音效卡驅動安裝使用

核心配置 <*> Advanced Linux Sound Architecture —> usb音效卡安裝 1.apt-get install alsa-base 2

linux檢視裝置網絡卡MACIP地址以及設定MAC ip的注意事項

1  檢視裝置的MAC和IPLinux/Unix作業系統熟悉的人都通常是用console命令控制檯來進行相應的操作。  Linux/Unix作業系統檢視網絡卡mac地址的方法可以通過以下命令獲得:1.ifconfig -a2.ip link show3.ip address

檢視apk簽名 keystore 的資訊

1、檢視 keystore $ keytool -list -v -keystore debug.keystore $ keytool -list -v -keystore debug.keystore Enter keystore password:

Linux檢視系統硬碟記憶體及開機資訊的命令

Linux要的檢視系統硬碟記憶體及開機資訊的命令一, df可以檢視硬碟中的資訊 df -a 可以看很多資訊 df -T 可以看更多資訊 df -k 以k為單位看資訊 df -m 以m為單位看資訊 df -h 以G為單位看資訊 df -t vfat 看是vfat型別的分割槽。 比如 df -a 檔案系統 1K-

rman備份+完全備份+完全備份案例+檢視備份集備份段資訊+備份表空間案例+檢視備份的表空間users資訊

rman備份 1要做備份操作,資料庫模式需要為存檔模式 完全備份 1完全備份就是對資料庫使用過的所有資料塊進行備份,沒有使用過的資料塊是不做備份的。在進行完全備份時,rman將資料檔案中所有的非空

CSharp 檔案操作檢視資料夾資料夾資訊

通過Fileinfo 用相對路徑下建立 Txt FileInfo fileinf = new FileInfo("Siki.txt"); if (fileinf.Exists==false) //判斷該檔案是否存在 {

linux檢視裝置命令

系統 # uname -a # 檢視核心/作業系統/CPU資訊 # head -n 1 /etc/issue # 檢視作業系統版本 # cat /proc/cpuinfo # 檢視CPU資訊 # hostname # 檢視計算機名 # lspci -tv

linux 檢視nginx狀態php-fpm狀態

啟用nginx status配置 在預設主機裡面加上location或者你希望能訪問到的主機裡面。 server { location /nginx-status { stub_status on; #access_log /home/www/phpe

kafka在哪裡儲存replica資訊isr的資訊呢?zk的路徑是什麼

kafka在 /brokers/topics/{topic}中儲存partition的replica資訊 具體格式如下: {"version":1,"partitions":{"45":[80,36],"98":[7,34],"113":[127,14],"3

Linux 檢視系統版本核心

檢視系統核心版本 [[email protected] /]# cat /proc/version Linux version 3.10.0-327.el7.x86_64 ([email protected]) (gcc version 4.8.3 20140911 (Red H

軟體安裝集合(二):linux埠訪問telnetnc安裝使用

一、實現功能 兩個linux常用的埠資料傳送軟體的安裝和配置 二、安裝和配置 1.telnet (1)安裝 yum -y install telnet (2)使用 telnet ibeifeng.com 44444 2.nc (1)安裝 yum inst

linux 檢視裝置詳細

1.cpu 檢視cpu資訊:lscpu cat /proc/cpuinfo 可以檢視每個cpu的型號,主頻等 2.mem free -m 檢視記憶體情況,單位MB cat /proc/meminfo dmidecode -t memory 檢視記憶體硬體資訊 3.磁碟

springMVC框架,後臺中session新增使用者資訊獲取使用者資訊的問題

登入時,驗證使用者存在不存在,如果存在,將使用者資訊放入session中,首先,建立一個使用者的實體類 import java.util.List; public class LoginStaff { //loginStaff int userId;//使用者i

Linux---檢視檔案目錄目錄結構(3)

一、檢視檔案和目錄:    1---檢視當前所在的路徑:pwd                /root:表示是在根目錄下的root目錄裡面(“/”表示根目錄)    2---命令格式:命令 -選項 -引數(目錄)    3---檢視當前路徑下的檔案:ls        -d

linux檢視系統編碼修改系統編碼的方法

# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESS