VMware Cloud Community
veentan
Contributor
Contributor

82583V driver for ESXI 7.0 not work

I'm install esxi 7.0 in my 8635U 24GB mini pc with 6 82583V gigabit lan ports

but get the message "No network adapters"

I check for VMware Compatibility Guide, 82583V 8086:150c is support.

esxi-support.png

822583V.png

82583V all.png

How can i get esxi 7.0 to support 82583V.

in ESXI 6.7 U3 is support for this.

Thanks.

24 Replies
paralens
Enthusiast
Enthusiast

Here is some of my hardware info:

lspci -v | grep -A1 -i ethernet

0000:01:00.0 Network controller Ethernet controller: Intel Corporation 82583V Gigabit Network Connection [vmnic0]
Class 0200: 8086:150c
0000:02:00.0 Network controller Ethernet controller: Intel Corporation 82583V Gigabit Network Connection [vmnic1]
Class 0200: 8086:150c

lspci -p | grep vmnic

0000:01:00.0 8086:150c 8086:0000 11/ / A V vmnic0
0000:02:00.0 8086:150c 8086:0000 10/ / A V vmnic1

vmkchdev -L

0000:00:1c.0 8086:9d10 0000:0000 vmkernel PCIe RP[0000:00:1c.0]
0000:00:1c.1 8086:9d11 0000:0000 vmkernel PCIe RP[0000:00:1c.1]

esxcfg-info | egrep -B9 -A26 "^[[:blank:]]+\|[-]+Device Id[\.]*0x150c$" | less

\==+PCI Device :
|----Segment.........................................0x0000
|----Bus.............................................0x01
|----Slot............................................0x00
|----Function........................................0x00
|----Runtime Owner...................................vmkernel
|----Has Configured Owner............................true
|----Configured Owner................................vmkernel
|----Vendor Id.......................................0x8086
|----Device Id.......................................0x150c
|----Sub-Vendor Id...................................0x8086
|----Sub-Device Id...................................0x0000
|----Vendor Name.....................................Intel Corporation
|----Device Name.....................................82583V Gigabit Network Connection
|----Device Class....................................512
|----Device Class Name...............................Ethernet controller
|----PIC Line........................................11
|----Old IRQ.........................................255
|----Vector..........................................0
|----PCI Pin.........................................0
|----Spawned Bus.....................................0
|----Flags...........................................12289
\==+BAR Info :
|----Module Id.......................................4294967295
|----Chassis.........................................0
|----Physical Slot...................................-1
|----Numa Node.......................................-1
|----VmKernel Device Name............................vmnic0
|----Slot Description................................
|----Device Layer Bus Address........................p0000:01:00.0
|----Passthru Disabled...............................false
|----Passthru Capable................................true
|----Parent Device...................................PCI 0:0:28:0
|----Dependent Device................................PCI 0:1:0:0
|----Reset Method....................................4
|----FPT Shareable...................................true

Tags (3)
0 Kudos
paralens
Enthusiast
Enthusiast

I have checked different ne1000 driver versions from both 6.7 and 7.x releases:
Unfortunately with no luck - none of the versions listed below are willing to work.

ne1000_0.8.4-10vmw.700.1.0.15843807
ne1000_0.8.4-11vmw.701.0.0.16850804
ne1000_0.8.4-11vmw.702.0.0.17867351
ne1000_0.8.4-11vmw.703.0.20.19193900
ne1000_0.9.0-1vmw.703.0.50.20036589

ne1000_0.8.4-2vmw.670.2.48.13006603
ne1000_0.8.4-3vmw.670.3.99.32543355


Also I have tried to install ESXi 7.0 GA build because this exact version is claimed by HCL as compatible with 82583V. No luck.

According to the log files, ESXi successfully detects Ethernet PCI device:

2023-03-12T12:12:21.014Z cpu0:262144)PCI: 341: probe-scanning pcie bridge @ 0000:00:1c.0 (spawned-bus = 01)
2023-03-12T12:12:21.014Z cpu0:262144)PCIE: 663: 0000:01:00.0: PCIe v1 PCI Express Endpoint
2023-03-12T12:12:21.014Z cpu0:262144)PCI: 1020: 0000:01:00.0: probing 8086:150c 8086:0000 0200 0000
...
2023-03-12T12:12:21.017Z cpu0:262144)PCI: 1273: 0000:01:00.0: registering 8086:150c 8086:0000
2023-03-12T12:12:21.017Z cpu0:262144)Device: 1586: Registered device: 0x4303e3c01e80 p0000:01:00.0 8086150c80860000020000 (parent=0x2e2a4303e3c028fa)
2023-03-12T12:12:21.017Z cpu0:262144)IOResource: 405: Registered resource 0x4303e4401760 from module 0 type 2 @ df500000 len=131072
2023-03-12T12:12:21.017Z cpu0:262144)IOResource: 405: Registered resource 0x4303e44017d0 from module 0 type 3 @ e000 len=32
2023-03-12T12:12:21.017Z cpu0:262144)IOResource: 405: Registered resource 0x4303e4401840 from module 0 type 2 @ df520000 len=16384

And even provides them with vmkX names:

2023-03-12T12:12:33.637Z vmkdevmgr[262504]: PciBus: Not committing alias vmnic0 for busAddress p0000:01:00.0
2023-03-12T12:12:33.639Z vmkdevmgr[262504]: PciBus: Not committing alias vmnic1 for busAddress p0000:02:00.0
2023-03-12T12:12:33.640Z vmkdevmgr[262504]: PciBus: Processing ownership settings
2023-03-12T12:12:33.790Z vmkdevmgr[262504]: LoadAliases: Successfully restored ownership (OWNER_VMKERNEL) for device 'p0000:01:00.0'
2023-03-12T12:12:33.801Z vmkdevmgr[262504]: LoadAliases: Successfully restored ownership (OWNER_VMKERNEL) for device 'p0000:02:00.0'

2023-03-12T12:12:33.638Z cpu1:262504)PCI: 1016: 0000:01:00.0 named 'vmnic0' (was '')
2023-03-12T12:12:33.639Z cpu1:262504)PCI: 1016: 0000:02:00.0 named 'vmnic1' (was '')

2023-03-12T12:12:33.881Z vmkdevmgr[262504]: Spinning up thread for binding driver ne1000 in parallel.
2023-03-12T12:12:33.902Z vmkdevmgr[262504]: Module 'ne1000' load by uid=0 who=root successful

The ne1000 driver module loads successfully:

2023-03-12T12:12:33.894Z cpu1:262509)Loading module ne1000 ...
2023-03-12T12:12:33.895Z cpu1:262509)Elf: 2119: module ne1000 has license ThirdParty
...
2023-03-12T12:12:33.901Z cpu1:262509)Device: 211: Registered driver 'ne1000-driver' from 48
2023-03-12T12:12:33.901Z cpu1:262509)DEBUG (ne1000): module loaded
2023-03-12T12:12:33.901Z cpu1:262509)Mod: 4821: Initialization of ne1000 succeeded with module ID 48.
2023-03-12T12:12:33.901Z cpu1:262509)ne1000 loaded successfully.

0 Kudos
paralens
Enthusiast
Enthusiast

Then we can see that the ne1000 driver successfully assigned to the Ethernet PCI device detected earlier:

2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): attaching device 0x53724303e3c02ac3
2023-03-12T12:12:33.927Z cpu2:262509)Device: 395: ne1000-driver:driver->ops.attachDevice :0 ms
2023-03-12T12:12:33.927Z cpu2:262509)Device: 400: Found driver ne1000-driver for device 0x53724303e3c02ac3

2023-03-12T12:12:33.927Z cpu2:262509)VMK_PCI: 774: device 0000:01:00.0 pciBar 0 bus_addr 0xdf500000 size 0x20000
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): mapped BAR[0]: start = df500000, size = 20000, mapped to 452044f80000
2023-03-12T12:12:33.927Z cpu2:262509)VMK_PCI: 774: device 0000:01:00.0 pciBar 2 bus_addr 0xe000 size 0x20
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): mapped BAR[2]: start = e000, size = 20, mapped to 452044f8e000
2023-03-12T12:12:33.927Z cpu2:262509)VMK_PCI: 774: device 0000:01:00.0 pciBar 3 bus_addr 0xdf520000 size 0x4000
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): mapped BAR[3]: start = df520000, size = 4000, mapped to 452046308000

2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): rx FIFO size 20 KB, tx FIFO size 12 KB
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): recv FIFO size 16 KB, xmit FIFO size 16 KB
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): tx.maxFrame = 16256
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): mmio = 452044f80000, flashio = 0, portio = e000
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): got port 0
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): device ID: 8086:150c:8086:0
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): hw_addr = 0x452044f80000, flash_addr = 0x0
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): setting mac type
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): setting init funcs
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): tracked a mutex object
2023-03-12T12:12:33.927Z cpu2:262509)DEBUG (ne1000): created a mutex object
2023-03-12T12:12:33.928Z cpu2:262509)DEBUG (ne1000): getting bus info
2023-03-12T12:12:33.928Z cpu2:262509)DEBUG (ne1000): rx FIFO size 20 KB, tx FIFO size 12 KB
2023-03-12T12:12:33.928Z cpu2:262509)DEBUG (ne1000): recv FIFO size 16 KB, xmit FIFO size 16 KB
2023-03-12T12:12:33.928Z cpu2:262509)DEBUG (ne1000): tx.maxFrame = 16256

But something goes wrong during driver initialization:

2023-03-12T12:12:33.928Z cpu2:262509)DEBUG (ne1000): identifying MAC via bridge
2023-03-12T12:12:33.928Z cpu2:262509)INFO (ne1000): MAC (0) not supported yet
2023-03-12T12:12:33.928Z cpu2:262509)DEBUG (ne1000): found an object to remove
2023-03-12T12:12:33.928Z cpu2:262509)ALERT: ALERT (ne1000): failed to identify hardware.
2023-03-12T12:12:33.928Z cpu2:262509)INFO (ne1000): failed to identify adapter for device 0x53724303e3c02ac3
2023-03-12T12:12:33.928Z cpu2:262509)Device: 685: ne1000-driver:driver->ops.startDevice:1 ms
2023-03-12T12:12:33.928Z cpu2:262509)Device: 690: Device 0x53724303e3c02ac3 start from driver ne1000-driver failed with bad0001
2023-03-12T12:12:33.928Z cpu2:262509)WARNING: Device: 2489: Failed to start device 0x4303e3c01e80 p0000:01:00.0 8086150c80860000020000.

vmkernel.log shows another bunch of errors:

2023-03-12T12:12:33.928Z vmkdevmgr[262504]: Failed to set driver for 0x53724303e3c02ac3: Unable to complete Sysinfo operation. Please see the VMkernel log file for more details.: Failure
2023-03-12T12:12:33.928Z vmkdevmgr[262504]: Device 0x53724303e3c02ac3 was not bound to driver ne1000 (module 48) for bus=pci addr=p0000:01:00.0 id=8086150c80860000020000
2023-03-12T12:12:33.937Z vmkdevmgr[262504]: PciBus: Try driver parameter.
2023-03-12T12:12:33.938Z vmkdevmgr[262504]: Failed to set driver for 0x70e94303e3c02dcb: Unable to complete Sysinfo operation. Please see the VMkernel log file for more details.: Failure
2023-03-12T12:12:33.938Z vmkdevmgr[262504]: Device 0x70e94303e3c02dcb was not bound to driver ne1000 (module 48) for bus=pci addr=p0000:02:00.0 id=8086150c80860000020000
2023-03-12T12:12:33.941Z vmkdevmgr[262504]: Module 'vmkbsd' load by uid=0 who=root successful
2023-03-12T12:12:33.942Z vmkdevmgr[262504]: PciBus: Try driver parameter.

 

0 Kudos
paralens
Enthusiast
Enthusiast

In addition I have checked the driver device map file to ensure compatibility with by ethernet devices:

grep 150c /etc/vmware/default.map.d/ne1000.map

regtype=native,bus=pci,id=8086150c..............,driver=ne1000

According to vmkernel.log the ne1000 driver needs additional configuration option to be set for the driver to be able to work with 82583V device:

2023-03-11T21:21:58.910Z cpu1:262509)DEBUG (ne1000): attaching device 0x1b8e4303e3c02a09
2023-03-11T21:21:58.910Z cpu1:262509)INFO (ne1000): device not supported by default; use 'experimental' module parameter to enforce

We need to set the 'experimental' driver module parameter to value of 2 (Enabled).

esxcli system module parameters set --module ne1000 --parameter-string "experimental=2"
esxcli system module parameters list --module ne1000

Name Type Value Description
------------ ---- ----- -----------
experimental int 2 enable experimental device support: 0 = none, 1 = partial (default), 2 = all

After enabling experimental devices support the ne1000 driver starts to load and tries to bind to my Ethernet adapter, but with all the errors and alerts mentioned earlier.
But no luck either.

PS: Unfortunately my NUC-like system does not have any PCI expansion slots available.

0 Kudos
paralens
Enthusiast
Enthusiast

Later I tried to change the interrupt handling settings in the driver.
The 'int' parameter controls interrupt handling in the driver- Legacy, MSI, MSI-X:

intr int preferred interrupt type: 0 = auto (default), 1 = legacy INTx, 2 = MSI, 3 = MSI-X

When I tried to use Legacy INT nothing changed at all.
esxcli system module parameters set --module ne1000 --parameter-string "intr=1" --append

When I tried to use MSI interrupts (instead of default MSI-X) the host started catching PSOD on every boot.
esxcli system module parameters set --module ne1000 --parameter-string "intr=2" --append

PS: The background assumption for this was a proposal that hardware vendor does not implement MSI-X in violation with PCI-e standard to lower design costs.

0 Kudos