Wednesday, 14 April 2010

Using a D-Link DGE-530T Gigabit Network adapter in ESX 4.

For our developers ESX testbed/playground I wanted to install two D-Link DGE-530T Gigabit PCI Desktop network adapters unfortunately they do not appear to be on the ESX supported list. These are the steps I took to get them to be recognised by ESX:

1. Acquire the skge.o driver which supports the Marvell Yukon 88E0001 chipset

The discussion Using a Marvell LAN card with ESXi 4 contains a link to a tarball sky2-and-skge-for-esxi4-0.02.tar.gz containing both the sky2 and skge driver

2. login to ESX 4.0 as root and copy the skge.o driver to /usr/lib/vmware/vmknod

2.1 download sky2-and-skge-for-esxi4-0.02.tar.gz

2.2 tar xvzf ../sky2-and-skge-for-esxi4-0.02.tar.gz

2.3 cp vmtest/usr/lib/vmware/vmkmod/skge.o /usr/lib/vmware/vmkmod

3. run 'lspci' and identify the NICs location (the xx:xx.x number in front of the description)

03:00.0 Ethernet controller: D-Link System Inc Unknown device 4b01 (rev 11)

4. run 'lspci -n' and determine the vendor and device IDs (for D-Link it should be 1186:xxxx)

lspci -n
00:00.0 0600: 8086:29b0 (rev 02)
(snipped)
03:00.0 0200: 1186:4b01 (rev 11)
03:02.0 0200: 8086:1026 (rev 04)

5. create the vmware pciid file '/etc/vmware/pciid/skge.xml' here's a listing of the mine

cat /etc/vmware/pciid/skge.xml

<?xml version='1.0' encoding='iso-8859-1'?>
<pcitable>
<vendor id="1186">
<short>D-Link System Inc</short>
<name>D-Link System Inc</name>
<device id="4b01">
<vmware label="nic">
<driver>skge</driver>
</vmware>
<name>DGE-530T Ethernet NIC</name>
<table file="pcitable" module="ignore" />
<table file="pcitable.Linux" module="skge">
<desc>D-Link System|DGE-530T Ethernet NIC</desc>
</table>
</device>
</vendor>
</pcitable>

6. create file /etc/vmware/init/manifests/vmware-skge.mf which contains a single line as shown
cat /etc/vmware/init/manifests/vmware-skge.mf
copy /usr/lib/vmware/vmkmod/skge.o

7. reboot the server and checking the /var/log/vmware/esxcfg-boot.log should confirm:

That the esxcfg boot process has loaded the skge.xml metafile , constructed the new vmware-devices.map file and included the skge.o driver in the initramfs image.

8. running 'lspci' after adding a second DGE-530T card now shows

03:00.0 Ethernet controller: D-Link System Inc DGE-530T Ethernet NIC (rev 11)
03:02.0 Ethernet controller: D-Link System Inc DGE-530T Ethernet NIC (rev 11)

Of course the normal caveats and disclaimers apply as in not supported by VMware etc.

5 comments:

watcher said...

What if DGE-530T is the single card on the server how can I Install ESX 4?

Renhart said...

I think you may need to follow the approach in the original article I linked to in my post. I assume the installer is failing because there is no recognised network card in the server. Could you temporarily add a supported network card if you really don't want the hassle of editing the ESX install.

Ontani said...

I'm getting my dlink DGE-530T up and running but i'm getting the error: 0:00:00:14.474 Kernel Module skge was loaded, but has no signature attached. In red in my VMware ESX 4.0.0 build-208167 screen.

Rudolf said...

Many thanks for this!

There is a warning message indicating the loaded driver does not have a signature. Nevertheless, it still works.

Naveen said...

i am able to work around with the step that you have defined but unable to find 'manifests' folder at cat /etc/vmware/init/manifests/vmware-skge.mf

please help