在有些情况下,我们需要Realtek的r8169芯片仅支持百兆。
有人说我们可以采用百兆网卡不就可以了嘛,没必要;也有人认为我们可以使用ethtool,现在很多网卡驱动都支持ethtool。
我的解释如下:对第一种情况,我觉得如果硬件板子已经定型,那么修改硬件比较麻烦;对第二种情况,ethtool是在系统起来之后,才将千兆修改为百兆的,时机太靠后。
事实上,修改驱动非常简单,我修改的是r8169-6.0110.00这个版本的驱动,只需要在r8169.c的r8169_link_option函数中,修改*spd=SPEED_1000,为*spd=SPEED_100即可,这样该驱动在加载后,向外通告时,就会通告自己最高仅有百兆的能力。
是不是非常简单?
根据我的经验,只要找到正确的地方,大部分千兆网卡驱动都可以修改为仅支持百兆的能力