我用于测试的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架构都基本是相同的。
如果喜欢solaris10 for x86网卡替换配置攻略 - solaris10请收藏或告诉您的好朋友.
阅读(211) | 评论(0) | 转发(0) |