阅读:2073回复:11
请指点如何在微端口驱动程序中设定网卡的传输速度。
请指点,如何在微端口驱动程序中设定网卡的传输速度。用什莫api函数来设置?
|
|
沙发#
发布于:2002-08-05 20:27
驱动程序中可以设置网卡的速率
不过,是要涉及到网卡硬件的相关操作的,比如修改某些特定的寄存器什么的,不同的芯片应该不太相同,你应该查一下硬件编程手册 另外,如果速率是允许用户更改的话,还需要把网卡速率作为一项写入注册表里,这样只要通过更改设备管理器中网卡的高级属性就可以设定网卡速率了 |
|
板凳#
发布于:2002-08-06 11:58
应该要NIC支持吧?
如果NIC没有这样功能那怎么有效呢? yz228兄说的没错,通常NIC会在注册表里保存一些可配置参数,当然不同网卡应该有差别的。 还有整个网络就象一个管道一样,那个环节都可能对网络有影响,因此实际中只考虑NIC速度还不够,如果Reticle、Switch、Hub、Router等都需要考虑,甚至连RJ45等这样的东东都很重要。 |
|
|
地板#
发布于:2002-08-06 16:38
如果在注册表里有的话,最简单的办法就是,修改它的参数,然后重新启动。(即插即用的只要重新插下子)
注册表的位置是HKEY_LOCAL_MACHINE\\SYSTEM\\CURRENTCONTROLSET\\CONTROL\\CLASS\\{4D36E972-E325-11CE-BFC1-08002BE10318} 如果你只是想简单玩玩,我想这样就可以了,不然的话那就罗嗦点了,如果高兴,和我联系啊 |
|
地下室#
发布于:2002-08-07 08:14
可是我不想重新启动呀!在Wiandows的控制面板里可以控制网卡的传输速度(例如:100M全双工,100M半双工等),设置后也不需要重新启动呀!怎样用编程的方法来实现呢?百思不得其解。
|
|
5楼#
发布于:2002-08-07 09:38
我的网卡是8139,怎么没有设置全双工半双工啊。
我估计你的网卡是特定的哪一个,那需要厂商的驱动程序支持才能设置啊。 我刚才在DDK的帮助里查了下,好象WINDOWS没有用来设置传输速度的OID(无线网卡也只有设置他支持的速率的OID(1M,2,5。5M,11M)),我估计是厂商自己定义的OID,所以我也不知道该怎么设置这个速度。除非把他们厂商的驱动源代码让我看下。 |
|
6楼#
发布于:2002-08-07 14:59
我的网卡是8139,怎么没有设置全双工半双工啊。 欧好久没有弄驱动了,马上又要干了,回来热热身! 看见OID就让欧想起了这些日子在弄得SNMP,如果真的有OID,可以用SNMP弄吧?不知道可不可以? :P |
|
7楼#
发布于:2002-08-07 16:48
其实可以不用OID的,windows设备管理器里网卡属性中有一项高级属性设置,只要把有关网卡速率的设置写到注册表里,高级属性中就会有相应的一项
当用户修改高级属性时,系统就会修改注册表中的相关项并自动重启网卡,所以只要把速率设置的相关代码写到NIC初始化部分就可以了 确切的说,有些东西是不需要自己写的。只要在驱动程序初始化的时候,先去注册表里读出当前设置的速率,再进行相关操作就行了 [编辑 - 8/7/02 by yz228] |
|
8楼#
发布于:2002-08-08 12:29
其实可以不用OID的,windows设备管理器里网卡属性中有一项高级属性设置,只要把有关网卡速率的设置写到注册表里,高级属性中就会有相应的一项 能不能说的具体一些,在注册表中的什莫位置。一般情况下,默认的速度选项为\"Auto\". |
|
9楼#
发布于:2002-08-08 16:51
呵呵,看来你做的是无线网卡驱动吧
你可以仔细看看ne2000的例子,ne2000源代码中Ne2000Initialize例程里有读注册表的部分,好像是用NdisOpenConfiguration将注册表中相应的键值读出来 注册表中的项是通过inf文件写进去的,你可以好好的看一下ne2000的inf文件。或者干脆把ne2000编译好装一下,对照看一下安装完以后的注册表就明白了 例如可以在inf文件里这样写: HKR,NDI\\params\\TxRate,ParamDesc,,\"Transmit Rate\" HKR,NDI\\params\\TxRate,flag,1,30,00,00,00 HKR,NDI\\params\\TxRate,type,,enum HKR,NDI\\params\\TxRate,default,,1 HKR,NDI\\params\\TxRate\\enum,1,,\"Auto\" HKR,NDI\\params\\TxRate\\enum,2,,\"10Mb/s\" ...... |
|
10楼#
发布于:2002-08-08 18:04
不好意思.我做的是有线网卡.
|
|
11楼#
发布于:2002-08-10 19:51
有线网卡跟无线网卡的驱动基本上没有太大区别
|
|