Bug 269224 - em(4): Intel I219-V (0x0DC8) is not detected by the driver
Summary: em(4): Intel I219-V (0x0DC8) is not detected by the driver
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: Intel FreeBSD
URL:
Keywords: IntelNetworking
Depends on:
Blocks:
 
Reported: 2023-01-29 13:20 UTC by Oleg Sharoyko
Modified: 2023-05-05 13:18 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oleg Sharoyko 2023-01-29 13:20:50 UTC
One of the NICs on ASRosk Z790M-ITX, Intel I219-V specifically, is not detected by em(4) driver. The following patch makes it work though I didn't do much testing other than regular use and 20 minutes of iperf3. There are more device IDs in https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/intel/e1000e/hw.h but I only have this specific device at hands to test.

diff -ru /usr/src/sys/dev/e1000/e1000_api.c e1000/e1000_api.c
--- /usr/src/sys/dev/e1000/e1000_api.c	2022-12-09 01:03:57.000000000 +0000
+++ e1000/e1000_api.c	2023-01-26 00:33:49.000000000 +0000
@@ -339,6 +339,7 @@
 	case E1000_DEV_ID_PCH_ADL_I219_V16:
 	case E1000_DEV_ID_PCH_ADL_I219_LM17:
 	case E1000_DEV_ID_PCH_ADL_I219_V17:
+	case E1000_DEV_ID_PCH_RPL_I219_V22:
 		mac->type = e1000_pch_adp;
 		break;
 	case E1000_DEV_ID_PCH_MTP_I219_LM18:
diff -ru /usr/src/sys/dev/e1000/e1000_hw.h e1000/e1000_hw.h
--- /usr/src/sys/dev/e1000/e1000_hw.h	2022-12-09 01:03:57.000000000 +0000
+++ e1000/e1000_hw.h	2023-01-26 00:26:09.000000000 +0000
@@ -175,6 +175,7 @@
 #define E1000_DEV_ID_PCH_MTP_I219_V18		0x550B
 #define E1000_DEV_ID_PCH_MTP_I219_LM19		0x550C
 #define E1000_DEV_ID_PCH_MTP_I219_V19		0x550D
+#define E1000_DEV_ID_PCH_RPL_I219_V22		0x0DC8
 #define E1000_DEV_ID_82576			0x10C9
 #define E1000_DEV_ID_82576_FIBER		0x10E6
 #define E1000_DEV_ID_82576_SERDES		0x10E7
diff -ru /usr/src/sys/dev/e1000/if_em.c e1000/if_em.c
--- /usr/src/sys/dev/e1000/if_em.c	2022-12-09 01:03:57.000000000 +0000
+++ e1000/if_em.c	2023-01-26 00:27:29.000000000 +0000
@@ -194,6 +194,7 @@
 	PVID(0x8086, E1000_DEV_ID_PCH_MTP_I219_V18, "Intel(R) I219-V MTP(18)"),
 	PVID(0x8086, E1000_DEV_ID_PCH_MTP_I219_LM19, "Intel(R) I219-LM MTP(19)"),
 	PVID(0x8086, E1000_DEV_ID_PCH_MTP_I219_V19, "Intel(R) I219-V MTP(19)"),
+	PVID(0x8086, E1000_DEV_ID_PCH_RPL_I219_V22, "Intel(R) I219-V RPL(22)"),
 	/* required last entry */
 	PVID_END
 };
Comment 1 Oleg Sharoyko 2023-01-29 15:16:24 UTC
I also meant to add output of pciconf -lv

em0@pci0:0:31:6:	class=0x020000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x0dc8 subvendor=0x1849 subdevice=0x0dc8
    vendor     = 'Intel Corporation'
    class      = network
    subclass   = ethernet
Comment 2 Piotr Kubaj freebsd_committer freebsd_triage 2023-02-03 19:00:16 UTC
Review at https://reviews.freebsd.org/D38376.
Comment 3 commit-hook freebsd_committer freebsd_triage 2023-02-06 22:37:01 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=c0548bfc3a0941e504d673fea7d14a42d4358961

commit c0548bfc3a0941e504d673fea7d14a42d4358961
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2023-02-06 22:31:00 +0000
Commit:     Eric Joyner <erj@FreeBSD.org>
CommitDate: 2023-02-06 22:35:56 +0000

    em(4): Add IDs for new Intel(R) I219 devices

    These include I219 (20) through I219 (23), which ends at Raptor Lake.

    This also corrects a discrepancy where the (16) devices should be
    mac type "e1000_pch_tgp" and not "e1000_pch_adp".

    Signed-off-by: Eric Joyner <erj@FreeBSD.org>

    PR:             269224
    Reviewed by:    erj@
    MFC after:      1 day
    Relnotes:       yes
    Sponsored by:   Intel Corporation
    Differential Revision:  https://reviews.freebsd.org/D38376

 sys/dev/e1000/e1000_api.c | 12 ++++++++++--
 sys/dev/e1000/e1000_hw.h  |  8 ++++++++
 sys/dev/e1000/if_em.c     |  8 ++++++++
 3 files changed, 26 insertions(+), 2 deletions(-)