Op 06-03-2023 om 19:50 schreef Jonathan A. Kollasch:
I think you simply need to explicitly list the device in the device tree, and a SMBIOS type 41 entry will be generated automatically.
The NIC is defined in the device tree like this:
https://github.com/coreboot/coreboot/blob/master/src/mainboard/asrock/b75m-i...
I don't see anything wildly different to other boards I have, which do show their onboard NIC as eno0 instead of enpXsX.
Seems with CONFIG_SMBIOS_TYPE41_PROVIDED_BY_DEVTREE you can even control which NIC gets what index if you have more than one.
But this does not seem to be set for any board by default. So I don't think it's a requirement for this to work; more like a hard override.
As stated, on my X230, P8Z77-V and GA-G41M-ES2L, the onboard NIC is called eno0 (as it should be). On my B75M-ITX it's called enp3s0, and on my B75 Pro3-M it's called enp4s0.
So coreboot doesn't seem to pass the "this device is onboard and its index is 0" message properly.
I can see `if (!dev->on_mainboard)` in smbios.c, but I can't find where that flag is set.