📄 pcmcia-howto.txt
字号:
Vcc = 5.0, Vpp1 = 0.0, Vpp2 = 0.0 Card type is memory and I/O IRQ 3 is dynamic shared, level mode, enabled Speaker output is enabled Function 0: Config register base = 0x0800 Option = 0x63, status = 0x08 I/O window 1: 0x0280 to 0x02bf, auto sized I/O window 2: 0x02f8 to 0x02ff, 8 bit ``cardctl suspend'' 和 ``cardctl resume'' 两个命令可以用 来在不需卸下它 的相关驱动程式的状况下关闭卡片。``cardctl reset'' 命令会重新设定及建构 卡片。 ``cardctl insert'' 和 ``cardctl eject'' 摸拟当一个实体的卡片插入 或抽出时所做的动作 ,这包含载入或卸下驱动程式以及建构或关闭设备。 如果您正执行 X, cardinfo 公用程式会产生一个图 示来显示所有的 PCMCIA 插 槽的现况, 内容和执行 ``cardctl config'' 类似。它还提供其他 cardctl 功 能的图形化功能。 插入与抽出卡片 在理论上,你可以在任何时间插入或移出 PCMCIA 卡片。然而,把正在被其 他程 式使用中的卡片移出来并不是个好主意。在核心 1.1.77 版以前的系统 常会在串 列/数据机卡片被移出时造成当机,但现在已有修正方法了。 卡片服务程式与进阶能源管理 卡片服务程式可以编译成支援 APM ( 进阶能源管理) , 如果你已安装了这个套 件到你的系统内的话。 APM 在核心 1.3.46 (含)以後就被整合了。 现在这套 件被 Rick Faith (faith@cs.unc.edu) 所维护, APM 工具可以由 [6]ftp://ftp.cs.unc.edu/pub/users/faith/linux 拿到。如果你的系 统被侦测 出有个相容的版本在的话, PCMCIA 模组会被自动地建构成支援 APMM 功能。 如果没有藉著 APM, 你可以在悬置你的笔记电脑前执行 ``cardctl suspend'', 以及在回覆後执行 ``cardctl resume'',才能适当地关 上或重启你的 PCMCIA 卡。 这对正在使用中的数据机并不适用, 田因序 列驱动程式并无法储存与回应 数据机的运作参数。 APM 在有些系统上似乎有点不太稳定。 如果你遇到 APM 和 PCMCIA 共用时 有任 何问题,请您在提出程式小虫报告前先试著把问题简化。 有些驱动程式, 比如说 PCMCIA SCSI 驱动程式,无法从悬置/重新动作周 期下 回覆过来。 在使用 PCMCIA SCSI 卡时, 在悬置系统前先执行 ``cardctl eject''。 关闭 PCMCIA 系统 要卸下整个的 PCMCIA 套件, invoke rc.pcmcia with: /etc/rc.d/rc.pcmcia stop 这个手稿会花几秒钟来执行,给全部的客户自订驱动程式来完美地关闭 。如果有 个 PCMCIA 设备正被使用中,这样关可能不会很完整地关闭,有些 核心模组可能 不会被卸下。 要防止发生这种状况, 请在执行 rc.pcmcia 之前使用 ``cardctl eject'' 来关闭所有的插槽。 cardctl 命令的离开状态会显示如果有 任何的插槽不能被关闭的。 4.2 PCMCIA建构手稿的概要 每一个 PCMCIA 设备都会有个相对应的 `` 类别 '' 来描述它应该如何被建 构与 管理的。这些类别与设备驱动程式都被组织在 /etc/pcmcia/config 内。目前共 有五种输出输入设备的类别 (网 路、 SCSI、 cdrom、硬碟以及串列 ) 以及二种 记忆体设备类别 (记忆体与 FTL)。在每一个类别中,都有二个手稿放在 /etc/pcmcia/config 内:一个主要建构手稿 (例如, /etc/pcmcia/scsi 是 SCSI 设 备的 ),以及一个选项手稿 (例如, /etc/pcmcia/scsi.opts)。 主手 稿在卡片被插入时会被启用来建构该设备,当卡片被抽出时关掉该设备 。对於支 援多种设备的卡片,针对各别不同的设备的手稿都会被启用。 这 config 手稿会从 /var/run/stab □解出一些有关於设备上的 资料开始。 每 一个手稿会构□一个 `` 设备位址 '',它是独一无二的位址 用来描述该设备在 ADDRESS shell 变数内被要求被建构的方式。它会 被传递到 *.opts 手稿上, 该手稿再回应有关於在这位址上的设备应 该要怎样地建构才可以的资讯。 有些 设备, 它的设备位址就是插槽号码。 还有其他的设备,它会包含另外的有用资 讯可以用来决定如何来建构该设备 。例如,网路设备会传递他们的硬碟乙太网路 位址做为设备位址的一部份, 来让 network.opts 手稿能够使用这项资讯来从许 多不同的建构中做 正确的选择。 所有的设备位址的首要部份是目前的 PCMCIA ``scheme''。这个参数是被用 在只 有一个外部使用者指定变数时用来对设备建构之多种设定的。对於它的 应用, 例如我们可以有个 ``home'' scheme 以及一个 ``work'' scheme, 它们包括了 不同的网路建构参数的组合。 目前的 scheme 可以使用 ``cardctl scheme'' 命 令来做选择。如果没有 scheme 被指定的话就 以内定值来设定。 一般原则上,当要建构 Linux 在笔记型电脑上时,PCMCIA 的设备只能被经 由 PCMCIA 设备手稿来建构。 请不以试著以建构固定设备的方式来建构 PCMCIA 设 备。然而,有些 Linux 供应版商提供已接在他们自已的设备建构 工具上的 PCMCIA 套件。在这种情况下,以下的几个主题可能无法使用,而 供应版商应该 会有他们自己的这类文件。 4.3 PCMCIA 网路卡 Linux 的乙太型网路卡介面通常被称做 eth0、eth1 等等。环形 卡亦同样地被看 待。 然而它们被称做 tr0、 tr1 等等。 ifconfig 命令是被用来观看及修改网 路介面状态的。Linux 的另一特 点是网路介面并不会像其他设备一样地被看成是 一个在 /dev □ 头的档案。所以如果您在 /dev 内找不到它们时请不要觉得惊讶 。 当一个 PCMCIA 乙太网路卡被侦测到时,它会被指定为第一个可用的介面卡 名字 , 通常为 eth0。 Cardmgr 命令会执行 /etc/pcmcia/network 手稿来建构它的 介面。 请勿将您的 PCMCIA 乙太网路卡建构在 /etc/rc.d/rc.inet1 内 ,因为当这个手 稿被执行时也许卡片并不在插槽□。 在 rc.inet1 内 除了回归的项目之外, 其 它的命令列请将他们注解掉。 而另外修改 /etc/pcmcia/network.opts 来配合您 的本地网路设定。 network 和 network.opts 手稿只有在您的乙太网路卡存在时 才 会被执行。 如果您的系统有自动网路建构程式, 它也许是也许不是 PCMCIA-aware。 请从您的 Linux 供应版本的文件中查看看是否 PCMCIA 网 路设 备是否需要使用自动化工具来建构或只需编辑 network.opts 即 可。 传到 network.opts 的设备位址中包含了四个以逗号来分开的栏位: scheme、插 槽号码、设备提议及卡片硬体的乙太网路位址。设备提议是用来 给有许多网路介 面的卡片取号码之用,通常为 0。如果您有许多不同使用目 地的卡片时,另一按 照插槽位置而建构的选项应该被设定,如同在: case "$ADDRESS" in*,0,*,*) # definitions for network card in socket 0 ;;*,1,*,*) # definitions for network card in socket 1 ;;esac 或是,它们可能被以自己的硬体位址被建构,如下: case "$ADDRESS" in*,*,*,00:80:C8:76:00:B1) # definitions for a D-Link card ;;*,*,*,08:00:5A:44:80:01) # definitions for an IBM cardesac 网路设备参数 以下的参数可在 network.opts内被使用: IF_PORT 指定乙太网路收发器类型, 这是针对那些无法自动侦测的卡使用。 请看 ``man ifport'' 内有收发器名称。 BOOTP 布林 (y/n) 设定: 表示是否主机的 IP 位址和分路资讯是否可以经由 BOOTP 协定来获取。 IPADDR 指定IP位址。 NETMASK, BROADCAST, NETWORK 基本网路参数: 请参阅 networking HOWTO GATEWAY 给主机的子网路使用的通讯闸 IP 位址。只要是在这个子网路以外的封包 都 会被转到这个闸道。 DOMAIN 给主机的网路 domain name,被用来建立 /etc/resolv.conf。 DNS_1, DNS_2, DNS_3 主机名称或是 IP 位址给这个介面的 nameservers, 被加到 /etc/resolv.conf内。 MOUNTS A 给这个介面使用来做 NFS 挂入点的列表。 IPX_FRAME, IPX_NETNUM 对 IPX 网路: frame type 及网路号码将被传输到 ipx_interface 命令 上。 例如: case "$ADDRESS" in*,*,*,*) IF_PORT="10base2" BOOTP="n" IPADDR="10.0.0.1" NETMASK="255.255.255.0" NETWORK="10.0.0.0" BROADCAST="10.0.0.255" GATEWAY="10.0.0.1" DOMAIN="domain.org" DNS_1="dns1.domain.org" ;;esac 若想自动挂上或卸下网路档案系统,首先将档案系统加到 /etc/fstab 内,在挂 上选项上加上 noauto。 在 network.opts 内 使用 MOUNTS 变数列明档案系统的 挂入点。 这特别是在使用 cardctl 或 cardinfo 命令来关闭当网路档案系统是 用这个方法 建构而挂上的网路卡时。如果在没预警下网路卡被移出时,是无法完 全地卸 下网路档案系统的。 除了一般的网路建构参数之外,network.opts 手稿可用来在介面已经 被建构起 後或被关闭後做另外的动作时使用。 如果 network.opts 定 义了一个叫 start_fn 的命令层功能呼叫, 当介面被建构後它会被网 路手稿所启用,而介面 名称将会被传送到这个功能函数做为第一个参数(也 只有这个)。相同地,如果 stop_fn 被定义了,那麽它会在关闭一个 介面前被启用。 收发器类型可以用 IF_PORT 来设定。它可以是 PCMCIA 之前版本的数 值表示或 是识别收发器的关键字。所有的网路驱动程式尽可能将它设定为自 动侦测(如果 可能的话)介面或是 10baseT 的。 ifport 命令可用来 检查或设定目前的收发 器类型,例如: # ifport eth0 10base2## ifport eth0eth0 2 (10base2) 目前的 3c589 驱动程式版本会自动侦测网路的连结, 但还无法完全发挥它 的功 能。若想以自动侦测来工作,在网路卡被建构前网路线应该是已连接著 网路卡上 的。要不然,等网路接好後,您可以下列命令迫使驱动程式检查连 结: ifconfig eth0 down up 特定卡片的评语 * 使用 IBM CCAE 和 Socket EA 卡在网路设备被建构时, 您需挑个接收器类 型 (10base2、10baseT、AUI),并确认在您的系统日志上所记录的接收器与 您所连结的相同。 * 给 SMC、Megahertz、 Ositech 及 3Com 卡片的驱动程式应该会自动侦测连 接著的网路类型 (10base2 或 10baseT) 。 当驱动程式被载入时会设 定收 发器类型来订定义卡片的 ``第一次猜想''。 * Farallon EtherWave 事实上是和 3Com 3c589 相同的, 但有个特殊的收发 器。 虽然 EtherWave 使用 10baseT 类的连接方式, 但它的收发器需要把 3c589 建构成 10base2 模式。 * 如果您使用 IBM CCAE、NE4100、 Thomas Conrad 或 Kingston 介面卡时遇 到问题, 请试著在 pcnet_cs 模组内的 mem_speed=# 选项 增加记忆体存取 时间。在标准的 config.opts 档案内有个教你如何做 的□例。请试看看速
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -