LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1294|回复: 1

给afta的pcmcia的最后一付药

[复制链接]
发表于 2002-9-16 13:04:26 | 显示全部楼层 |阅读模式
我还得问一下你: 你的是模块加载失败还是根本就没有加载模块阿??

我的笔记本放在家里了,所有下面给你的方法可能不能试用于你,但试试看了

1、首先看看你的/lib/modules/系统版本号/pcmcia/目录下面有没有8139之类的.o文件 有的话还有可能有戏 不然就要涉及内核编译什么了

2、用cardctl ident 命令看一下,pcmcia识别出来的你的网卡的型号,厂商和等资料是什么 一般只要是个卡就能识别出来的

3、直接修改/etc/pcmcia/目录下面的config文件 或者是config-24(2。4内核是用这个文件)什么的, 里面有所有可以驱动的卡的属性和驱动的属性
一般你在/lib/modules/系统版本号/pcmcia/目录下有了驱动模块了,驱动模块属性就不用去手工添加一个了。

下面是一个驱动程序的熟悉片断:

#
# Device driver definitions
#
device "3c589_cs"
        ~~~~ 为驱动程序名字
  class "network" module "3c589_cs"
                          ~~~~为驱动模块名字
         ~~~~驱动程序的类别,用于定义如何加载一个模块

有的驱动程序需要两个模块 你看一下:
device "pcnet_cs"
  class "network" module "net/8390", "pcnet_cs"

如果你的确有了8139的模块 就不用去改以上的东西,所有device开头的信息全部不管了


下面是你要做的:增加一条你的网卡的信息
card "3Com 3CXE589E Ethernet"  ----网卡的名称 (没什么用,自己写一个能认出来的就可以了)
  version "3Com", "Megahertz 589E" ---- 版本,用于识别卡的身份
  bind "3c589_cs"---------对应该卡用什么驱动程序去驱动

  其实linux的pcmcia是很白痴的,他就是靠用cardctl ident命令识别卡的类型
然后在这个config文件里 一条一条匹配version,匹配到了就用相应的驱动程序去驱动---所以才好自己手工添加阿

比如你可以加一条信息
card "dgc Ethernet"
  version "dgc", "Megahertz 589E"  ---用cardctl ident发现的版本信息
  bind "8139.o"  ---------你的驱动程序名 在前面定义的

但是一般用version来鉴别卡的身份经常不行,可能cardctl ident给的版本信息不完全一样 一般用manid直接给出生产商编号
如下:
card "Allied Telesis LA-PCM Ethernet"
  manfid 0xc00f, 0x0002 ---这条用cardctl ident 显示的
  cis "cis/LA-PCM.dat" ---这条不要 你也找不到
  bind "pcnet_cs"

保存后你再启动看看,能不能搞定了 上天保佑了 呵呵
发表于 2002-9-16 16:23:31 | 显示全部楼层
呵呵,我中午回家把笔记本电脑放回去了。那玩意儿耗了我太多时间,没心情整了。我会周末回家以后按照你的方法试一下的。

谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表