diff --git a/config/redbear-device-services.toml b/config/redbear-device-services.toml index 71069531d0..b109769b3c 100644 --- a/config/redbear-device-services.toml +++ b/config/redbear-device-services.toml @@ -288,7 +288,7 @@ subclass = 0 [[driver]] name = "rtl8168d" -description = "Realtek 8168/8125 Ethernet" +description = "Realtek 8168/8169 Gigabit Ethernet" priority = 50 command = ["/usr/lib/drivers/rtl8168d"] @@ -297,6 +297,11 @@ vendor = 0x10EC class = 2 # Realtek also ships class 0x02 subclass 0x80 Wi-Fi (RTL8852 etc.) — scope to Ethernet. subclass = 0 +# Restrict to the PCI device IDs the rtl8168d register layout supports. +# RTL8168 (0x8168) and RTL8169/8111 (0x8169) only. The RTL8125 (0x8125) +# 2.5GbE chip has a different register layout (r8125 in Linux); claim +# would silently misbind until a proper r8125d driver exists. +device = [0x8168, 0x8169] [[driver]] name = "rtl8139d" @@ -311,13 +316,16 @@ device = 0x8139 [[driver]] name = "ixgbed" description = "Intel 10 Gigabit Ethernet" -priority = 50 +priority = 60 command = ["/usr/lib/drivers/ixgbed"] [[driver.match]] vendor = 0x8086 class = 2 +# Ethernet only and explicitly enumerated by device id so we never +# claim an e1000 gigabit NIC that e1000d owns. subclass = 0 +device = [0x10F7, 0x1514, 0x1517, 0x151C, 0x10F9, 0x10FB, 0x1521, 0x1522, 0x1523, 0x1524, 0x154A, 0x154D, 0x1557, 0x1558, 0x1563, 0x1572, 0x15AD, 0x15AE, 0x15C2, 0x15C3, 0x15C4, 0x15C5, 0x15D1, 0x15D2, 0x15D5, 0x15DA, 0x15DB, 0x15E4, 0x15E5, 0x15F4, 0x15F5, 0x15F8, 0x15FF, 0x1571, 0x1581, 0x1583, 0x1589, 0x158A, 0x158B, 0x37D0, 0x37D1, 0x37D2] [[driver]] name = "virtio-netd"