We have known IP addresses, ports, and network numbers for 6 BACNET servers we are trying to connect Ignition to. However, we can never manage to get the driver into “Initialized” state, it is only ever “Initializing” or “Uninitialized”.
We are able to ping all the devices and our network engineering team has verified that there is no firewall between the ignition VM and the devices we are trying to connect to.
When we run the following command we get the status “open|filtered unknown”
nmap -sU -p47809 --script bacnet-info xxx.xxx.xx.xx
We are looking to hear from anyone who has seen a similar issue when trying to connect to bacnet devices.
Are they on a different subnet? BACnet discovery requires that UDP broadcast messages can be exchanged between Ignition and these target BACnet devices.
Ignition will send an
whoIs to both the broadcast address configured on the “Local Device” instance and the target IP address of the Remote Device instance, and it expects an
iAm response in return.
If your server is running on Linux you may need to configure the Bind Address of the “Local Device” instance to be 0.0.0.0 or broadcasts will not be possible.
I will DM you our settings
It would be nice if you could run Wireshark or tshark to verify this, but given the settings you DM’d me there is very little chance that UDP broadcast messages can transmit across the completely different subnets your Ignition gateway and BACnet devices are on.
we have run wire shark and we cannot see any traffic coming from that IP address/port.
Does this mean that in order to make it work we need to make sure our ignition VM is on the same subnet?
Same subnet or subnets that allow broadcast traffic to be routed between them.
Your configuration as it is uses (slightly changed for anonymization) 10.x.x.x and 172.x.x.x, which would make the broadcast address 255.255.255.255 and there isn’t a router out there that is going to allow that…
@Kevin.Herron so we’ve been successful in locating the BACnet devices using NMAP after adding another NIC to our Ignition VM that is on the same VLAN as the BACnet servers.
Question we have now is how to make Ignition look at that NIC for the BACnet driver connection?
I don’t think there’s anything else to do but make sure the Local Device is bound to 0.0.0.0, and then make sure the broadcast address is x.y.z.255 for whatever x.y.z on that subnet is.
Binding to the NIC address instead of 0.0.0.0 might work as well, but you may not be able to see broadcast packets that way.