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.

Reply via email to