Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1315453
  • 博文数量: 554
  • 博客积分: 10425
  • 博客等级: 上将
  • 技术积分: 7555
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 09:49
文章分类

全部博文(554)

文章存档

2012年(1)

2011年(1)

2009年(8)

2008年(544)

分类:

2008-04-07 19:23:12

【51CTO.com独家特稿】我用于测试的pc机安装了solaris 10 for x86 u3,在安装系统的时候,很顺利的识别了intel网卡。昨天,我的同事,把我机器上的intel网卡拔走了,后来他还我一个3com 3c905的网卡,我把它插在主板PCI插槽上;然后加电,开机引导solaris,系统起来以后,出现报错信息:大概意思是说网卡有问题。我用
#ifconfig –a 查看,只有环回接口lo0,新插的网卡没有被正确的设置。

先看看系统里是否有3com网卡的驱动程序。Solaris10的驱动程序一般在系统自带驱动目录/kernel/drv下,这个目录下有好多默认安装上来的驱动程序。怎么知道哪个驱动是什么厂家的呢?打开驱动的配置文件可以看出来。进入目录/kernel/drv,可以看见许多驱动程序和其配置文件成对出现,见下图:

许多驱动程序和其配置文件成对出现
这里随便打开一个.conf 文件,
-bash-3.00# more e1000g.conf 
# Driver.conf file for Intel e1000g Gigabit Ethernet Adapter
# 
# Copyright (c) 2002, by Intel, Inc.    //intel公司的东东
# All Rights Reserved.
#
#ident "@(#)e1000g.conf 1.1     98/09/22 Intel"
#
# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# ident "@(#)e1000g.conf        1.4     06/03/06 SMI"
……………..(省略若干)
很容易就看出是intel的芯片了。当然我们不需要逐个浏览这些配置文件,我们需要在这里查找有没有3com 3c509的驱动程序。

在目录/kernel/drv执行命令

#grep “3Com” * ,我的输出结果如下:

-bash-3.00# grep "3Com" *   //注意厂商的第一个字母大写
elxl.conf:# Driver.conf file for the 3Com 3C90x   //记住elxl这个名字,它就是我们要找的模块名。
可以看出我的系统已经有了这套驱动程序。如果运行上面的命令没有输出行,那么就需要自己下载相关的驱动程序手动进行安装了。

网卡驱动是以模块的方式加载到内核的,尽管在上面我们找到了网卡驱动的藏身之处,但如果不把它加载到内核,是一点作用都没有的。先来看看网卡驱动是否被加载,运行命令#modinfo | grep elxl
观察其输出,看有无被加载。如果没有,我们然后手动加载执行加载模块命令

#modload elxl

再回头来执行

#modinfo | grep elxl 这回该看见elxl被加载了。下图给出一个例子(eri模块):

给出一个eri模块的例子
接下来,执行命令
#devfsadm –i elxl ,完成物理设备名与逻辑设备名之间的映射。可以在目录/dev 里找到文件elxl,它是一个链接文件,用ls –al elxl 可知道其具体的文件位置。

执行命令

#ifconfig elxl0 plumb 几秒钟就完毕,这步的作用是初始化物理接口elxl0(第一个物理接口为“0”)。然后把先前intel网卡的接口名更名为3com的接口名称。具体的做法是:

#mv /etc/hostname.ipbr0 /etc/hostname.elxl0 完成后重启系统,然后运行

#ifconfig –a 看网络接口是否被激活,在用ping 命令测试一下网络的连通性。

提示:做配置的时候可能会出现一些错误信息,最可能的原因是执行的操作顺序不对。以上这个过程,对sparc架构和intel x86架构都基本是相同的。

以上文章转自于 :
阅读(258) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~