Fighting the System

A blog of hacks and workarounds

Running ExacqVision DVR Server on Hyper-V

ExacqVision is a DVR suite for security cameras. It works all right, I can’t really complain on that front. However, they license their software based on the MAC address of the server. This is pretty stupid on its face because it means a failure of the NIC means you need to relicense your server (which costs $$$ for a transfer) and in virtual environments, MAC addresses change easily. It gets really stupid when the software is incapable of reading the NIC’s MAC just because it is a Hyper-V NIC and I can’t license my server because of it. Thankfully, it’s possible to work around the issue.

In my setup, I have Server 2012 R2 running Hyper-V in a cluster with two nodes. ExacqVision supports virtual servers via an ESXi virtual appliance, and they want you to use a specific NIC in ESXi in order for their software to work. In my setup, I can’t use that NIC because it isn’t in Hyper-V! I set up the original server as a Generation 2 (UEFI) VM, and there was no way for Exacq to pick up the NIC’s MAC. Exacq support was supremely unhelpful, insisting that there was no way it would work and Hyper-V was unsupported.

For me, the solution was to create a new Generation 1 (BIOS) VM. I used a legacy network adapter and set the MAC address to match my licensed MAC. Since legacy adapter performance is not great, I also added a regular adapter and left the legacy adapter disconnected. I set the MAC to be the same on both adapters just in case. Note that it seems like if you change the MAC after installing ExacqVision, it will not read it correctly. I’m guessing the software does some checking for NIC shenanigans but I did not thoroughly test this hypothesis.

After installing ExacqVision, the server software was able to be licensed properly. The funny thing is the server software sees the legacy adapter (eth0) but has no idea about the network adapter the server is actually using! Exacq, your license model is broken!