Bug 199813 - work around broken firmware: duplicate Type Instance 1 for Onboard Device Type Ethernet
Summary: work around broken firmware: duplicate Type Instance 1 for Onboard Device Typ...
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Platform_x86 (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_platform_x86@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-23 15:31 UTC by Michael Haubenwallner
Modified: 2018-05-23 15:31 UTC (History)
0 users

See Also:
Kernel Version: 4.9.95
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Michael Haubenwallner 2018-05-23 15:31:40 UTC
The Lenovo ThinkStation P710 here is equipped with two on board ethernet devices:

$ lspci | grep Ethernet
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-LM (rev 05)
08:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)


Problem is that systemd-udevd does want to rename both to 'eno1':

# dmesg | grep eth
[    5.415874] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 6c:0b:84:aa:de:d2
[    5.416666] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    5.417467] e1000e 0000:00:19.0 eth0: MAC: 11, PHY: 12, PBA No: FFFFFF-0FF
[    5.652896] igb 0000:08:00.0: added PHC on eth1
[    5.654403] igb 0000:08:00.0: eth1: (PCIe:2.5Gb/s:Width x1) 6c:0b:84:aa:de:d3
[    5.655196] igb 0000:08:00.0: eth1: PBA No: 000300-000
[   23.374715] igb 0000:08:00.0 eno1: renamed from eth1
[   23.396306] udevd[5910]: Error changing net interface name eth0 to eno1: File exists
[   23.396322] udevd[5910]: could not rename interface '2' from 'eth0' to 'eno1': File exists


It turns out the reason here is a bug in the Lenovo firmware (Version: S01KT40A, Release Date: 05/04/2017), providing 'Type Instance: 1' for both 'Type: Ethernet' devices:

$ dmidecode -t 41
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x0050, DMI type 41, 11 bytes
Onboard Device
        Reference Designation:  GbE Controller
        Type: Ethernet
        Status: Enabled
        Type Instance: 1
        Bus Address: 0000:00:19.0

Handle 0x0051, DMI type 41, 11 bytes
Onboard Device
        Reference Designation:  GbE2 Controller
        Type: Ethernet
        Status: Enabled
        Type Instance: 1
        Bus Address: 0000:08:00.0


Although there are newer firmware versions available, they do not seem to provide a fix for this bug yet.


Question now is: Does it make sense for the kernel to work around this firmware bug?
(as suggested in https://github.com/systemd/systemd/issues/8994)

Note You need to log in before you can comment on or make changes to this bug.