|
我还得问一下你: 你的是模块加载失败还是根本就没有加载模块阿??
我的笔记本放在家里了,所有下面给你的方法可能不能试用于你,但试试看了
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"
保存后你再启动看看,能不能搞定了 上天保佑了 呵呵 |
|