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