?? pcmcia-howto.txt
字號:
術上并不難,但還是需要您對 Linux 已有一定的熟悉的。 下列的東西必須在您開始安裝PCMCIA程式之前先行安裝妥當: * 一個版本 2.0.* 或 2.1.* 系列的核心原始程式樹。 * 一套合適的模組公用程式。 * (選擇性 ) ``XForms'' X11 使用者界面工具組 目前的驅動程式套件事實上可在核心版本 1.2.8 開始的核心版本上正常工 作。 而用舊一點的核心版本就背道而馳了些,最好不要這樣。 您還需要完整的 Linux 原始程式樹, 不是只有最新版的核心映像檔就可用 來編 譯 PCMCIA 套件的。 PCMCIA 模組含有一些對核心原始程式檔案的參考 指令, 也許您會想做個不含那些不必要的驅動程式的核心, 但是安裝 PCMCIA 并不需要 您這麼做。 目前穩定的的核心程式的原始檔及修補檔可以在 [4]ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0 或 [5]ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0 內找到。 發展中的 核心程式可在 v2.1 目錄內找到,目前的模組公用 程式也可在同樣的地方找到。 在核心 2.0 及 2.1 版所用的 Linux 原始程式樹內的 Documentation/Changes 檔案中描述了核心程式所需要的各種類別的系統元件。您可檢視它并核對您 的系 統是否為最新版本,尤其當您已更新了核心程式。 如果您使用 2.1 版 核心,請 確認您用了正確的程式庫和模組工具的組合。 當您建構核心時,如果您計畫要用 PCMCIA 網路卡,您應該打開網路支援并 關上 正常的 Linux 網路卡驅動程式, 這包括口袋型可攜式型介面卡。 PCMCIA 網路 卡驅動程式都設計成可載入式模組, 所以將驅動程式編譯到核 心程式內只會浪 費空間而已。 如果您要使用 SLIP、PPP 或 PLIP,可在建立核心時將這些功能打開,或者 使用 這些功能的可載入模組版本。 但是在核心 1.2.X 版本下建構作業時有 小缺撼, 就是不能為載入式模組設定建構選項 (例如 SLIP 壓縮 ),所以如 果您需要這個 功能,只好將 SLIP 連結到核心程心□了。 為了要使用 PCMCIA 拓□鏈網路卡, 您的核心程式應該將 ``Token Ring driver support'' (CONFIG_TR) 這項目開啟,并將 CONFIG_IBMTR 這項關閉。 如果您要使用 PCMCIA IDE 卡,針對核心 1.3.72 至 2.1.7 版, 核心建構 時應 該要將 CONFIG_BLK_DEV_IDE_PCMCIA 功能打開,舊版的核心并不 支援可移式 IDE 設備,而較新的核心就不需這麼特別設定了。 如果您要使用 PCMCIA SCSI 卡, 在建構核心時應將 CONFIG_SCSI 功 能打開。 并且,將您要使用的 SCSI 設備項目之驅動程式打開 (SCSI 磁碟 機、磁帶機、 唯讀光碟機等等 )。所有給特定介面卡的低層次驅動程式應該 要關掉,因為它們 只會占用空間而已。 如果您想把給 PCMCIA 設備使用的驅動程式模組化,請修改 /etc/pcmcia/config 來指定哪些模組在哪種卡片使用下需被載入。例如,如果串 列埠驅動程式被 模組化了,那麼串列埠設備的定義應該如下: device "serial_cs" class "serial" module "misc/serial", "serial_cs" 在套件□還有個 X 環境使用的卡片狀態公用程式 cardinfo。 此程式 是奠定在 一個免費供應的使用者介面工具套件 XForms 程式庫。通常被附在 大部份的 Linux 供應商的產品內。 如果您想建造 cardinfo,您得在 建構 PCMCIA 套件前 安裝好 XForms 和所有的一般 X 程式頭檔及程式庫。 2.2 安裝 以下是安裝過程的簡要步驟: * 解開 pcmcia-cs-3.0.?.tar.gz 到 /usr/src目錄內 * 在新的 pcmcia-cs-3.0.? 目錄內執行 ``make config'' * 執行 ``make all'',再執行 ``make install''。 * 為您的系統在 /etc/pcmcia 內自訂 PCMCIA 啟動手稿和選擇檔案 。 如果您想安裝其他非主要 PCMCIA 分享套件程式所包含的客戶端驅動程式, 將它 們解開到 PCMCIA 原始程式樹的頂層,再依正常的建造指令,即可將這 增加的驅 動程式編譯及安裝起來。 執行 ``make config'' 會列出一些建構選項,請檢查您的系統并比對 這些選項 是否符合安裝 PCMCIA 支援的條件。請小心檢查此命令的輸出訊息 ,尤其哪邊有 問題時。 如果您想編譯個 PCMCIA 套件給其他機器使用,在建構手稿執行到出現指定 目標 目錄時請指定個替代的目錄,它應該是個絕對路徑,所有的 PCMCIA 工 具將被安 裝在這目錄的相對位置□。然後,您就可以 tar 這個目錄起 來,再把它拷貝到 其他機器上,解壓縮到相對目錄上後再安裝它們到適當的 地方。 如果您想編譯個 PCMCIA 套件給其他機器使用,在建構手稿執行到要求您指 定目 標目錄時請指定個替代的目錄, 它應該是個絕對路徑,所有的 PCMCIA 工具將被 安裝在這目錄的相對位置□。然後,您就可以 tar 這個目錄 起來,再把它拷貝 到其他機器上,解壓縮到相對目錄上後再安裝它們到適當 的地方。 如果您在其他電腦上做交叉編譯,您可以指定替代檔名給編譯器及連結器。 這對 混合著 a.out 及 ELF 系統時很有助益。此手稿會要求輸入做為除錯時 使用的編 譯旗標。 某些支援公用程式 (cardctl 和 cardinfo) 可以在安全或可信 的形式下編譯。 在安全形式下可以防止非 root 的使用者更改卡片的建構。 可信的形式下允許一 般使用者執行暫停、繼續、重置卡片的命令及改變目前 的建構。建構手稿會問你 要將公用程式編譯成安全或可信的形式,內定為安 全形式。 有些核心程式建構選項會影響到 PCMCIA 的工具。建構手稿(一般狀況下) 會在 執行核心程式時推斷出這些影響。另外,如果您是編譯來安裝到其他機 器上的, 它能從核心原始程式樹□讀到這些建構,或是互動地設定每個選項 。 執行 ``make all'' 後,接著 ``make install'' 將建立并安裝 核心程式模組及 公用程式。 核心模組會被安裝在 /lib/modules/< 版本 >/pcmcia 內。 cardmgr 和 cardctl 兩程式被安 裝在 /sbin 目錄內。 如果 cardinfo 有被建 立的話,它會 被安裝在 /usr/bin/X11 □。 建構檔會被安裝在 /etc/pcmcia 目錄內。如果您安裝在一個舊版 本之上,您的 舊版建構手稿會被備份起來不會被蓋掉,被保存下來的檔案名 稱會被加個 *.~1~、*.~2~ 之類的檔名。 如果您不知道您的 PCMCIA 控制晶片是什麼廠牌的, 您可以使用 cardmgr/ 目錄 下的 probe 公用程式來探測它。目前最主要 的晶片有:Databook TCIC-2 晶片 及 Intel i82365SL 相容晶片。 在少數情況下,probe 命令將無法自動地判斷您的控制器之類別。 如 果您有個 Halikan NBD 486 系統, 它有個放在不同地方的 TCIC-2 控制器 : 此時您就需 要修改 rc.pcmcia 來載入 tcic 模組, 并且將 PCIC_OPTS 參數設定成 ``tcic_base=0x02c0''。 有些使用 Cirrus 控制器的系統, 包括 NEC Versa M 系統的 BIOS 會在系 統啟 動時將控制器置於一個特別的懸置狀態下。在這類系統上,probe 命令并無法找 到任何已知的 PCMCIA 控制器。 如果發生這種事, 請修改 rc.pcmcia 將 PCIC 設為 i82365, PCIC_OPTS 為 ``wakeup=1''。 2.3 安裝完後(使用BSD 啟動手稿的系統) 有些 Linux 供應商,包括 Slackware,使用 BSD 的安排方式做為系統啟動 手稿 的方排。 如果有 /etc/rc.d/rc.M 這個檔的系統就屬這類型 的。安裝在 /etc/rc.d 內的 rc.pcmcia 手稿會控制啟動和 關閉 PCMCIA 系統。 在 ``make install'' 時會用 probe 命令 來決定您的控制器種類并適當修改 rc.pcmcia 的 內容。您可在系統啟 動檔 /etc/rc.d/rc.M 內加上一行如下面的指令來執行 PCMCIA 啟動手稿。 /etc/rc.d/rc.pcmcia start 將這行插排在哪行前面都可以,只要 PCMCIA 驅動程式在 syslogd 後 啟動即可 。 2.4 安裝完後(使用System V 啟動手稿的系統)2.5 安裝完後(使用 System V 起始手稿的系統) Red Hat、 Caldera 及 Debian 等供應商的 Linux 使用 System V 型的安排系統 啟動 檔案。 如果有個 /etc/init.d 或 /etc/rc.d/init.d 目錄的系統就是這類 型。 rc.pcmcia 手稿會被安裝到 /etc/rc.d/init.d/pcmcia 或是 /etc/init.d/pcmcia 下。它會自動啟動 PCMCIA 功能,不必去修改任何的啟動手 稿了。 如果 /etc/sysconfig 目錄在系統內, 那麼有另一個建構檔 /etc/sysconfig/pcmcia 會被建立起來做為啟動選項。 如果您需 要更改任何的 模組選項 (如 PCIC= 或 PCIC_OPTS= 設定 ), 只 需編輯這個建構檔而不必修改 真正的 PCMCIA 啟動手稿。此檔案也不會被往 後的安裝而覆蓋掉。 有些以前的版本使用 /etc/sysconfig/pcmcia-scripts 目錄而不 是現在的 /etc/pcmcia 目錄?,F在所有的系統的版本都已或將改 用 /etc/pcmcia 目錄了 ,。 2.6 插槽驅動程式選項 有些 PCMCIA 控制器擁有其他的功能可能會也可能不會被特別的系統所采用 。而 插槽驅動程式也沒有辦法偵測到是否這些功能被采用與否。請檢查您的 插槽驅動 程式的 man 說明頁看看您的控制器有哪些其他的功能。 低階的插槽驅動程式 tcic 及 i82365 有許多匯流排分時參數特 別是在采用高速 處理器的系統上時需做些修改。分時發生問題的癥狀像卡片 辨認問題、在重負載 下的閉鎖、錯誤比率高,或是造成設備性能變差。詳情 請參閱相關的 man 頁會 有更多的細節,在此簡述如下: * Cirrus 控制器有許多可建構的分時參數。 最重要的應該是 cmd_time 旗標 , 它用來決定 PCMCIA 匯流排周期的長度。 速度快的 486 系統(如 DX4-100 )下將它從 6 (內定值 ) 加大成為 12 或 16 時可看到它效果。 * Cirrus PD6729 PCI 控制器有 fast_pci 旗標,如果 PCI 匯流排的速 度比 25 MHz 快時應該設定它。 * Vadem VG-468 控制器及 Databook TCIC-2 控制器內的 async_clock 旗標必 須更改為與 PCMCIA 匯流排和主匯流排相對的周期速度。更改這個旗 標會使 某些操作上增加等待的時間。然而,我好像還沒聽說有哪個筆記型電 腦需要 這麼做的。 * pcmcia_core 模組有個 cis_speed 參數, 它是用來更改取存卡 片的卡片資 訊結構 Card Information Structure (CIS) 之記憶體速度。有 些速度快的 匯流排時序的系統上,增加這個參數(例如,減慢卡片的存?。?可以解決卡 片辨識的問題。 * 這□我們并非討論分時的議題,但如果您的系統上有一個以上的 ISA-to-PCMCIA 控制器或在擴充塢上有其他的插槽時,i82365 模組應 該和 參數設為 1 的 extra_sockets 一起被載入, 但對於 PCI-to-PCMCIA 或 PCI-to-CardBus 橋接器者就不必這麼做。 所有的這些選項應修改 /etc/rc.d/rc.pcmcia來建構,例如: # Should be either i82365 or tcicPCIC=i82365# Put socket driver timing parameters herePCIC_OPTS="cmd_time=12"# Put pcmcia_core options hereCORE_OPTS="cis_speed=500" 這□有一些特殊系統的分時設定: * 在 ARM Pentium-90 或 Midwest Micro Soundbook Plus 上, 使用 ``freq_bypass=1 cmd_time=8''。 * 在 Midwest Micro Soundbook Elite,使用 ``cmd_time=12'' 。 * 在 Gateway Liberty 上,試試 ``cmd_time=16''。 2.7 系統資源設定 卡片服務系統應該自動地去避免分配到已被其他標準設備使用了的 IO 埠和插斷 。它也會試著偵測本身與不知名設備間的沖突,只不過還不是很完 全可靠。 如 果遇到這種情形, 您需要將 /etc/pcmcia/config.opts 內的資源給排除掉。 以下是某些特定的筆記型電腦之資源設定: * 在 AMS SoundPro, 排除 irq 10. * 在有些 AMS TravelPro 5300 models, use memory 0xc8000-0xcffff. * 在 BMX 486DX2-66, 排除 irq 5, irq 9. * 在 Chicony NB5, use memory 0xda000-0xdffff. * 在 Compaq Presario 1020, 排除 port 0x2f8-0x2ff, irq 3, irq 5. * 在 HP Omnibook 4000C, 排除 port 0x300-0x30f. * 在 Micron Millenia Transport, 排除 irq 5, irq 9. * 在 NEC Versa M, 排除 irq 9, port 0x2e0-2ff. * 在 NEC Versa P/75, 排除 irq 5, irq 9. * 在 NEC Versa S, 排除 irq 9, irq 12. * 在 NEC Versa 6000 系列, 排除 port 0x300-0x33f, irq 9, irq 10. * 在 ProStar 9200, Altima Virage, 及 Acquiline Hurricane DX4-100, 排 除 irq 5, port 0x330-0x35f. 可以使用 memory 0xd8000-0xdffff. * 在 Siemens Nixdorf SIMATIC PG 720C, 使用memory 0xc0000-0xcffff, port 0x300-0x3bf. * 在 TI TravelMate 5000,使用 memory 0xd4000-0xdffff. * 在 Toshiba T4900 CT, 排除 irq 5, port 0x2e0-0x2e8, port 0x330-0x338. * 在 Twinhead 5100, HP 4000, Sharp PC-8700 和 PC-8900, 排除 irq 9 (
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -