分享
 
 
 

Linux下网卡的一些技术信息(3)

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

关于Linux下网卡的一些技术信息(续)

所有不适合放在别处的相关信息都堆在这里。可能不相干,也可能大家不感兴趣,但还是放在这儿了。

1 向内核传递以太网参数

有两个通用的内核命令可以在启动时向内核传递以太网参数(ether和reserve)。可以用LILO、loadlin或其它接受可选参数的启动工具完成该操作。

例如,如果命令为“blah”,希望接收3个参数(假定为123、456和789),那么在使用LILO时就应该如下:

LILO: linux blah=123,456,789

要了解启动时参数的更多信息(和完全的列表),请参见BootPrompt-HOWTO

ether命令

ether=参数与直接构建在内核的驱动程序一起使用。ether=参数对一个模块化的驱动程序完全不起作用。它的最通用形式如下:

ether=IRQ,BASE_ADDR,PARAM_1,PARAM_2,NAME

所有的参数都是可选的。第一个非数字的参数被用做NAME。

IRQ: 很明显。为“0”的IRQ值(一般为缺省值)意味着autoIRQ。首先设置IRQ而不是base_addr是一个历史性的巧合――无论改变别的什么时都可以改正这一点。

BASE_ADDR: 也很明显。值为“0”(一般为缺省值)意味着探测以太网卡的网卡类型特定的地址列表。

PARAM_1: 这开始是用来覆盖WD80*3这样的共享内存网卡的起始内存的值。有些驱动程序使用该值的低4位来设置诊断信息级别。0 -- 缺省值,1-7 -- 级别1..7,(7是最完全的信息)8 -- 级别0(没有信息)。另外,LANCE驱动程序使用该值的低4位来选择DMA通道。否则就使用auto-DMA。

PARAM_2: 3c503驱动程序使用它来选择内部还是外部收发器。0 -- 缺省/内部, 1 -- 外部AUI。Cabletron的E21XX网卡还使用PARAM_2的低4位来选择输出媒介。否则就自动检测。

NAME: 选择该值所指的网络设备。标准内核对附属于总线的以太网卡使用名称“eth0”、“eth1”、“eth2”和“eth3”,对并口“袖珍”以太网适配器使用“atp0”。arcnet驱动程序使用名称“arc0”。可以使用这些LILO参数明确设置基址来启用多块网卡。1.0内核把基于LANCE的以太网卡作为特殊情况进行处理:LILO参数被忽略,LANCE网卡总是被分配为从“eth0”开始的名称“eth”。附加的非LANCE网卡必须被明确指定为“eth”,并用诸如“ether=0,-1,eth0”的方式禁止通常的“eth0”探测。(对,这是个Bug。)

reserve命令

这个紧接着的LILO命令用法与上面的“ether=”一样,即附加在lilo.conf里指定的启动选择名称后面。

reserve=IO-base,extent{,IO-base,extent...}

在某些机器上,可能需要防止设备驱动程序在某个特定区域里检查设备(自动探测)。其原因可能是由于设计低劣的硬件使启动凝结(如某些以太网卡)、被错误识别的硬件、在较早的探测中状态被改变的硬件、或者仅仅是不想让内核初始化硬件。

启动时的参数reserve通过指定无需探测的I/O端口区域来解决这个问题。该区域保留在内核的端口注册表里,就象该区域里已经发现了一个设备一样。注意,这一机制在大多数机器上是不必要的。只有在有问题或特定的情况下才有必要使用它。

指定区域里的I/O端口受到保护,不被设备探测影响。在某些驱动程序被NE2000挂起,或其它设备被错误地识别为NE2000时使用这一方法。正确的设备驱动程序不该探测一个保留区域,除非另一个启动参数明确指定它这么做。这隐含了reserve经常与其它启动参数一起使用。因此,如果指定了一个reserve区域来保护某个特定设备,通常就必须明确指定对该设备的探测。大多数驱动程序在给定了明确地址后就忽略了端口注册表。

例如,启动行

LILO: linux reserve=0x300,32 ether=0,0x300,eth0

使以太网卡驱动程序以外的所有设备驱动程序都不探测0x300-0x31f。

一般启动时的参数限制是11个,因此每个reserve关键词只能指定5个保留区域。如果请求很复杂,可以使用多个reserve指令。

2 把以太网驱动程序作为模块使用

现在大多数Linux发行版里的内核都只包含很少几个内建的驱动程序。驱动程序都采用独立的动态可加载模块的形式提供。这些模块化驱动程序通常由管理员使用modprobe(8)命令载入,或者在某些情况下由内核通过“kerneld”(在2.0版)或“kmod”(在2.1版)自动载入,然后调用modprobe。

你所用的发行版可能会提供良好的图形配置工具来设置以太网模块。如果可能就先使用它们。下面描述了在这些花俏的配置程序下的信息,以及这些程序改变了哪些东西。

控制使用哪些模块和每个模块提供哪些选项的信息一般保存在文件/etc/conf.modules里。在这个文件里使用的两个感兴趣的主要选项(对以太网卡而言)是alias和options。modprobe命令查阅该文件以了解模块信息。

实际的模块本身一般保存在名为/lib/modules/`uname -r`/net的目录下,其中uname -r命令给出内核的版本(如2.0.34)。你可以在这里看看哪一个模块与你的网卡匹配。

在你的conf.modules文件里首先需要的是告诉modprobe对于eth0(和eth1以及......)网络接口使用什么驱动程序。为此要使用alias命令。例如,有一块使用smc-ultra.o驱动程序模块的ISA SMC EtherEZ网卡,需要增加如下一行把该驱动程序alias到eth0上:

alias eth0 smc-ultra

其次,可能需要一个options行来指出与某个特定模块(或模块别名)一起使用哪些选项。还采用上面那个例子,如果只有一行alias而没有options行,内核会警告(参见dmesg)说自动探测ISA网卡不好。要消除这个警告,需要增加另一行来告诉模块网卡被配置在哪个I/O基址上,比方说是16进制地址0x280。

options smc-ultra io=0x280

大多数ISA模块在insmod命令行接受io=0x340和irq=12这样的参数。提供这些参数以避免探测该网卡是必须的或至少是强烈建议的。与PCI和EISA设备不同,对大多数ISA设备而言没有真正安全的自动探测方法,所以在把驱动程序作为模块使用时应当避免自动探测。

每个模块所接受的所有选项列表可以在以下文件中找到:

/usr/src/linux/Documentation/networking/net-modules.txt

推荐阅读该文件以了解对你的特定网卡可以使用哪些选项。注意,对于单个模块能够处理多个设备的模块,有些支持用逗号分开的值列表,如所有基于8390的驱动程序和PLIP驱动程序。例如:

options 3c503 io=0x280,0x300,0x330,0x350 xcvr=0,1,0,1

上面就是一个模块控制四块3c503网卡,其中网卡2和4使用外部收发器。不要在“=”或逗号周围使用空格。

还要注意,一个忙的模块不能被删除。这也就是说在删除模块前需要使用ifconfig eth0 down(关闭以太网卡)。

命令lsmod可以显示哪些模块被载入、它们是否正在被使用,而rmmod可以删除这些模块。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有