I am having a board with RTL8111/8168B PCI Express Gigabit Ethernet controller, which requires r8169
kernel module to work. After inserting this module, network get started by eth0.
Now, due to old customer requirement, I have to run SLES10-sp4 on this board. But this OS is not allowing me use the network. Though, it have r8169 kernel module. ifconfig
also list out eth0
.
When I run ethtool eth0
, output came as Link Detection: NO
I noted one parameter in the output of ethtool eth0
, which are different when run from new and old OS on the same board:
New kernel says (3.13.11):
Supported Ports: [TP MII]
.
.
Ports: MII
while old kernel says(2.6.16):
Supported Ports: [FIBRE ]
.
.
Ports: FIBRE
What is this Supported Ports
? and what does it mean "TP, MII and FIBRE" ?
r8169
module recognizes about 50 different chip ID variants of the RTL8111/8168 NIC chips. All these variants have been added over time, as the developers have become aware of them and their individual quirks. It is possible that the particular version in your hardware has some specific quirk that the driver version in the new kernel knows how to handle, but the old kernel won't.Supported Ports: [FIBRE]
from the old kernel when the card clearly uses a normal twisted-pair network cable instead of a fiber-optic cable indicates that theethtool
information support in the driver version included in the old kernel was still very much work-in-progress, and that the old kernel has a quite early version of the driver. It seems to detect the card, but apparently did not initialize it correctly.