We were performing factory acceptance testing with the customer and noticed the hand scanner wasn't working. It had been working earlier that day but now appeared to be non-functional.
We first went to check the logs. The hand scanner component of the system logs every message it receives from the hand scanner to aid in debugging this very issue. Common issues we see are that the hand scanner isn't using the correct end sequence character or that the transmission is garbled in some way. There was no evidence of any message in the logs.
At this point we're looking suspiciously at the hand scanner hardware itself. It's a wireless unit and sometimes becomes unlinked from its base. The wireless unit has power, it's reading the code because it's vibrating on read and it's sending it back to the base unit because the base unit flashes on receipt of a message. This seems to rule out hardware.
Now I'm suspecting drivers or some kind of Windows USB strangeness. I suggest we unplug it and plug it back in.
It turns out that the USB cable wasn't seated all the way, somehow it had become dislodged. The base unit was receiving the message, and had power, but due to a questionable connection clearly couldn't send data.
After looking at a USB A connector it appears that the power connectors are longer than the data ones and therefore will make contact first when plugged in.
We reported the cause of the problem back to the office and a vision engineer said "So did you plug it back in or hand it over to electrical?"
At least it was an easy fix but it's a shame it was in front of the customer. On site all the connections are housed in a locked cabinet so this shouldn't happen.