⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcmcia-howto-4.html

📁 Linux初学者最好的老师就是howto了。相当于函数man。
💻 HTML
📖 第 1 页 / 共 3 页
字号:
的功能。若想以自动侦测来工作,在网路卡被建构前网路线应该是已连接著
网路卡上的。要不然,等网路接好後,您可以下列命令迫使驱动程式检查连
结:
<P>
<BLOCKQUOTE><CODE>
<PRE>
ifconfig eth0 down up
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>特定卡片的评语</H3>

<P>
<P>
<UL>
<LI>使用 IBM CCAE 和 Socket EA 卡在网路设备被建构时, 您需挑个接收器类
型 (10base2、10baseT、AUI),并确认在您的系统日志上所记录的接收器与
您所连结的相同。</LI>
<LI>给 SMC、Megahertz、 Ositech 及 3Com 卡片的驱动程式应该会自动侦测连
接著的网路类型  (10base2   或  10baseT) 。  当驱动程式被载入时会设
定收发器类型来订定义卡片的 ``第一次猜想''。</LI>
<LI>Farallon EtherWave 事实上是和 3Com 3c589 相同的, 但有个特殊的收发
器。 虽然 EtherWave 使用 10baseT 类的连接方式, 但它的收发器需要把
3c589 建构成 10base2 模式。</LI>
<LI>如果您使用 IBM CCAE、NE4100、 Thomas Conrad 或 Kingston 介面卡时遇
到问题, 请试著在 <CODE>pcnet_cs</CODE> 模组内的 <CODE>mem_speed=#</CODE> 选项
增加记忆体存取时间。在标准的 <CODE>config.opts</CODE> 档案内有个教你如何做
的□例。请试看看速度在 1000 ns(奈秒)以上。</LI>
<LI>New Media 乙太网路卡在接到某些系统上时,可能需要在 <CODE>pcmcia_core</CODE>
模组被载入时, 以 <CODE>io_speed=#</CODE> 选项来增加 IO 埠的存取时间。
在启动手稿的 <CODE>CORE_OPTS</CODE>  选项可以设定它。</LI>
<LI>New Media 乙太网路卡驱动程式的多工传播支援并不完整。最新的驱动程式
版本可与多工传播核心一起使用,但会略过多工传播封包。不规则模式应该
可以工作正常了。</LI>
<LI>给 IBM 及 3Com token ring 卡的驱动程式在卡片尚未接上一个 ring 上时
就做初始化是会有点问题。所以请一定记得在开机前一定要把这些卡片和
网路连接在一起。 这个驱动程式也需要空置的 IO 埠在 0xa20-0xa27 □围
内。在有些系统上,自动 IO 埠冲突检查器会错误地判定说这个埠□围并不
是空置的。   遇到这种情况,  我们可以把埠检查器给关闭掉。   只要在
载入 <CODE>pcmcia_core</CODE> 模组时设定 <CODE>probe_io=0</CODE>即可。</LI>
<LI>Newer Linksys 及 D-Link 的卡片有个特殊的选择收发器方式,目前还不被
Linux 的驱动程式所能控制。 只有一个变通的方法是以 DOS 开机并使用厂
商所付的公用程式来选择收发器後,再暖开机进到 Linux □。 我现在也正
在寻找首次的测试者使用 Linux 的公用程式来做到这些功能。</LI>
<LI>对 WaveLAN 无线网路卡来说,Jean Tourrilhes (<CODE>jt@hplb.hpl.hp.com</CODE>)
写了一篇无线的  (设备  )  wireless   HOWTO  放在  
<A HREF="http: //www-uk.hpl.hp.com/people/jt/Linux/Wavelan.html">http: //www-uk.hpl.hp.com/people/jt/Linux/Wavelan.html</A> 内。</LI>
</UL>
<P>
<H3>诊断网路卡的问题</H3>

<P>
<P>
<UL>
<LI>您的卡片有被辨视成乙太网路卡吗? 请查看系统日志并确认  <CODE>cardmgr</CODE>
已正确地辨视了这张卡,而且已启动了一种网路驱动程式了。如果没有,您
的卡片也可能还是可以使用,只要它与任一种被支援的卡片相容的话。只要
是这卡片是与 NE2000 相容的卡片都可以做到。</LI>
<LI>卡片有妥当地被建构了吗?   如果你使用的是被支援的卡片,  而且它已被
<CODE>cardmgr</CODE>所辨视了,但它还是无法工作,这可能是因为它与其他的设备
发生插断或埠的冲突了。请查明这张卡片使用了吗些资源 (从系统日志□找
), 然後试著在 <CODE>/etc/pcmcia/config.opts</CODE> 内把这些给排除掉来
迫使卡片使用其他的资源。</LI>
<LI>如果你的卡片似乎已妥当地建构了,但有时候还是会锁死不能动,尤其是在
高负载时,你可能需要试著改变你的插槽驱动程式的分时参数。详细资料请
<A HREF="PCMCIA-HOWTO-2.html#timing">2.3</A> 这章。</LI>
<LI>当你在存取网路使遇到像 ``network unreachable'' 这类的讯息, 可能是
你在 <CODE>/etc/pcmcia/network.opts</CODE> 有设定错误的地方。 另外,错
误地建构的卡片通常会安静地发生问题。</LI>
<LI>要诊查在 <CODE>/etc/pcmcia/network.opts</CODE> 内的错误, 开始请先试著
以它们的 IP 位址来 ping 同一次网路的其他系统。然後试著 ping 你的闸
道,然後其他次网路内机器。在试完这些较简单的测试後,再以机器的名字
来 Ping。</LI>
<LI>请要确认你的问题真的个  PCMCIA  的问题。 你可以在 DOS 下以厂商供应
的驱动程式来驱动看看是否可以工作,这样将有助於判断。并再次复检你对
<CODE>/etc/pcmcia/network.opts</CODE> 手稿内的任何修改。并确认你的缆线
、``T'' 接头、终端电阻器等等的元件都可正常工作。</LI>
</UL>
<P>
<H2><A NAME="ss4.4">4.4 PCMCIA 串列与数据机设备</A>
</H2>

<P>Linux 的串列设备都是被经由 <CODE>/dev/cua*</CODE> 和 <CODE>/dev/ttyS*</CODE>
特殊设备档案来做取用。 <CODE>ttyS*</CODE> 的设备被使用在进来的连接,例如直
接地连接终端机。<CODE>cua*</CODE> 的设备被使用在往外的连接,比如说数据机。
而每一个实体串列埠都各有 <CODE>ttyS</CODE> 和 <CODE>cua</CODE> 两个设备档: 要使用
哪个适当的设备到你的应用上都由您来决定。
<P>对於串列设备的建构,您可使用 <CODE>setserial</CODE> 命令来检查与修改。
<P>当一个 PCMCIA 串列卡或数据卡被侦测到时,它会被指定成为第一个可用的
串列设备。通常是 <CODE>/dev/ttyS1</CODE> (<CODE>cua1</CODE>) 或 <CODE>/dev/ttyS2</CODE>
(<CODE>cua2</CODE>) ,这完成看原已内建的串列埠数目。  <CODE>ttyS*</CODE> 设备会被
报告在   <CODE>/var/run/stab</CODE>    内。   原内定的串列设备选项手稿
<CODE>/etc/pcmcia/serial.opts</CODE> 会将之连结到相对应的 <CODE>cua*</CODE> 设
备档案成为 <CODE>/dev/modem</CODE>。这样就很便利了。
<P>请勿使用 <CODE>/etc/rc.d/rc.serial</CODE> 来建构 PCMCIA 数据机。这个手
稿应该只能被用来建构那些非可移动的设备。如果你想要设定你的数据机来
做任何特别的动作时,请修改 <CODE>/etc/pcmcia/serial.opts</CODE> 这个手
稿。 另外, 也请勿使用 <CODE>setserial</CODE> 来改变 PCMCIA 串列设备的设备
IO 埠和插断设定。 这样做只会告诉串列驱动程式到不对的地方寻找串列设
备,但不会改变卡片硬体方面真正被建构的事实。串列建构手稿允许您指定
其他的 <CODE>setserial</CODE>  选项, 以及是否您该在 <CODE>/etc/inittab</CODE>
内为这个埠加一行设定。
<P>快传送到 <CODE>serial.opts</CODE> 的设备位址共有三个由逗点所分开的栏位:第
一是 scheme、 第二是插槽号码以及第是  device instance。 The device
instance 会为支援多串列埠的卡选用多个数据,但对於单一埠卡来说, 它
永远都是零。 如果你常使用不只一个的 PCMCIAl 数据机,你可能需要针对
各别插槽内的数据机做不同的设定。如下:
<P>
<BLOCKQUOTE><CODE>
<PRE>
case "$ADDRESS" in
*,0,*)
    # Options for modem in socket 0
    LINK=/dev/modem0
    ;;
*,1,*)
    # Options for modem in socket 1
    LINK=/dev/modem1
    ;;
esac
</PRE>
</CODE></BLOCKQUOTE>
<P>如果 PCMCIA 数据卡在 Linux 启动时即被建构好了, 那它可能已被错误地
被辨识成为一般的内建串列埠了。这虽然无害处,但是,当 PCMCIA 驱动程
式接手来控制数据机时, 它会被指派成不一样的设备插孔。 最好是 parse
<CODE>/var/run/stab</CODE>   或使用  <CODE>/dev/modem</CODE>,  而不是期望
PCMCIA 数据机总是被指派成相同的设备。
<P>如果你建构你的核心来载入基本的  Linux 串列埠驱动程式成为一个模组,
你必须编修 <CODE>/etc/pcmcia/config</CODE> 来指出该模组必须被载入。 编
修串列设备那列如下:
<P>
<BLOCKQUOTE><CODE>
<PRE>
device "serial_cs"
  class "serial" module "misc/serial", "serial_cs"
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>串列装置参数</H3>

<P>以下的参数可以茬 <CODE>serial.opts</CODE>内被定义:
<DL>
<DT><B><CODE>LINK</CODE></B><DD><P>为符号连结 (symbolic  link)指定个要被建立的路径  ``dialout''  或是
<CODE>/dev/cua*</CODE> 设备。
<DT><B><CODE>SERIAL_OPTS</CODE></B><DD><P>指定有哪些选项将被传送到 <CODE>setserial</CODE> 命令。
<DT><B><CODE>INITTAB</CODE></B><DD><P>如果有指定的话,它将被用来在 <CODE>inittab</CODE> 中为该设备建立一个条目。
</DL>
<P>例如:
<P>
<BLOCKQUOTE><CODE>
<PRE>
case "$ADDRESS" in
*,*,*,*)
    LINK="/dev/modem"
    SERIAL_OPTS=""
    INITTAB="/sbin/getty"
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>诊断串列设备的问题</H3>

<P>
<P>
<UL>
<LI>您的卡被认为是个数据机吗? 请检查系统日志并确认 <CODE>cardmgr</CODE> 有正确
地辨识了这张卡,并且启动了 <CODE>serial_cs</CODE> 驱动程式。如果没有,你可
能需要在你的 <CODE>/etc/pcmcia/config</CODE>  档案中加入一条应该被适当
地辨识的条目。细节请看章节 
<A HREF="PCMCIA-HOWTO-6.html#new-card">3.6</A>。</LI>
<LI>数据卡成功地被 serial_cs 所建构了吗? 再来一次, 请检查系统日志,再
看看从      serial_cs       驱动程式所出来的讯息。      如果你看到
``register_serial() failed'', 你可能遇到了 I/O 埠与其他设备相冲突
了。 另外一个情报是, 如果这个设备被报告说是个 8250;  大部份现在的
PCMCIA 数据卡应该是被辨视成 16550A UART 类型的。如果您觉得遇上了一
个埠冲突了,请编修 <CODE>/etc/pcmcia/config.opts</CODE> 把被配置给数据
卡的埠□围给排除。</LI>
<LI>遇上了插断冲突吗? 如果系统日志看似很好,但数据卡就是好像不能工作,
请试试用 <CODE>setserial</CODE> 来把 irq 改成 0, 再看看数据机是否可以工作
了。这样会让串列驱动程式使用一个慢一些的票选模式而不使用插断来工作
。如果这样可以修正这个问题,那就是在你的系统中有某个其他的设备使用
了被 serial_cs 所选用的插断在工作著。你应该在 <CODE>/etc/pcmcia/config.opts</CODE>
中加一行命令将这个插断给排除掉。</LI>
<LI>如果数据机好像只能慢慢地工作,这就很明显地是个插断冲突的问题了。</LI>
<LI>请确认你所遇到的问题真的是个 PCMCIA 的问题。使用原厂商的驱动程式在
DOS 下看看是否可以正常工作即可知道。另外,在你已确定你可以做简单的
连接前,请不要使用更复杂的方式来测试,比如说 SLIP 或 PPP。如果简单
的连接正常但使用 SLIP 时却不是,你的问题应该就是出在 SLIP 上,而不
是 PCMCIA。</LI>
<LI>如果你得到发自核心的讯息指出 serial_cs 模组无法被载入。 那就表示你
的核心并不支援串列设备。如果你已将串列驱动程式编译成一个模组了,你
必须修改 <CODE>/etc/pcmcia/config</CODE> 来让 <CODE>serial</CODE> 模组应该
在载入 <CODE>serial_cs</CODE> 前就被载入了。</LI>
</UL>
<P>
<H2><A NAME="ss4.5">4.5 PCMCIA SCSI卡</A>
</H2>

<P>目前所有被支援的 PCMCIA SCSI 卡都工作的像下列的 ISA 汇流排卡的样子
: Qlogic、Adaptec AHA-152X 或是 Future Domain TMC-16x0。PCMCIA 驱
动程式被建立成与  PCMCIA  特别程式码相连结  (如 <CODE>qlogic_cs.c</CODE>、
<CODE>toaster_cs.c</CODE> 或 <CODE>fdomain_cs.c</CODE>) 以及正常的 Linux SCSI 驱动
程式。
<P>当一个新的 SCSI 主卡被侦测到时, SCSI 驱动程式会寻找连接著的设备。
请检查系统日志你的设备被正确地侦测到了。新的 SCSI 设备会被指定为第
一个可用的 SCSI 设备档。第一个 SCSI 硬碟是 <CODE>/dev/sda</CODE>,第一
个 SCSI  磁带机是  <CODE>/dev/st0</CODE>, 还有, 第一个  CD-ROM  会是
<CODE>/dev/scd0</CODE>。
<P>在 1.3.X (含 ) 以後的核心□,PCMCIA 核心驱动程式可以从系统核心中找
出有哪些 SCSI 设备有连接在介面卡上。它们会被列表在 <CODE>/var/run/stab</CODE>
, 而 SCSI 构建手稿 <CODE>/etc/pcmcia/scsi</CODE> 也会被每一个连接著的
设备所呼叫来建构或关闭该设备。内定的手稿并不会做任何建构 SCSI 设备
的动作,但它会妥当地在介面卡被移走时卸下在 SCSI 设备上档案系统。
<P>在 1.2.X 核心□,PCMCIA 驱动程式无法自动地推测哪个设备被安装在哪个
特定的 SCSI 介面卡上。然而,如果你有一个正常的 SCSI 设备之建构,你
可以将这些设备列明在 <CODE>/etc/pcmcia/scsi.opts</CODE> 中。例如,如果
你正常都有个 SCSI 磁碟以及一个 CD-ROM,你可以使用以下:
<P>
<BLOCKQUOTE><CODE>
<PRE>
# For 1.2 kernels: list of attached devices
SCSI_DEVICES="sda scd0"
</PRE>
</CODE></BLOCKQUOTE>
<P>被传到 &lt;<CODE>scsi.opts</CODE> 的设备位址有点复杂, 那是因为有许多种类的东
西可以被连接到 SCSI 介面卡上。这些位址包含了不是 6 个就是 7 个以逗
号来分开的栏位资料: 现在的架构、设备种类、插槽号码、SCSI 频道、识
别号、逻辑单位号码,以及选择性的分割号码。设备种备为 ``sd'' 指磁碟
、``st'' 指磁带、``sr'' 指 CD-ROM 设备, 还有 ``sg'' 指一般的 SCSI
设备。 大部份的设定中,SCSI 频道还有逻辑单位号码都设为 0。对於有许
多磁碟分割区的磁碟设备,<CODE>scsi.opts</CODE> 会先被以 5 个栏位的位址所呼
叫。  这手稿应该要设一个  <CODE>PARTS</CODE>  变数来列明这些分割。  然後,
<CODE>scsi.opts</CODE> 会被每一个磁区以较长的 7 栏位位址所呼叫使用。
<P>如果你的核心没有针对特定的 SCSI 设备给上层驱动程式 (磁碟、磁带等 )
,那麽这些设备就不会被  PCMCIA 驱动程式所建构。但有个边际效应是,
该设备的名字在  <CODE>/var/run/stab</CODE>  内会变为像 ``sd#nnnn''
的名字。这 ``nnnn'' 是个 4 个数字的十六进位号码。只要 <CODE>cardmgr</CODE>
无法转译一个 SCSI 设备的识别号码到相对应的  Linux 设备名字时都会发
生这种事。
<P>要将上层的 SCSI 驱动程式模组化成只有当  PCMCIA SCSI 卡被侦测到时它
们才会被载入是有可能的。要这麽做,你需要编修 <CODE>/etc/pcmcia/config</CODE>
来告诉 <CODE>cardmgr</CODE> 有哪个另外的模组在介面卡被建构时也要将它载入。
例如:
<P>
<BLOCKQUOTE><CODE>
<PRE>
device "aha152x_cs"
  class "scsi" module "scsi/scsi_mod", "scsi/sd_mod", "aha152x_cs"
</PRE>
</CODE></BLOCKQUOTE>
<P>会在载入一般的 PCMCIA 驱动程式模组前将主要的 SCSI 模组和上层的磁碟
驱动程式模组给载入。PCMCIA 建构手稿不会自动地侦测被模组化了的 SCSI
模组,所以你必需手动建构选项来将 SCSI 支援的功能打开。
<P>每次在开机您的笔记型电脑前先将 SCSI 设备开机,或是在插入控制卡前,
这样子 SCSI 汇流排会在控制卡被建构後正确地被终止。另外还要注意抽出
SCSI 控制卡。 记得要确认在抽出控制卡前被连接著的 SCSI 设备都被正确
地卸下与关闭了。 最好的确认方法是在实体抽出卡片前使用 <CODE>cardctl</CODE>
或 <CODE>cardinfo</CODE> 来要求卡片的移出动作。 就这样,所有的 SCSI 设备必
须在插上 SCSI 控制卡前已开启了电源,而在你抽出控制卡和/或关机笔记
电脑前都须要保持著它们是连接著的。
<P>使用一般的 ISA 汇流排介面卡时可能会有潜在的复杂性, 尤其是无法启动
。  SCSI 汇流排搭载一个为了适当地使用被动式 SCSI 终端器所必须的 ``
终端电源 '' 信号。PCMCIA SCSI 卡并不供应终端电源,所以如果需要该电
源的话,就必须由外接的设备来供应它。有些外接的 SCSI 设备可以被建构
成供应这个终端电源。其他的,如 Zip 磁碟以及 Syquest EZ-Drive,它们
使用主动式终端电阻就不需要如此了。有时候,可能需要使用一个特别的终
端电阻器如 APS SCSI Sentry 2,它有个外接的电源供应。 当您建构 SCSI
设备串接时,请注意是否其中有任何的设备需要或可以提供终端电阻电源的
<P>Adaptec APA-460 SlimSCSI 卡并不被支援。这张卡原本是以 Trantor 的名
称被贩卖的, 当 Adaptec 并购了 Trantor 後,他们仍继续以 Adaptec 的
商标来卖 Trantor 的卡,反正,APA-460 不被现有的任何一 Linux 驱动程
式所相容。
<P>我不确定要写个驱动程式会有多难, 我不认为有任何人可以从 Adaptec 那
儿拿到技术资讯。
<P>(未被支援的 ) Trantor SlimSCSI 可用以下方法被识别:
<P>
<BLOCKQUOTE><CODE>
<PRE>
Trantor / Adaptec APA-460 SlimSCSI
FCC ID: IE8T460
Shipped with SCSIworks! driver software

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -