Next Previous Contents

6. 使用未被支援的卡片

6.1 建構無法被辨視的卡片

現在我們假設你的卡片已被現有的驅動程式所支援,我們所需要做的是在 /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`

如果你設定好了一張新的卡片,請寄一份設定給我,這樣子我就可以把它包 含進標準建構檔案裏。

6.2 增列對 NE2000相容乙太網路卡的支援

首先, 先查看看這張卡是否已被 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 相容卡了。事實上,我並不 確定是否有 任何 卡片在經過了前面兩種方法之一後還不能用的了 。

6.3 PCMCIA 軟碟機介面卡

在 Compaq Aero 及少數一些筆記型電腦所使用的 PCMCIA 軟碟機介面卡目 前尚未被支援。 主要障礙在於 Aero 似乎使用自訂的 PCMCIA 控制器來使 DMA 支援軟碟機。在不曉得這是如何辦到的情況下,我們就無法找出解決的 方法。

如果在 Aero 被開啟時軟碟機介面卡是插著的, Aero 的 BIOS 就會建構該 卡,此時 Linux 會把它視為一般的軟碟機。當 Linux 的 PCMCIA 驅動程式 被載入時, 它們會查察到這卡已被建構並已附著在 Linux 的驅動程式上, 而這插槽也會被忽略不管了。所以,如果在開機時卡片即插著了那就可以使 用,但它不具備熱機交換的功能。

6.4 支援 Xircom 卡到底怎麼了?

在目前的 PCMCIA 套件中有含了一個古援 Xircom 乙太網路及乙太網路 / 數據機的驅動程式。 這要感謝 Werner Koch 先生。我有設立一個專門討論 Xircom 驅動程式論譠的超媒體新聞,在 http://hyper.stanford.edu/hypernews/get/pcmcia/xircom.html

以前 Xircom 卡並沒被支援是因為 Xircom 公司有不能洩露他們的卡片之技 術資訊。後來,他們放鬆這些規定,現在主動提供驅動程式的資訊。


Next Previous Contents