I read all over the place (prior to ESXi4) that this network card is not supported. That said, I have plugged into my machine one of these cards and doing a "lspci" get the following information:
000:008:04.0 Network controller: D-Link System Inc DGE-528T Gigabit Ethernet Adapter
the "lspci -n" command also displays the following information:
000:008:04.0 Class 0200: 1186:4300
I also had a look at the /etc/vmware/pci.ids file and can find an entry in it for this card:
4300 DGE-528T Gigabit Ethernet Adapter
This tells me that the network controlled is active, working and identiefied 100%.
1. Why can I not find this in my ESXi Console to use as a device?
2. Why would all the info be on the OS, but not made available within the EXSi environment?
It is quite ok. I fixed this by building custom drivers and adding it to oem info. Works for the last couple of months like a charm!
If you guys are interseted, I can post the oem (custom built) to assist any of you.
Here it is.
The following files are included:
1. rsync - installed into the /bin directory.
2. simple.map - installed in the /etc/vmware directory
3. r8169.o - installed in the /usr/lib/vmware/vmkmod directory.
I run 2 machines with 4* DGE-528T and it works like a charm.
ps - I include rsync into all my oem's to make it easier to transfer files...
1. Did you put the OEM.TGZ in the correct directory?
1.a. mine is in /vmfs/volumes/<volid>/
1.b. You can do a "tar -ztvf oem.tgz" to test the current file mentioned in 1.a. - it should be empty - replace it with mine.
1.c. If everything works with the reboot, you should have the respective files in the directories as specified.
1.d. You can test this by checking if rsync is in /bin/
1.e. simple.map adds the entry for the driver to your system.
NOTE: You only need the last entry, the rest you should get from your own simple.map. The last entry reads:
1186:4300 0000:0000 network r8169
The 1186:4300 you get from your "lspci -n"
1.f. r8169.o is the driver and should after a reboot end up in your /usr/lib/vmware/vmkmod/ directory.
2. Did you reboot your machine?
3. Do you get the following entry with a "lspci"?
000:008:03.0 Class 0200: 1186:4300 [vmnic2]
000:008:04.0 Class 0200: 1186:4300 [vmnic3]
4. The correct way the driver should be installed is:
4.a. go to the directory where your oem.tgz resides.
4.b. mkdir test; cd test (You are going to do all your edits in TEST)
4.c. tar -zxvf my oem.tgz (this will extract the attached oem.tgz with all the drivers and more)
4.d. mv etc/vmware/simple.map etc/vmware/simple.map.orig (You only want the last line in my map file)
4.e. cp /etc/simple.map etc/vmware/ (You are going to add my entry to your map file)
4.f. vi etc/vmware/simple.map.orig and delete all the lines except the last line.
NOTE: MATCH YOUR ENTRY WITH YOUR lspci -n!!!
4.g. cat etc/vmware/simple.map.orig >> etc/vmware/simple.map (You are going to add my entry to your map file)
4.h. rm oem.tgz etc/vmware/simple.map.orig (Clean up after yourself)
4.i. tar -zcvf oem.tgz (Create your custom oem.tgz)
4.j. cp oem.tgz .. (Copy to the correct directory, overwriting the empty oem.tgz)
Reboot your system.
Please come back to me if there is still a problem.
Many thanks for taking the time to post the instructions.
oem.tgz doesn't exist on my ESX4.1 box so I don't know where to put the file, can you help?
from what I can gather it should be in /vmfs/volumes/datastore1
u have to place it inside /vmfs/volumes/Hypervisor1 folder, this folder already has oem.tgz but it is empty.
you replace the file as per the procedure above and you put the new file in the folder i mentioned at the begining of the answer.
There's the problem I have no oem.tgz or Hypervisor1 folder!
The only oem files are the one I've downloaded from this thread and the new one I've created.
And here's where the hypervisor folder should be
[root@ESX1 ~]# ls -al /vmfs/volumes/
drwxr-xr-x 1 root root 512 Mar 30 20:50 .
drwxrwxrwt 1 root root 512 Mar 30 16:18 ..
drwxr-xr-t 1 root root 1120 Mar 24 13:20 4d8b452f-08842033-34d8-0017a4edef03
lrwxr-xr-x 1 root root 35 Mar 30 20:50 datastore1 -> 4d8b452f-08842033-34d8-0017a4edef03
If you're able to boot ESXi, then you can enable Tech Support Mode (SSH) to access the host with a SSH client like WinSCP. You can then copy the file to /bootbank and /altbootbank.
this is weired. i have done the procedure myself today itself and i can assure you that inside /vmfs/volumes there is a Hypervisor1 folder with oem.tgz.
if the file doesnt exsist there then i dont think that is a problem because the file that was in this folder is empty.
Let me know what happen
You are correct. The Hypervisor1 - 3 partitions are mounted in /vmfs/volumes by their UUID. You can access the partition by that UUID path, or by the Hypervisor1/2 links or /bootlank and /altbootbank. If you run ls -l in either / or /vmfslvolumes you'll see that the friendly names in both cases point to the UUID path.
Thanks for the suggestions. I created the bootbank and altbootbank directories (see below)
[root@ESX1 test]# mkdir /bootbank
Following these changes I reboot the server but ESX still doesn't see the new NIC.
[root@ESX1 ~]# esxcfg-nics -l
Name PCI Driver Link Speed Duplex MAC Address MTU Description
vmnic0 0000:3f:00.00 tg3 Up 1000Mbps Full 00:17:a4:ed:ef:03 1500 Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet
but the cards are there!
[root@ESX1 ~]# lspci
05:09.0 Ethernet controller: D-Link System Inc DGE-528T Gigabit Ethernet Adapter (rev 10)
3f:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet (rev 01)
The oem.tgz I created following the instructions above contains the correct line.
You just want to copy the file to /bootbank and /altbootbank. You don't need to copy it to the datastore.
If you run ls -l /bootbank/ do you see your oem.tgz file. The size of the file should not be about 139 bytes.
If the correct file is there after you've rebooted your host could you verify that the driver exists in /usr/lib/vmware/vmkmod/ ?
If it is there, take a look at the file /var/log/messages (pretty soon after you reboot). You should see a section where the host tried to load the driver and how it enumerated PCI devices to find a NIC that it could use. If you don't see that in the logs then there could be an issue with the simple.map file.
If the driver is in the vmkmod folder, try to load it manually with vmkload_mod <drivername> . If you don't see the NIC with esxcfg-nics -l after that then the problem is the driver and changing simple.map won't help.
Even though the driver is assigned to the PCI ID in simple.map contained in oem.tgz it's not being picked up by ESX?!
I've copied the oem.tgz from /bootbank to /root/after and extracted the files to confirm all is correct. Here's the relevant part of simple.map from the oem.tgz I created.
But that line does not exist in /etc/vmware/simple.map.
[root@ESX1 after]# more /etc/vmware/simple.map | grep r8169
Hmm - you're using ESX (yes/no)? ESX doesn't use a simple.map file (that's for ESXi only).
For ESX you have to put the driver in the right place, in this case create a driver XML file and update the main PCI database file.
However, given the following output that you pasted it doesn't appear that the driver is recognizing the NIC. You'll need to fix that problem first.
mmmmm good question about ESX/ESXi, I wanted to install the 60 day trial so I could better understand the data networking side of vmotion so perhaps I've downloaded and installed the wrong version :smileyconfused:!
It doesn't say 'i' here
I'm running version "VMWare ESX, 4.1.0, 348481 | Eval....."