Linux操纵细碎以太网卡的装配及设置-2

时间:2021-08-15 12:39:42

   来源:网海拾贝





为了宁静起见,可以先把原有的两端代码做个备份,以便产生错误时规复。

至此,你可以从头引导细碎以利用新的带有正确网卡驱动支持的Linux两端。独一剩下未打点的是驱动法度的参数题目效果。有些网卡驱动法度如果不输入参数,那它义务就会不正常,乃至基础不义务。因为目前网卡的驱动法度是细碎启动时由两端载入运转的,细碎启动之后用户就很难改动这些参数了,以是你必须在细碎启动时陈说Linux两端网卡驱动法度利用的参数。详细要拥有两种:

(1)在细碎引导法度LILO中输入。

在LILO开始引导细碎时,用ether子下令设定以太网卡驱动法度的参数。ether下令的利用方式为:

LILO:linu xether=IRO.BASE_ADDR,NAME

这里带下划线的是要输入的部分,IRQ暗示中断号,BASE_ADDR暗示端口号,NAME暗示网卡的设置名。比方:linux ether=15,0x320,eth0

(2)在LILO设置文件中设定。

每次在细碎启动时再输入驱动法度参数似乎有点过于贫穷。幸亏细碎供给了LILO的设置文件可以用来永远性的设置Linux细碎启动时的子下令。法子是在/etc/lilo.conf文件中的得当位置到场以下一行:

append=“ether=IRQ, BASE_ADDR,NAME”

这里带下划线部分的意义同上。到场这一行后,还必要用/sbin/lilo下令把这个设置写入引导法度。

第四步:收集设置及测试


装配完网卡就可以设置收集通信了。设置收集年夜略地就是利用ifconfig下令,

比方:

ifconfig eth0 1.2.3.4 netmask 255.0.0.0 up

末了ping一下网上其它机器的ip所在,搜检收集可否连通。

四、一个以太网卡装配实例

上面以Cirrus公司临蓐的Crystal CS8920以太网卡为例,详细申明');上述安拆卸置过程。本例中,有些下令参数,如两端源代码目次等,因此我利用的细碎状况为尽头。详细运用中还要加以当地化。为了更接近现实,例子中也包括了对装配中碰到的题目效果的描绘。

1. 此网卡是IBM PC机的内置式网卡,机器只供给了Windows95/98状况下的驱动法度。因为RedHat 5.0发行版本尚未供给对此网卡的间接支持,以是从Cirrus的站点上找到并下载了该网卡驱动法度的Linux版本,是一个名为 Linux102_tar.gz的紧缩文件。

2.文件Linux102_tar.gz解压后包括五个文件。包括源代码,仅适用于Linux 2.0版本的目标模块以及readme文件。

3.查阅readme文件后,熟悉到这个驱动法度只能利用网卡EEPROM中设定的端口号(I/O基所在)、中断号。为了知道网卡EEPROM的设置,又从Cirrus站点下载了该网卡DOS版本的设置法度setup.exe

4.在DOS中运转setup.exe,创造网卡的起始端口号为0x360,中断号为10,与别的设置有辩论。选择setup.exe法度的照应菜单,把中断号改成5。其它,此驱动法度不支持plug and Play,故也在setup.exe中将网卡的PnP效果屏障失。

5.我所利用的RedHat 5.0的Linux两端版本为2.0.34,以是不克不及用现成的驱动法度目标模块,必要自己着手编译。如上文所述,有两种方式利用此驱动法度。

6.如果要编译成自力模块,实行下列下令:

gcc -D_KERNEL_-I/usr/src/linux/include -I/usr/src/linux/net/inet-Wall -Wstrictprototypes -02 -fomit-frame-pointer -DMODULE -DCONFIG_MODVERSIONS -ccs89x0.c

编译效果是名为cs89x0.o的驱动法度目标模块。要装载此驱动法度,输入下列下令: insmod cs89x0.o io=0x360 irq=10

要卸载此驱动法度,用rmmod下令:

rmmod cs89x0.o

7.如果要将驱动法度编进细碎两端,

改削/usr/src/linux/drivers/net/CONFIG,到场:

CS89x0_OPTS=

改削/usr/src/linux/drivers/net/Config.in,到场:

tristate‘CS8920 Support’CONFIG_CS8920

以上两行是为了让make config在设置过程中扣问可否增进CS8920网卡的支持。改削/usr/src/linux/drivers/net/Makefile到场:

ifeq((CONFIG_CS8920),y)

L_OBJS+=cs89x0.o

endif

改削/usr/src/linux/drivers/net/Space.c,到场:

extern int cs89x0_probe(struct device *dev);

……

#ifdef CONFIG_CS8920

&& cs89x0_probe(dev);

#endif

以上两段是为了编译并输入网卡驱动法度及其例程。

把驱动法度源代码拷到/usr/src/linux/drivers/net目次下。

在/usr/src/linux目次下实行 make config或 make menuconfig,选择两端CS8920网卡支持。

实行make dep、make clean下令。末了用 make zImage 编译Linux两端。

如何设置两端驱动法度参数,上节已有申明');,不再赘述。


六、竣事语


与其它外设一样,以太网卡品种单一,对于新兴的操纵细碎Linux来说,可否可以有效地支持这些设置,间接相干着Linux的开展出路。本文叙说的以太网卡安拆卸置只是个中的一小部分,未尽事宜盼望与有识之仕配合讨论。
设置网卡就是设置网卡的义务参数,如端口所在、中断号等。网卡的缺省参数平凡存储于网卡外部的EEPROM,这是网卡出厂前设置好的。缺省参数在年夜少数状况下是可行的,但如果这些参数与你的细碎有辩论而且网卡又不支持软件静态设置,那么你就要利用网卡的设置法度。并不是统统的网卡都要经过这一步,因为有些网卡支持经过驱动软件及其输入参数来确定网卡的义务参数。可以经过查阅网卡利用申明');书来确定这一点。




版权声明: 原创作品,允许转载,转载时请务必以超链接方式标明文章 原始因由 、作者信息和本声明。否则将究查法律责任。