现在我们假设你的卡片已被现有的驱动程序所支持,我们所需要做的是在
/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 公司有不能泄露他们的卡片之技 术信息。后来,他们放松这些规定,现在主动提供驱动程序的信息。