Running ESXi 5.5 on Apple Mac Mini + Thunderbolt Ethernet Adapter Caveat

I just upgraded my Apple Mac Mini 5,3 this morning from ESXi 5.1 Update 1 to the latest ESXi 5.5 release and I am very happy to report the upgrade worked flawlessly! When ESXi 5.5 is generally available, you will be able to just download the ISO and install or upgrade your existing Mac Mini without requiring additional drivers for the on-board network adapter to function correctly.

The only issue that I found is if you are using the Apple Thunderbolt Ethernet Adapter, you will find that after the install/upgrade, the network adapter no longer shows up. Looking into this issue, it looks like with the release of ESXi 5.5 and the introduction of the new Native Driver architecture, it had a slight impact to the Thunderbolt Ethernet Adapter. Having said that, the Apple Thunderbolt Ethernet Adapter and Mac Mini was never officially supported, so we were actually lucky that it had worked in the first place.

The reason the Thunderbolt Ethernet Adapter is not being recognized is that its device ID ( 14e4:1682 ) is not in tg3 (Broadcom) map file /etc/vmware/ . If the device was officially supported, then it would have been automatically claimed by the vmkdevmgr which handles both vmklinux and Native Driver devices. The fix is actually quite simple, we just need to add the device ID and reload vmkdevmgr.

Run the following four commands on the ESXi Shell:
chmod +w+t /etc/vmware/
echo "regtype=linux,bus=pci,id=14e4:1682 0000:0000,driver=tg3,class=network" >> /etc/vmware/
VMKDEVMGR_PID=$(ps -C | grep vmkdevmgr | awk '{print $1}')
The above command will append the device ID to file and retrieve the vmkdevmgr process ID and reload it. Now you can either use the vSphere Web/C# Client to verify the Thunderbolt Ethernet Adapter is showing up or you can run esxcli network nic list.
To ensure the settings persist, you will need to add those four commands to /etc/rc.local.d/ which will automatically execute the commands upon bootup.