Linux下即插即用裝置的安裝(轉)
Linux下即插即用裝置的安裝(轉)[@more@] 即插即用,在Linux底下?不好辦,你還是換老的非即插即用裝置吧。這是我初次接觸Linux時,那些Linux高手們告訴我的。可是,我覺得總該有辦法的。經過不懈的努力,我發現了兩種方法。一是先從DOS啟動,初始化裝置後,再用loadlin載入到Linux中。但這不是我所夢寐以求的,因為每次需要大量時間來啟動。我繼續不停的尋找,終於有一天,我找到了我需要的東西,一個稱為isapnptools的應用程式。 現在,大多數發行套件中都有isapnptools。如果你的套件中有,安裝它即可。如果你的發行套件中沒有它,到http: // 去下載一份,解壓後把isapnp 和 pnpdump 複製到目錄 /sbin中即可。 下面就是實戰階段了。需要準備的就是把你所有要裝的即插即用裝置全部裝好,以ROOT身份登陸。然後執行以下命令/sbin/pnpdump > /etc/isapnp.conf,這會把你機器上所有的即插即用裝置資訊寫入檔案 /etc/isapnp.conf中,下面是我的機器上的/etc/isapnp.conf檔案的一部分:# $Id: plugnplay.html,v 1.1.1.1 1998/12/26 04:41:14 jack Exp $# This is free software, see the sources for details.# This software has NO WARRANTY, use at your OWN RISK## For details of this file format, see isapnp.conf(5)## For latest information on isapnp and pnpdump see:# http://## Compiler flags: -DREALTIME -DNEEDSETSCHEDULER## Trying port address 0203# Board 1 has serial identifier c5 c0 7f 53 05 01 22 05 07# Board 2 has serial identifier 5a 80 86 00 01 20 00 a8 65# Board 3 has serial identifier e8 46 46 46 46 90 30 72 56# (DEBUG)(READPORT 0x0203)(ISOLATE PRESERVE)(IDENTIFY *)(VERBOSITY 2)(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING# Card 1: (serial identifier c5 c0 7f 53 05 01 22 05 07)# Vendor Id AXE2201, Serial Number 3229569797, checksum 0xC5.# Version 1.0, Vendor version 0.0# ANSI string -->Ethernet PnP ISA Card /S ## Logical device id AXE2201# Device support I/O range check register## Edit the entries below to uncomment out the configuration required.# Note that only the first value of any range is given, this may be # changed if required# Don't forget to uncomment the activate (ACT Y) when happy(CONFIGURE AXE2201/3229569797 (LD 0# Compatible device id PNP80d6# Logical device decodes 10 bit IO address lines# Minimum IO base address 0x0240# Maximum IO base address 0x0380# IO base alignment 32 bytes# Number of IO addresses required: 32# (IO 0 (SIZE 32) (BASE 0x0240))# IRQ 3, 5, 9, 10, 11, 12 or 15.# High true, edge sensitive interrupt# (INT 0 (IRQ 3 (MODE +E)))# (ACT Y)))# End tag... Checksum 0x00 (OK)# 略去音效卡部分#略去modem卡部分# Returns all cards to the "Wait for Key" state(WAITFORKEY) 我的系統中共有三個即插即用裝置,分別是NE2000相容網路卡,Yamaha OPL~SA2音效卡和一個USR 56K modem。由於檔案太長,我略去了音效卡和modem部分。 接下來就是為每個裝置分配所需資源。有許多方法可以實現。第一種,也是最簡單的方法就是,如果你在同一臺機器上也裝了WIN95或WIN98,透過控制皮膚的系統的屬性頁,可以看到在WINDOWS系統下各即插即用裝置的資源,記下用到Linux即可。如果你的機器中沒有其它的作業系統,採用第二種方法。即手動分配資源,只要各裝置資源不發生衝突就行。手動分配資源以前,最好先看一下已經使用的中斷列表、I/O列列表,它們分別位於 /proc/interrupts、/proc/ioports、/proc/dma。一旦你確定了各裝置使用的資源,就可以分配了。 選擇分配給每個裝置的資源非常簡單。你只要去掉你的裝置所需資源前的註釋號即可。描述資源的行很容易找到,因為它們總是以INT, IO或 DMA開頭。在這些行之前是你所能使用資源的描述。你可以選一組,因為象下面這樣的一行說明它們有優先權的區別。# Start dependent functions: priority preferred 在去掉所需資源的註釋號後,你還必須去掉(ACT Y)行上的註釋號來告訴ISAPNP啟用該裝置。 下面是我的/etc/isapnp.conf經過編輯並去掉註釋行後的樣本:READPORT 0x0203)(ISOLATE PRESERVE)(IDENTIFY *)(VERBOSITY 2)(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING(CONFIGURE AXE2201/3229569797 (LD 0(IO 0 (SIZE 32) (BASE 0x0240))(INT 0 (IRQ 3 (MODE +E)))(ACT Y)))(CONFIGURE YMH0020/2156265473 (LD 0(IO 0 (SIZE 16) (BASE 0x0220))(IO 1 (SIZE 8) (BASE 0x0530))(IO 2 (SIZE 4) (BASE 0x0388))(IO 3 (SIZE 2) (BASE 0x0330))(IO 4 (SIZE 2) (BASE 0x0370))(INT 0 (IRQ 5 (MODE +E)))(DMA 0 (CHANNEL 0))(DMA 1 (CHANNEL 1))(ACT Y)))(CONFIGURE YMH0020/2156265473 (LD 1(IO 0 (SIZE 1) (BASE 0x0201))(NAME "YMH0020/2156265473[1]{OPL3-SA2 Sound Chip }")(ACT Y)))(CONFIGURE USR3090/1179010630 (LD 0(IO 0 (SIZE 8) (BASE 0x02f8))(INT 0 (IRQ 3 (MODE +E)))(NAME "USR3090/1179010630[0]{U.S. Robotics 56K Voice INT}")(ACT Y)))(WAITFORKEY) 如果喜歡,留著其餘的註釋也行。下一步就是測試你的配置是否正確。使用以下命令/sbin/isapnp /etc/isapnp.conf,螢幕會出現一些資訊,樣本如下:Board 1 has Identity c5 c0 7f 53 05 01 22 05 07: AXE2201 Serial No 3229569797 [checksum c5]Board 2 has Identity 5a 80 86 00 01 20 00 a8 65: YMH0020 Serial No 2156265473 [checksum 5a]Board 3 has Identity e8 46 46 46 46 90 30 72 56: USR3090 Serial No 1179010630 [checksum e8] 如果你的配置檔案有問題或發生資源衝突,它就會告訴你。發生問題不要著急,從頭慢慢查詢原因,一步一步再來。如果一切平安無事,你還必須保證你的即插即用裝置在啟動時能進行認證。不幸的是許多發行套件的初始指令碼執行方式不同。如果你的發行套件中有isapnptools的話,可能你已經有正確的初始指令碼。如果沒有,仿照/etc/rc.d/init.d中的格式,自己寫一個。 最後一步是讓你的核心支援即插即用裝置。目前,核心支援isapnp設定的即插即用裝置的唯一方法是把它們編譯為模組。所以,對每一個被認為是即插即用的裝置,確信把它編譯為核心支援的模組。 好了,不用再為你的新的裝置不能被Linux接受而煩惱了,去盡情享受Linux帶給你的樂趣吧。(linux知識寶庫
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-940134/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LINUX下的裝置驅動程式 (轉)Linux
- Linux下軟體的安裝與解除安裝(轉)Linux
- linux下amsn安裝(轉)Linux
- linux下軟體的基本安裝和解除安裝(轉)Linux
- Linux下的軟體安裝(轉)Linux
- Windows下的Memcache安裝 linux下的Memcache安裝WindowsLinux
- linux下裸裝置的使用Linux
- LINUX下裸裝置的操作Linux
- mysql在linux下的完整安裝(轉)MySqlLinux
- Maven的安裝/2.2 Linux下的安裝MavenLinux
- Linux下USB裝置檢測全教程(轉)Linux
- Linux裝置掛載和解除安裝Linux
- linux下新增裸裝置Linux
- linux下配置裸裝置Linux
- Linux下安裝mantis配置指南【轉】Linux
- Linux下Oracle安裝寶典 (轉)LinuxOracle
- Linux下Oracle安裝寶典(轉)LinuxOracle
- Linux下Unicon安裝流程(轉)Linux
- Linux下安裝、解除安裝mysqlLinuxMySql
- linux下安裝snap安裝工具Linux
- Linux下怎麼安裝.deb格式的安裝包?Linux系統下.deb格式安裝包的安裝教程Linux
- Linux 2.6核心的裝置模型(轉)Linux模型
- Linux下jdk的安裝解除安裝切換LinuxJDK
- Linux下JDK安裝與解除安裝LinuxJDK
- Linux下的Nginx安裝LinuxNginx
- Linux下Apollo的安裝Linux
- linux下rar的安裝Linux
- linux 下oracle的安裝LinuxOracle
- linux 下 squid 安裝日誌 (轉)LinuxUI
- Debian Linux下安裝永中office(轉)Linux
- 在Linux(Debian)下安裝mono(轉)LinuxMono
- Linux下JPEG庫安裝指令碼(轉)Linux指令碼
- 在 linux 系統下安裝 perl(轉)Linux
- Linux下正確安裝 VMWARE TOOLS(轉)Linux
- 在Linux中,什麼是裝置驅動程式?如何安裝和解除安裝裝置驅動程式?Linux
- JDK1.6在LINUX下的安裝配置[轉]JDKLinux
- MOXA多串列埠卡在Linux下的安裝(轉)串列埠Linux
- Linux裝置驅動程式 (轉)Linux