for the usrp compatible gpsdo using ublox gps module there is a problem if you want to use the gps message to fetch time and location. this is the bug in uhd source code that do not recognize ublox gps message. below show how to fix this bug.

first check your uhd version, just run uhd_usrp_probe, it will show uhd version like below

get uhd source:

git clone https://github.com/EttusResearch/uhd.git

get uhd source the same as your preinstall uhd version

cd uhd
git tag
git checkout v3.14.1.1

here my version is 3.14.1.1 so i checkout v3.14.1.1 but you need to modify to your version.

open uhd/host/lib/usrp/gps_ctrl.cpp

modify gp_msg_regex as below:

compile uhd

for ubuntu

sudo apt-get install autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool \
g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev \
libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools \
python3-ruamel.yaml
cd uhd/host
mkdir build
cd build
cmake ..
make

for windows reference this:

https://kb.ettus.com/Building_and_Installing_the_USRP_Open_Source_Toolchain_(UHD_and_GNU_Radio)_on_Windows

after compile you need to replace compiled libuhd to your preinstall libuhd

find your preinstall libuhd:

cd /
sudo find -name libuhd.so

in my case it is /usr/lib/x86_64-linux-gnu/libuhd.so

so just run

cd
cd uhd
sudo cp host/build/lib/libuhd.so /usr/lib/x86_64-linux-gnu/libuhd.so