Please find my proposed patch attached.
MIZSEI Zoltán írta 2026. feb.. 6, P-n 20:37 órakor:
> Hi,
>
> I have applied the attached patch and received the attached output in
> the dmesg. I hope it helps a bit.
>
> MIZSEI Zoltán írta 2026. jan.. 27, K-n 14:01 órakor:
>> Hi,
>>
>> thanks for the hint, I just did a quick check with FreeBSD 15 RELEASE,
>> it works fine, i see the following:
>>
>> (...)
>> em0: <Intel(R) I219-LM TGP(13)> mem 0xa2300000-0xa231ffff at device 31.6 on
>> pci0
>> em0: EEPROM V0.8-4
>> em0: Using 1024 TX descriptors and 1024 RX descriptors
>> em0: Using an MSI interrupt
>> em0: Ethernet address: RE:DA:CT:ED:12
>> em0: netmap quotes/slots: TX 1/1024, RX 1/1024
>> (...)
>>
>> So if the driver employs some workarounds, then FreeBSD clearly uses a
>> different set or some extra workarounds for this specific hardware than
>> OpenBSD. Would it be possible to implement those workarounds for
>> OpenBSD?
>> Interestingly Illumos also works just fine with this NIC.
>>
>> Best Regards,
>> -- e
>>
>> Crystal Kolipe írta 2026. jan.. 27, K-n 10:48 órakor:
>>> On Mon, Jan 26, 2026 at 07:21:54PM +0100, MIZSEI Zoltn wrote:
>>>> sys/dev/pci/if_em.c I have commented out the following section,
>>>> effectively disabling the cheksum check:
>>>>
>>>> #ifdef TEST
>>>> /* Make sure we have a good EEPROM before we read from it */
>>>> if (em_get_flash_presence_i210(&sc->hw) &&
>>>> em_validate_eeprom_checksum(&sc->hw) < 0) {
>>>> /*
>>>> * Some PCIe parts fail the first check due to
>>>> * the link being in sleep state, call it again,
>>>> * if it fails a second time its a real issue.
>>>> */
>>>> if (em_validate_eeprom_checksum(&sc->hw) < 0) {
>>>> printf("%s: The EEPROM Checksum Is Not Valid\n",
>>>> DEVNAME(sc));
>>>> return (EIO);
>>>> }
>>>> }
>>>> #endif
>>>
>>> You might want to look at em_validate_eeprom_checksum() in if_em_hw.c, and
>>> try
>>> to find out exactly where it's failing.
>>>
>>> If you search around on-line, you'll find a fair amount of discussion about
>>> issues with the non-volatile memory on various i219 series network adaptors.
>>>
>>> These issues are not limited to OpenBSD, you'll find discussion on Linux
>>> forums as well.
>>>
>>> Having said that, there is already code to address one of the known issues
>>> in
>>> em_validate_eeprom_checksum(), and this was imported from FreeBSD a long
>>> time
>>> ago, so most of these devices are indeed expected to just work with OpenBSD,
>>> and presumably your device is doing something different.
>>
>> --
>> --Z--
>
> --
> --Z--
> Csatolmányok:
> * em_debug_checksum.patch
> * dmesg.txt-- --Z--
openbsd_i219-lm.patch
Description: Binary data
