Ethernet & networking

Realtek RTL8168 family

Many RTL8168 revisions share one PCI pair. The in-tree candidate is r8169 despite the different final digits; exact revision and PHY behavior require more than the numeric PCI identity.

On this page
  1. Overview & identity
  2. Driver & binding
  3. Firmware
  4. Read-only diagnostics
  5. Limitations & related issues
  6. References

Overview & identity

10ec:8168 is an exact table match for this controller family. The driver subsequently identifies MAC versions, so it must not be presented as a single exact RTL8168 subrevision.

Curated identifiers
pci 10ec:8168

A numeric match establishes a candidate family within the reviewed evidence. Marketing names, board variants, subsystem conditions and successful operation remain separate questions.

Driver & binding

The r8169 source selects revision-specific initialization and firmware. An out-of-tree module called r8168 is not established by this upstream table and should not be substituted automatically.

  • r8169 — kernel driver/module candidate

Detected, bound, operational: learn the difference

Firmware

Conditional firmware path

These are inspected revision-specific examples, not a complete or universal list for 10ec:8168. The driver-selected MAC version and actual request determine which firmware applies.

Checked examples or filename branches, not a complete installation list:

  • rtl_nic/rtl8168d-1.fw
  • rtl_nic/rtl8168h-2.fw

Inspect firmware packaging on your distribution

Read-only diagnostics

Run one displayed command at a time. Replace uppercase placeholders with the affected device, interface or module from your own output. Commands are never executed here. Read-only output can still contain private identifiers.

Check the PCI function and bound driver

lspci -nnk -s BDF

Replace BDF with the domain:bus:device.function address. Look for [10ec:8168] and Kernel driver in use. r8169 in Kernel modules is only a candidate, not proof of binding.

Identify the network interface driver

ethtool -i INTERFACE

Replace INTERFACE with the real interface name. Driver and bus-info connect this interface to its device. A displayed firmware-version is adapter information; it does not prove a file was loaded. Candidate: r8169.

Compare supported modes with the current link

ethtool INTERFACE

Supported/advertised link modes describe capability or negotiation offers. Speed, Duplex and Link detected describe the current link, not measured throughput. An unsupported query is a limitation of the interface/driver.

Separate PCIe transport from Ethernet speed

sudo lspci -vv -s BDF

Elevated access may be needed. Root can expose the full PCI configuration. If PCIe capabilities exist, compare LnkCap with LnkSta: maximum and negotiated PCIe speed/width are different from Ethernet speed. Legacy PCI or virtual functions may omit these fields.

Inspect initialization and firmware requests

sudo journalctl -k -b --no-pager

Elevated access may be needed. Root reads the current boot kernel journal. Locate this controller/interface and the exact requested filename or Safe Mode message. Module-wide firmware declarations are not proof that every listed file was requested for this device.

Limitations & related issues

A family-wide ID cannot prove that an EEE, ASPM or firmware symptom applies to every chip revision. Use the current kernel log to obtain the selected chip description and requested firmware.

These guides are linked for relevant observations, not as known defects of every device in this family.

Choose a hardware diagnostic workflow · Inspect a log excerpt in Fix Lab

References

Source review records a checked implementation or document, not a reproduced hardware test. Version-specific tables do not establish a minimum kernel or guaranteed operation.