The Contemporary Controls BASrouter is BTL Listed with both B-RTR and B-BBMD device profiles to ensure seamless integration into BACnet networks. This rugged and compact BACnet multi-network router provides versatile stand-alone routing between BACnet/IP, BACnet Ethernet (ISO 8802-3), and BACnet MS/TP networks. In addition to its field-proven operation, the BASrouter has a number of diagnostic capabilities built into its 3.0 firmware. By pairing the BASrouter’s diagnostic capabilities with a BACnet utility such as the free BACnet Discovery Tool (BDT), you are well-armed to troubleshoot BACnet networks in the field. Two models are available, a metal case DIN-rail mounted and 24 VAC/VDC powered BASrouter for permanent installations, as well as the portable model in a compact plastic case and 5VDC power input, which you can keep in your bag and power with your laptop’s USB port when you need to diagnose and troubleshoot BACnet networks on the go. The BASrouter installation guide contains the essential power and network configuration information needed for a successful installation, but the real world does not always allow for perfect scenarios.
The most basic, and really the first step to troubleshooting your BACnet network using the BASrouter is looking at the Ethernet and MS/TP Receive LED lights on the front of the device. These lights are a good indicator of network activity. A bicolour Ethernet LED glows green for 100 Mbps, and yellow for 10 Mbps, and indicates activity by flashing. MS/TP Receive green LED flashes rapidly when valid MS/TP traffic is received. When flashing continuously and without long interruptions, the MS/TP Receive LED is a good indicator that the MS/TP network is operational. If there are long interruptions in the MS/TP Receive LED, you may have some issues on the MS/TP segment, use the Status page to troubleshoot the segment further.
A good practice (but not required) to ensure no errors are present on the MS/TP segment after installation of devices is to configure the BASrouter MS/TP communication properly, connect it to the MS/TP segment, and then power up every MS/TP device on the bus. Log in to the BASrouter web page and click on the Status page. There may be a small number of Network Errors because the bus needs to stabilize (build the network) when devices are powered up. This does not necessarily mean there are real errors to be concerned about. Simply click the Reset Statistics button to clear these initial Network Errors out and then observe that no new errors are being counted (number in red). If the count does not accumulate rapidly, then the segment is error-free. Nothing is perfect, and neither is MS/TP communications, you may observe a small Network Errors count over long periods of time and this is ok. If you observe that the Network Errors count is rapidly growing, then there certainly are errors on the MS/TP segment and further troubleshooting is required. Even one badly behaved device on the MS/TP segment can cause a collapse in performance (I have some experience with this scenario) because EIA-485 is a shared trunk.
The Status webpage can be helpful in analyzing the MS/TP network segment the BASrouter is connected to and observe the traffic on the BACnet networks the router is connected to. The Status screen is always operational and keeps tabs of activity, as long as the BASrouter is powered. It consists of MS/TP Device Status table with color-coded blocks for each device, Network Errors count (in red), and router traffic Statistics on BACnet networks to which the BASrouter is connected. The Status page will automatically refresh every 5 seconds with the updated status on networks and devices — so you can observe the network state changes and gain insight into the condition of the BACnet network (as seen by the BASrouter). These statistics are retained over time, unless the BASrouter is powered off or rebooted from the main web page using the Save Changes button, then all Status page parameters are reset.
A BACnet networks Routing webpage with a discoverable routing table is useful when setting up or troubleshooting a BACnet network. Multiple networks, possibly employing different physical layer technologies, may be interconnected by BACnet routers to form a BACnet internetwork. The Routing table web page provides a routing table which contains information about the network topology of the surrounding BACnet internetwork such as Destination Network number, Network Type, Connecting Network, and Network Status as well as the Next Router Address. This table will be blank upon powering the BASrouter. Click the Discover Routing Table button at the top to discover other routers on the BACnet network which will send a “Who-Is-Router-To-Network” message and fill the table with the discovered BACnet routers.
Further Ethernet network troubleshooting can be performed by using a diagnostic switch such as the Skorpion Diagnostic Switch which can assist in troubleshooting Ethernet networks by allowing a network protocol analyzer such as Wireshark® to attach to an unused port on the switch and observe all traffic on the network. Skorpion Diagnostic Switches retain all the features of an unmanaged switch, but perform like a repeating hub where all received messages are flooded to all other ports. Mounting a diagnostic switch next to your BASrouter allows you to easily perform IP network troubleshooting.
The BACnet packet is nested inside a UDP (User Datagram Protocol) which is nested inside an IP protocol packet which is nested inside an Ethernet packet. This nested nature of the network packets means that when you capture using Wireshark, you will have to drill down to the BACnet message in order to see its contents. Using the bvlc (BACnet Virtual Link Control) dissector filter in Wireshark allows you to decode the messages as BACnet messages. The BACnet message itself consists of a few layers. The BACnet service is wrapped up with information about the device – the device address, source network number, and network priority for example are contained inside the NPDU (Network Layer Protocol Data Unit). Once you drill down to the APDU you will see the BACnet packet information. BACnet APDU (Application Layer Protocol Data Units) carries the Application Layer parameters, which simply means the actual BACnet packet.
Maximum APDU Length is dependent on the physical layer used, for example the maximum APDU size for BACnet/IP is 1497 octets, but for BACnet MS/TP segments, the maximum APDU size is only 480 octets. This becomes important when routing through different BACnet Data Link Layers and may require some more advanced BACnet router features such as the advanced features found in the high performance BASrouterLX with MS/TP Backbone and Backward Routing.
In the Wireshark screenshot below, you can notice the APDU contains the BACnet Service Choice, objectIdentifier and so on. In this case the BACnet service is a readProperty. This can be any other BACnet service such as a writeProperty, etc.
Wireshark is a powerful tool and allows you to specify custom filters such as capturing traffic to or from a single known IP address, a range of IP addresses, capture only BACnet traffic, change the UDP port (in case it is not on the standard 47808 port), you can also mark packets of interest and save, display, or print the marked packets.