Linux环境中网卡设备的驱动

发表于:2007-07-01来源:作者:点击数: 标签:
Linux 的 网络 功能非常强大(它几乎包含了 Unix 所有的网络功能),并且具有出色的 性能 ,同时,Linux还是一个免费的操作系统,这些优点使其受到越来越多的人的青睐。 但是,在桌面系统上,Linux与 Windows 在易用性上还存在一定的差距,主要表现在其使用
Linux网络功能非常强大(它几乎包含了Unix所有的网络功能),并且具有出色的性能,同时,Linux还是一个免费的操作系统,这些优点使其受到越来越多的人的青睐。
但是,在桌面系统上,Linux与Windows 在易用性上还存在一定的差距,主要表现在其使用上过于复杂,还不适合初级用户,尤其是硬件的配置工作。比如,在Linux的安装过程中,有一些特殊设备Linux系统不能自动识别(如某些网卡等),这就需要在系统安装完成之后进行手工设置。本文以台湾Davicom公司的dm9102快速以太网卡为例,介绍在Linux环境中设置网卡设备驱动的步骤。
系统环境: TurboLinux4.0.2,网卡、显卡、Modem均集成在主板上。
1.下载驱动
登录到Davicom公司网站上(www.davicom.com.tw)下载Linux下的最新驱动程序,版本为2.0.10-20,源程序名为dmfe.c。
2.编译
gclearcase/" target="_blank" >cc -DMODULE -D_ _KERNEL_I/usr/src/linux/net /inet -Wall -Wstrict-prototypes O6 c dmfe.c
gcc(GNU C Compiler)为编译命令,编译完成后,在当前目录下产生目标文件dmfe.o。
3.设置模式
利用insmod命令设置模式,其常用的几个命令如下表所示:
其中,insmod dmfe命令的主要输出结果如下:
  ID=91021282 @# 网卡ID号
  NAME=eth0 @# 网卡名称
  IO=e000 @# 输入输出口地址
  IRQ=11@# 中断向量
4.设置参数
  为网卡配置IP地址、子网掩码、网关等参数:
  ifconfig eth0 *.*.*.*
  netmask 255.255.255.*
  broadcast *.*.*.*
5.配置路由
  route add-net *.*.*.* eth0
6.启动网卡
使用命令ifup eth0 启动网卡即可。
至此,我们已经成功配置了dm9102网卡。通过命令ping *.*.*.* (127.0.0.1为本机循环地址,可用于检测网卡)可以检测网卡是否正常工作,其中*.*.*.* 为该计算机网络能够达到的机器的IP地址。如果配置正确,应该返回响应时间、发送接受字节数等信息; 若返回“request time out”等信息,则说明网卡没有正常工作。
上述4~6步也可以通过turbolnetcfg等工具进行配置。
通过以上步骤,我们以手工方式驱动了网卡,但是在系统启动时网卡尚不能马上工作,需要重复执行上述3~6步。如果要在系统启动期间使网卡设置自动生效,需要执行以下操作:
首先,编写shell程序。启动vi,使用命令vi startnet:
  #!/bin/sh
  insmod dmfe
  ifup eth0
  保存文件startnet,并更改startnet文件属性为可执行属性:
  chmod +x startnet
  然后,将目标文件拷贝到/etc/rc.d目录下:
  cp /dmfe.o /etc/rc.d/
  最后,修改inet文件:
  vi /etc/rc.d/init.d/inet
  在其中加入以下命令:
  /etc/rc.d/startnet (执行/etc/rc.d/目录下的startnet文件)
  这样,用reboot命令重新启动机器后,在系统启动过程中可以看到网卡被驱动起来。

原文转自:http://www.ltesting.net