📄 pcmcia-howto-4.html
字号:
</PRE>
</CODE></BLOCKQUOTE>
<P>(未被支援的) Adaptec SlimSCSI 可用以下方法被识别:
<P>
<BLOCKQUOTE><CODE>
<PRE>
Adaptec APA-1460 SlimSCSI
FCC ID: FGT1460
P/N: 900100
Shipped with EZ-SCSI driver software
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>SCSI 设备的参数</H3>
<P>以下的参数可以被定义在 <CODE>scsi.opts</CODE>内:
<DL>
<DT><B><CODE>DO_FSTAB</CODE></B><DD><P>布林 (y/n) 设定:指定是否这个设备应该在 <CODE>/etc/fstab</CODE> 内加个
条目。
<DT><B><CODE>DO_FSCK</CODE></B><DD><P>布林 (y/n) 设定:指定是否档案系统应该在被挂上前以 ``<CODE>fsck -Ta</CODE>''
来检查一下。
<DT><B><CODE>DO_MOUNT</CODE></B><DD><P>布林 (y/n) 设定: 指定是否这个设备应该在卡片被插入的同时被自动地被
挂上。
<DT><B><CODE>FSTYPE</CODE>, <CODE>OPTS</CODE>, <CODE>MOUNTPT</CODE></B><DD><P>档案系统型态、 挂上选项、以及被用来做为 fstab 的项目及/或挂上该设
备的挂上点。
</DL>
<P>例如,以下是一个建构一个 SCSI ID 为 3、有 2 个分割区的磁碟设备还有
一个 SCSI ID 为 6 的 CD-ROM 之手稿:
<P>
<BLOCKQUOTE><CODE>
<PRE>
case "$ADDRESS" in
*,sd,*,0,3,0)
# This device has two partitions...
PARTS="1 2"
;;
*,sd,*,0,3,0,1)
# Options for partition 1:
# update /etc/fstab, and mount an ext2 fs on /usr1
DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="ext2"
OPTS=""
MOUNTPT="/usr1"
;;
*,sd,*,0,3,0,2)
# Options for partition 2:
# update /etc/fstab, and mount an MS-DOS fs on /usr2
DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="msdos"
OPTS=""
MOUNTPT="/usr2"
;;
*,sr,*,0,6,0)
# Options for CD-ROM at SCSI ID 6
PARTS=""
DO_FSTAB="y" ; DO_FSCK="n" ; DO_MOUNT="y"
FSTYPE="iso9660"
OPTS="ro"
MOUNTPT="/cdrom"
;;
esac
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>诊断SCSI卡的问题</H3>
<P>
<UL>
<LI>使用 <CODE>aha152x_cs</CODE> 驱动程式 (被 Adaptec、 New Media 以及有些牌子
所使用 ),似乎在 SCSI 脱离连接/再连接支援时使用磁带机时常会有问题
。要将这个问题解除,请在 <CODE>/etc/pcmcia/config.opts</CODE> 中加入下
列这行:
<BLOCKQUOTE><CODE>
<PRE>
module "aha152x_cs" opts "reconnect=0"
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>如果你将 SCSI 支援编译成模组了 (<CODE>CONFIG_SCSI</CODE> is ``m''),在
建构 PCMCIA 时, 你必须指定要把建立 SCSI 驱动程式。 你也要修改
<CODE>/etc/pcmcia/config</CODE> 在适合的 <CODE>*_cs</CODE> 驱动程式被载入
前载入 SCSI 模组。</LI>
<LI>如果在 SCSI 汇流排被探测到时看到 ``aborting command due to
timeout'' 讯息时,大部份是你有个插断冲突了。</LI>
</UL>
<P>
<H2><A NAME="ss4.6">4.6 PCMCIA 记忆卡</A>
</H2>
<P>1tt/memory_cs/ 驱动程式负责所有型态的设忆卡, 并且还提供对於那些有
其他功能的卡的 PCMCIA 记忆体位址空间直接存取功能。当被载入时,它建
立了一个字元与区块设备的组合体。 请看这模组的 man 页中有个完整的设
备取名规则的描述。区块设备被用来做磁碟类型的存取 (建立和挂上档案系
统等等 )。而字元设备被用来做 " 未加工 " 的未被缓冲之随意位置上读与
写。
<P>被传送到 <CODE>memory.opts</CODE> 的设备位址包含了 2 个栏位: 架构和插槽号
码。这个选项被放在相对应的记忆卡内的第一个共同记忆分割区中。
<P>有些旧型的记忆卡, 还有大部份的简单静态 RAM 卡,都缺少 `` 卡片资讯
架构 '' (CIS),e PCMCIA 卡用来辨视它们自已的一种 scheme。 一般来说
, <CODE>cardmgr</CODE> 会将任何缺少 CIS 的卡片视为一个简单记忆卡, 并载入
<CODE>memory_cs</CODE> 驱动程式。 因此,有个边际效应是,一般的识别问题是其
他型式的卡片可能会错误地被侦测为记忆卡了。
<P><CODE>memory_cs</CODE> 驱动程式使用了 heuristic 来猜测这些卡片的容量。
heuristic 在写入保护的卡片上并无法工作, 有时还有可能会出错误。
如果卡片被误判了,当你在使用像 <CODE>dd</CODE> 或 <CODE>mkfs</CODE> 这样的命令时,
它的容量应要明确地被指定。
<P>
<H3>记忆设备参数</H3>
<P>
<P>下列参数可以放在 <CODE>memory.opts</CODE>内:
<P>
<DL>
<DT><B><CODE>DO_FSTAB</CODE></B><DD><P>布林 (y/n) 设定:指定是否这个设备应该在 <CODE>/etc/fstab</CODE> 内加个
条目。
<DT><B><CODE>DO_FSCK</CODE></B><DD><P>布林 (y/n) 设定: 指定是否档案系统应该在被挂上前以 ``<CODE>fsck
-Ta</CODE>'' 来检查一下。
<DT><B><CODE>DO_MOUNT</CODE></B><DD><P>布林 (y/n) 设定: 指定是否这个设备应该在卡片被插入的同时被自动地被
挂上。
<DT><B><CODE>FSTYPE</CODE>, <CODE>OPTS</CODE>, <CODE>MOUNTPT</CODE></B><DD><P>档案系统型态、 挂上选项、以及被用来做为 fstab 的项目及/或挂上该设
备的挂上点。
</DL>
<P>以下□例会针对插上任一插槽的记忆卡做自动挂上动作的手稿:
<P>
<BLOCKQUOTE><CODE>
<PRE>
case "$ADDRESS" in
*,0,0)
# Mount filesystem, but don't update /etc/fstab
DO_FSTAB="n" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="ext2" ; OPTS=""
MOUNTPT="/mem0"
;;
*,1,0)
# Mount filesystem, but don't update /etc/fstab
DO_FSTAB="n" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="ext2" ; OPTS=""
MOUNTPT="/mem1"
;;
esac
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>使用快闪记忆卡</H3>
<P>传到 <CODE>ftl.opts</CODE> 内的设备位址有 3 或 4 个栏位: the scheme、插槽
号码、区号码以及另外的选项,分割号码。大部份的快闪卡只有一个快闪记
忆体区,所以大部份的区号码都是 0 的。
<P>要将快闪记忆卡当成一般的磁碟来使用, 首先要建立 FTL,或
`` 快闪转译层级 (flash translation layer)'',它是一个使
用 <CODE>ftl_format</CODE> 命令在设备上做成的一个分割。 这层资料隐藏了快闪
记忆体程式的设备指定细节,并让卡片看起来就像是个简单的区块设备。例
如:
<P>
<BLOCKQUOTE><CODE>
<PRE>
ftl_format -i /dev/mem0c0c
</PRE>
</CODE></BLOCKQUOTE>
<P>记得这个命令是经由 `` 未加工的 '' 记忆体卡片介面来存取卡片的。一经
格式化後, 这个卡就可以经由 <CODE>ftl_cs</CODE> 驱动程式将它当成一般的区块
设备那样地做存取了。例如:
<P>
<BLOCKQUOTE><CODE>
<PRE>
mke2fs /dev/ftl0c0
mount -t ext2 /dev/ftl0c0 /mnt
</PRE>
</CODE></BLOCKQUOTE>
<P>被命名成 FTL 类的设备都有点怪怪的。Minor device numbers 有三个部份
: 卡片号码、卡片内的区域号码以及选项-在区域号码内的分割。这儿的区
域可以被看成为没有分割表格的单一区块设备 (就像软体片一样 ) 或者它
也可以被分割,就像是个硬碟设备一样。 ``ftl0c0'' 设备是卡片 0,共同
记忆体区域为 0, 整个区域。 如果这个区域已被分割了, 那麽从
``ftl0c0p1'' 到 ``ftl0c0p4'' 的设备是主分额区 1 到 4 了。
<P>快闪记忆体卡片有两种主要的格式: FTL 型式, 以及 Microsoft
的快闪档案系统 Flash File System。FTL 格式是最有弹性的
,因为它允许一般的任何高阶档案系统 (ext2、ms-dos 等等 ) 都可视为一
般磁碟设备般地来使用。FFS 则完全是个不同的档案系统类型了。Linux 目
前无法处理用 FFS 格式化的卡片。
<P>
<H2><A NAME="ss4.7">4.7 PCMCIA ATA/IDE 卡式硬碟机</A>
</H2>
<P>对 ATA/IDE 磁碟机的支援需要 1.3.72 或更新的核心版本。 驱动程式内
指定 PCMCIA 的部份是 <CODE>fixed_cs</CODE>。 请记得在抽出 ATA/IDE 卡前请使
用 <CODE>cardctl</CODE> 或 <CODE>cardinfo</CODE> 程式把它先关闭, 因为这个驱动程式
并没有被设计成可 ``防止热置换的''。
<P>传送到 <CODE>fixed.opts</CODE> 内的设备位置包含三或四个栏位: 目前的
scheme、插槽号码、磁碟的序号以及选项的分割号码。<CODE>ide_info</CODE> 可以
被用来获得 IDE 磁碟的序号。 使用 SCSI 设备时,<CODE>fixed.opts</CODE> 会在
第一次被呼叫给整个设备做设定。 如果 <CODE>fixed.opts</CODE> 回应了一个在
<CODE>PARTS</CODE> 变数内的一串分割资讯, 命令手稿接著就会为每一个分割做设
定。
<P>
<H3>ATA/IDE 固定磁碟设备参数</H3>
<P>
<P>以下的参数可以被定义在 <CODE>fixed.opts</CODE>内:
<P>
<DL>
<DT><B><CODE>DO_FSTAB</CODE></B><DD><P>布林 (y/n) 设定:指定是否这个设备应该在 <CODE>/etc/fstab</CODE> 内加个
条目。
<DT><B><CODE>DO_FSCK</CODE></B><DD><P>布林 (y/n) 设定:指定是否档案系统应该在被挂上前以 ``<CODE>fsck -Ta</CODE>''
来检查一下。
<DT><B><CODE>DO_MOUNT</CODE></B><DD><P>布林 (y/n) 设定: 指定是否这个设备应该在卡片被插入的同时被自动地被
挂上。
<DT><B><CODE>FSTYPE</CODE>, <CODE>OPTS</CODE>, <CODE>MOUNTPT</CODE></B><DD><P>档案系统型态、 挂上选项、以及被用来做为 fstab 的项目及/或挂上该设
备的挂上点。
</DL>
<P>以下是个 <CODE>fixed.opts</CODE> 档案的例子用来挂上任一个 ATA/IDE 卡的第一
个分割到 <CODE>/mnt</CODE> 目录上。
<P>
<BLOCKQUOTE><CODE>
<PRE>
case "$ADDRESS" in
*,*,*)
PARTS="1"
;;
*,*,*,1)
DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
FSTYPE="msdos"
OPTS=""
MOUNTPT="/mnt"
;;
esac
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>诊断 ATA/IDE 卡的问题</H3>
<P>
<UL>
<LI>有些 IDE 磁碟允许 PCMCIA 的规格使用比最大可允许卡片设定起来的时间
更长的时间来起动。要使用这些卡片,请载入 <CODE>pcmcia_core</CODE> 模组配合
下面的设定:
<BLOCKQUOTE><CODE>
<PRE>
CORE_OPTS="unreset_delay=400"
</PRE>
</CODE></BLOCKQUOTE>
</LI>
<LI>要使月 ATA/IDE CD-ROM 设备,你的核心必须将 <CODE>CONFIG_BLK_DEV_IDECD</CODE>
功能打开且编译进去。通常标准的核心都已支援了,然而如果你想编译个自
定的核心请记得要谨慎些。</LI>
</UL>
<P>
<H2><A NAME="ss4.8">4.8 多功能卡</A>
</H2>
<P>从 1.3.73 Linux 核心开始,几个驱动程式可以共用单一个插断,像串列埠
驱动程式与一个乙太网路驱动程式。在新的核心下使用多功能卡片时,所有
的卡片可以不用在载入或御下驱动程式的状况下使用卡片的所有功能。
<P>很多的硬体厂商自已做了不太能互相相容的 (有些可说是独立的 ) 插断共
享方法来模拟使用二个卡的功能。有些卡片 (Diamonds 的 Ositech Jack、
、3Com 的 3c562、Linksys) 的驱动程式可以正确地支援这样的模拟存取,
但是有些卡 (特别是 Megahertz) 则不能。
<P>早期的核心并不支援插断分享给不同的设备驱动程式。所要 PCMCIA 驱动程
式不可能建构此卡片让它可模拟乙太网路卡与数据卡的存取。乙太网路卡与
串列埠驱动程式会被自动地载入。然而,内定上是乙太网路驱动程式 `` 拥
有 '' 这张卡片的插断。要使用数据机,你可以卸下乙太网路驱动程式,然
後使用以列方法重新建构串列埠:
<P>
<BLOCKQUOTE><CODE>
<PRE>
ifconfig eth0 down
rmmod 3c589_cs
setserial /dev/modem autoconfig auto_irq
setserial /dev/modem
</PRE>
</CODE></BLOCKQUOTE>
<P>第二个 <CODE>setserial</CODE> 会查证出该埠在先前是由乙太网路驱动程式所使用
的插断。
<P>
<HR>
<A HREF="PCMCIA-HOWTO-5.html">Next</A>
<A HREF="PCMCIA-HOWTO-3.html">Previous</A>
<A HREF="PCMCIA-HOWTO.html#toc4">Contents</A>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -