Chinaunix首页 | 论坛 | 博客
  • 博客访问: 476078
  • 博文数量: 142
  • 博客积分: 4126
  • 博客等级: 上校
  • 技术积分: 1545
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-22 10:03
文章分类

全部博文(142)

文章存档

2011年(8)

2010年(7)

2009年(64)

2008年(63)

我的朋友

分类: LINUX

2008-12-30 11:34:25

启动的时候报eth0不存在,查看了一下/dev下确实没有eth0。
网上查找了些资料,于是从新编译了内核,使其支持pcmcia和pcmcia的网卡(都编译进了内核,没编译成模组)。然后装了sysfsutils和pcmciautils等用户空间工具。
重启以后,dmesg可以看到内核已经认出了网卡。插入网卡时会报信息:"pccard: PCMCIA card inserted into slot 0",然后我手工运行pcmcia-socket-start脚本,
在/sys/class/net目录下可以看到eth0了,可发现在/dev下还是没有eth0,而且启动是还是报eth0不存在的警告,是udev问题吗,我也不知道,没招了。
就这么折腾两天了,郁闷啊,今天上午终于让我发现问题了,我查看了一下pcmciautils工具在/etc/udev/rules目录下安装的60-pcmcia.rules文件:
 

# PCMCIA devices:
#
ACTION!="add", GOTO="pcmciautils_end"
# modprobe $env{MODALIAS} loads all possibly appropriate modules
SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", \
        RUN+="/sbin/modprobe $env{MODALIAS}"

# Very few CIS firmware entries (which we use for matching)
# are so broken that we need to read out random bytes of it
# instead of the manufactor, card or product ID. Then the
# matching is done in userspace.
SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", \
        RUN+="/lib/udev/pcmcia-check-broken-cis"

# However, the "weak" matching by func_id is only allowed _after_ modprobe
# returns, so that "strong" matches have a higher priority.
SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", ATTR{allow_func_id_match}="1"

# PCMCIA sockets:
#
# modprobe the pcmcia bus module so that 16-bit PCMCIA devices work
SUBSYSTEM=="pcmcia_socket", \
        RUN+="/sbin/modprobe -b pcmcia"

# if this is a PCMCIA socket which needs a resource database,
# pcmcia-socket-startup sets it up
SUBSYSTEM=="pcmcia_socket", \
        RUN+="/lib/udev/pcmcia-socket-startup"

LABEL="pcmciautils_end"

 

发现其中的"/lib/udev/pcmcia-socket-startup"和"/lib/udev/pcmcia-check-broken-cis"

 

我发现这两个工具程序根本不在/lib/udev目录下,而在/sbin目录下,最后我在/lib/udev目录下建立了这两个符号连接,然后重启。突然发现,启动过程中没有提示eth0不存在,进系统一看/sys/class/net目录下竟然有了eth0(不用手动执行pcmcia-socket-startup),而且我也可以上网了。我这才明白原来eth0在/sys目录下有而/dev下没有的情况下也可以启动网卡。而不会报不存在。一直困扰我的问题原来是启动时pcmcia-socket-startup没有运行,而导致了网卡启用时找不到。呵呵,这个pcmciautil真的有点毛病,怎么命令路径还搞错了。

阅读(889) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~