Looking at the picture on the wiki, the HAT uses a Quectel GNSS module:
However, the Semtech HAL (to which the WM1302 setup wiki points to), only supports uBlox 7. Please see the following comments in the Semtech source-code:
What was the reason to use the Quectel GNSS module instead of an uBlox?
I can get valid data from the Quectel GPS module, on the WM1302 Pi Hat as confirmed with cat /dev/ttyAMA0 or using gpsd, however the message expected by the packet_forwarder code is not what is being sent by the GPS module. I do get a valid $GNGGA message with coordinates but no $GPGGA. Should this be changed by reconfiguring the Quectel GPS module?
After some digging, it seems that a $GNRMC message has an additional field than a $GPRNC message. The code in loragw_gpc.c is written to accept either a $GPRNC and a $GNRMC but rejected the $GN message because it has 14 fields rather than 13. I changed the code to allow either length since the relevant fields are identical. There was also a test in the “UBLOX” message handler that checked for a divide by 0 when computing the slope error for internal clock adjustments. This could happen if they were in sync, a very good possibility if the clock is accurate. I changed this area to accept the fact that the clocks are the same. Don’t understand how this could have ever worked properly if the message were not $GP specific. Guess the engineers at SEEED didn’t test as they should.
The Quectel GNSS does send out the “UBLOX” specific message. I don’t know if this is standard or the engineers at SEEED hacked the firmware. I do know that I cannot change the data format modes by sending it a message over the serial port. I see the message on the header but I do not think it is wired to the module. But, of course the $GNRMC message is rejected and this is the source of time and date added as metadata in the upstream messages.