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--

Reply via email to