庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>操作系统>Linux>硬件问题>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

如何驱动DFE-530TX RevB

 作者:本站收集   日期:2005-4-15
字号选择〖 〗/ 双击滚屏 单击停止   
D-link 出了个新版的 DFE-530TX RevB, 多了个 WOL 的功能,不过原来的驱动程序via-rhine不能直接支持这款网卡。下面介绍一下怎样驱动这块网卡。

我的电脑上有两张 DFE-530TX,一旧一新,这里把设置方法分享一下。

因为我的电脑同时插了两张卡,所以我把驱动程序分成两个,via-rhine.c 给 RevA 的 530 用,via-rhineB.c 的给 RevB 的 530 用。

如果你的电脑只有一张 RevB 的卡,你可以选择直接修改原始的程程序或设置,

修改后新增的行前面多个 \'#\' 以方便阅读,但请不要把 \'#\' 也写进你的文件里。

kernel source 以 2.2.14 为蓝本。

一.、解开 source 后先修改几个文件

1、修改

/usr/src/linux/drivers/net/via-rhine.c

原始代码:
......
static struct pci_id_info pci_tbl[] = {
{ "VIA VT86C100A Rhine-II", 0x1106, 0x6100, 0xffff,
PCI_USES_MEM|PCI_USES_IO|PCI_USES_MEM|PCI_USES_MASTER, 128, via_probe1},
{ "VIA VT3043 Rhine", 0x1106, 0x3043, 0xffff,
PCI_USES_IO|PCI_USES_MEM|PCI_USES_MASTER, 128, via_probe1},
{0,}, /* 0 terminated list. */
};
......

修改成:
......
static struct pci_id_info pci_tbl[] = {
{ "VIA VT86C100A Rhine-II", 0x1106, 0x6100, 0xffff,
PCI_USES_MEM|PCI_USES_IO|PCI_USES_MEM|PCI_USES_MASTER, 128, via_probe1},
{ "VIA VT3043 Rhine", 0x1106, 0x3043, 0xffff,
PCI_USES_IO|PCI_USES_MEM|PCI_USES_MASTER, 128, via_probe1},
# { "VIA VT3043 Rhine RevB1", 0x1106, 0x3065, 0xffff,
# PCI_USES_IO|PCI_USES_MEM|PCI_USES_MASTER, 128, via_probe1},
{0,}, /* 0 terminated list. */
};
......
新的文件请存成 /usr/src/linux/drivers/net/via-rhineB.c,以符合下面的设置。

2、 修改

/usr/src/linux/drivers/net/Config.in

原始程序:
.....
tristate \'PCI NE2000 support\' CONFIG_NE2K_PCI
tristate \'TI ThunderLAN support\' CONFIG_TLAN
tristate \'VIA Rhine support\' CONFIG_VIA_RHINE
tristate \'SiS 900/7016 PCI Fast Ethernet Adapter support\' CONFIG_SIS900
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
.....

修改成:
.....
tristate \'PCI NE2000 support\' CONFIG_NE2K_PCI
tristate \'TI ThunderLAN support\' CONFIG_TLAN
tristate \'VIA Rhine support\' CONFIG_VIA_RHINE
# tristate \'VIA Rhine RevB support\' CONFIG_VIA_RHINEB
tristate \'SiS 900/7016 PCI Fast Ethernet Adapter support\' CONFIG_SIS900
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
.....

3、修改

/usr/src/linux/drivers/net/Makefile

原始程序:
......
ifeq ($(CONFIG_TLAN),y)
L_OBJS += tlan.o
else
ifeq ($(CONFIG_TLAN),m)
M_OBJS += tlan.o
endif
endif

ifeq ($(CONFIG_VIA_RHINE),y)
L_OBJS += via-rhine.o
else
ifeq ($(CONFIG_VIA_RHINE),m)
M_OBJS += via-rhine.o
endif
endif

ifeq ($(CONFIG_ZNET),y)
L_OBJS += znet.o
endif
......

修改成:
......
ifeq ($(CONFIG_TLAN),y)
L_OBJS += tlan.o
else
ifeq ($(CONFIG_TLAN),m)
M_OBJS += tlan.o
endif
endif

ifeq ($(CONFIG_VIA_RHINE),y)
L_OBJS += via-rhine.o
else
ifeq ($(CONFIG_VIA_RHINE),m)
M_OBJS += via-rhine.o
endif
endif

#ifeq ($(CONFIG_VIA_RHINEB),y)
#L_OBJS += via-rhineB.o
#else
# ifeq ($(CONFIG_VIA_RHINEB),m)
# M_OBJS += via-rhineB.o
# endif
#endif

ifeq ($(CONFIG_ZNET),y)
L_OBJS += znet.o
endif
......


二、 配置kernel

运行命令 make conifg 或者 make menuconfig, 我个人喜欢用 make menuconfig。如果上面的修改都对的话,你就能在

Networking device support --> Ethernet (10 or 100Mbit)

里找到 “VIA Rhine RevB support”, 要 <*> 还是 就看个人考虑吧, 我是选择 把驱动程序做成一个模块,
做成模块还要改 modules.conf,如果是直接加进 kernel 里的话要在 lilo.conf 里加上设置参数。


三、 编译kernel

接下来 make dep,
make BzImage,
make modules
make modules_install

就跟平常一样了。
make modules_install后可在 /lib/modules/kernel-ver/net 里找到
via-rhine.o 与
via-rhineB.o


四、修改 /etc/modules.conf 或/etc/lilo.conf

1、查看网卡的中断和地址设置

运行命令
cat /etc/proc

看一看网卡的中断和地址设置
Vendor id=1106, Device id=3043 ==> 这是 RevA 的卡
Vendor id=1106, Device id=3065 ==> 这是 RevB 的卡

Vendor.....的下一行有 IRQ 的 data, 下两行有 IO PORT 的 data
我的 RevA irq 为 9, RevB 的 irq 为 10.

2、 修改 /etc/modules.conf (旧版的 modprobe 使用 /etc/conf.modules),加入下面两行:

alias eth0 via-rhine io=0x8000 irq=9
alias eth1 via-rhineB io=0x8400 irq=10
(我的电脑不加 io 也能动, 但不加 irq 就不行)

3、如果你在配置kernel的时候,将网卡的驱动程序直接打进kernel,在这里你要 修改 /etc/lilo.conf ,加入两行
ether=0,0,eth0
ether=0,0,eth1

如果不能驱动的,那就定写上详细的参数:
ether=9,0x8000,eth0
ether=10,0x8400,eth1
上一篇:快速完成 RAID 配置    下一篇:如何改变Xwin的刷新频率  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-4-15
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿