Ping2 Echosounder on Ubuntu

I am trying to interface the ping2 echosounder with our software library that runs on ROS. I am unable to use the provided code, and this is connected to a pc running Ubuntu. I am using the quick start guide on the website by sending the echosounder a request for the protocol version. For reading from serial, we store the receive on a ring buffer and have match conditions to find the message. I have confirmed that the port to the echosounder is open, and I have confirmed that I am sending:
0x42, 0x52, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0xa1, 0x00

I am not getting matches on anything that start with the following:
0x42, 0x52, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00

If a match condition is met, a function is called that gets the next few bytes, but the function is never called when I run it.

Is there anything that I should know about setup? I have confirmed this is operational using the ping-viewer app. The application does not work perfectly on Ubuntu (I had to build from source, and I do not get all the info about the device), but I am still getting distance readings. Am I correct in assuming that the ping1D messages are what I should be referring to?

I even tried using an oscilloscope to read the send and receive data. I can see data in there, but it does not perfectly match up with what I am sending and supposed to be receiving (it’s 3-4 bytes longer).