As you sure know, i am working with a U-Blox GPS and GPSD.
And what i found recently is that gpsctl send to the gps more commands than you ask it to send.
I am using gpsctl -t "u-blox" to force gpsctl to send only U-blox commands.
I send to the GPS to activate SBAS, gpsctl do it but activate test mode too, i have revised the UBX raw command that gpsctl said to send and is correct but i think that in the GPS discovery process it send any raw data that the GPS think is a valid command and apply to the config.
To be sure of what i say i write my own Python routine that send the same command to the GPS and the strange behaviour disappear and the command is applied as it must be.
I think that gpsctl must discard the GPS auto discovery process if you manually said to it that the GPS is of a know time with the -t argument.
Thanks a lot for your help.