現在我們假設你的卡片已被現有的驅動程式所支援,我們所需要做的是在
/etc/pcmcia/config
中加入一個條目來告訴 cardmgr
如何
來辨視這張卡,哪些驅動程式需要連結到這張卡片上。建構檔案的格式細節
請查看 pcmcia
的 man 頁。 如果你插入一張不被認得的卡片,
cardmgr
正常來說會記錄一些辨視資訊到系統日誌上, 我們可以利用
這些資訊來建造它的建構條目。
以下是個 cardmgr 如何將未支援卡的報告到 /usr/adm/messages
內的例子。
cardmgr[460]: unsupported card in socket 1
cardmgr[460]: version info: "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM"
相對應到/etc/pcmcia/config
的條目可以是:
card "Megahertz XJ2288 V.34 Fax Modem"
version "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM"
bind "serial_cs"
你可以使用 ``*'' 來代替不曉得的字串,像版本號碼啦。 當你寫新的建構 條目時,請小心地把完整的字串拷貝過去,保持原有的大小寫體以及空白字 元。還有,請確認建構條目與被報告到日誌檔案裏的資料有同樣數目的字串 。
請牢記您幾乎可以指定任何的驅動程式給一張卡使用,但如果你只是胡亂地
亂弄,並不是個很有生產效率的作法。你也可能很幸運地發現現有的驅動程
式已支援了你的卡片。然而,大部份的結果是那些驅動程式並無法工作,也
有可能會產生邊際效應像鎖死你的系統了。不像一般的設備驅動程式只探測
適當的卡片,探測 PCMCIA 設備的工作是由 cardmgr
所執行,驅動程
式本身在試著與設備溝通前並不會做啥麼確認動作的。
在編修 /etc/pcmcia/config
之後, 你可以暗示 cardmgr
重新載入該檔案,使用:
kill -HUP `cat /var/run/cardmgr.pid`
如果你設定好了一張新的卡片,請寄一份設定給我,這樣子我就可以把它包 含進標準建構檔案裏。
首先, 先查看看這張卡是否已被 cardmgr
所辨識。 有些沒有被列在
SUPPORTED.CARDS
內的卡片事實上是有些被支援的卡的 OEM 版本。如
果你發現了像這樣的卡片,請讓我知道,這樣才能把它加到列表內。
如果你的卡片沒被辨別到, 請依照
3.6 內
的步驟為你的卡片建立一個建構條目,並把這張卡片連繫上 pcnet_cs
驅動程式。 重新執行 cardmgr
即可使用被更新的建構檔案了。
如果 pcnet_cs
驅動程式說它無法決定你的卡片之硬體乙太網路位址
,那麼請編修你的新建構條目將這張卡片連繫上記憶體卡片驅動程式
memory_cs
上。 重新執行 cardmgr
即可使用被更新的建構檔案
了。你需要知道你的卡片的硬體乙太網路位址的值。這個位址是個以二個十
六位元字元號碼所排成的六個數字,通常它會被印在卡片上。如果它沒有印
在卡片上,你可以使用 DOS 的驅動程式來顯示這個位址。 只要你一知道這
個值,請執行:
dd if=/dev/mem0a count=20 | od -Ax -t x1
然後尋找你的位址之輸出。只有偶數位元組被定義了,因此可以忽略傾印資
料內的奇數位元組。記下位址的第一個位元組的十六位元位移。現在,編修
modules/pcnet_cs.c
並尋找 hw_info
構造。你需要為你的
卡片建立一個新的條目。第一個欄位就是記憶體位移。接著的三個欄位就第
硬體位址的前三個位元組。最後一欄位含有卡片的特別功能的旗標; 開始時
請試著將它設為 0。
編修完 pcnet_cs.c
後, 編譯與安裝新的模組。 再次修改
/etc/pcmcia/config
, 然後改變卡片的連繫從 memory_cs
換成 pcnet_cs
。順著指示重新載入建構檔案後就完成了。請您寄給我
一份你的新hw_info
檔案以及建構的條目內容。
如果你沒有在十六進位傾印內找到你的卡片的硬體位址。最後的一個方法,
當 pcnet_cs
模組初始化時想要 ``hard-wire( 硬體接合 )'' 是有可
能的。請編修 /etc/pcmcia/config.opts
並加入 hw_addr=
選項,像這樣:
module "pcnet_cs" opts "hw_addr=0x00,0x80,0xc8,0x01,0x02,0x03"
在適宜的地方代換掉你自己的卡片之硬體位址。當然,請小心如果你已經做 了那麼多了,那你的卡片就不太像是個 NE2000 相容卡了。事實上,我並不 確定是否有 任何 卡片在經過了前面兩種方法之一後還不能用的了 。
在 Compaq Aero 及少數一些筆記型電腦所使用的 PCMCIA 軟碟機介面卡目 前尚未被支援。 主要障礙在於 Aero 似乎使用自訂的 PCMCIA 控制器來使 DMA 支援軟碟機。在不曉得這是如何辦到的情況下,我們就無法找出解決的 方法。
如果在 Aero 被開啟時軟碟機介面卡是插著的, Aero 的 BIOS 就會建構該 卡,此時 Linux 會把它視為一般的軟碟機。當 Linux 的 PCMCIA 驅動程式 被載入時, 它們會查察到這卡已被建構並已附著在 Linux 的驅動程式上, 而這插槽也會被忽略不管了。所以,如果在開機時卡片即插著了那就可以使 用,但它不具備熱機交換的功能。
在目前的 PCMCIA 套件中有含了一個古援 Xircom 乙太網路及乙太網路 / 數據機的驅動程式。 這要感謝 Werner Koch 先生。我有設立一個專門討論 Xircom 驅動程式論譠的超媒體新聞,在 http://hyper.stanford.edu/hypernews/get/pcmcia/xircom.html。
以前 Xircom 卡並沒被支援是因為 Xircom 公司有不能洩露他們的卡片之技 術資訊。後來,他們放鬆這些規定,現在主動提供驅動程式的資訊。