I am not sure if you need development version of geoclue-2.0.
I have installed standard package and it works
sudo apt install geoclue-2.0
You need gnss-share to read actual GNSS module data and provide them through geoclue D-BUS API to applications.
You should check that socket /var/run/gnss-share.sock is created. There has been mismatch in the past, that gnss_share.sock has been expected… Check that gnss-share and geoclue config agrees about socket path in /etc/gnss-share.conf and /etc/geoclue/geoclue.conf There should be in /etc/geoclue/geoclue.conf
# use aa nmea unix socket as the data source
nmea-socket=/var/run/gnss-share.sock
You can test that data flow to the socket by
sudo socat unix-client:/var/run/gnss-share.sock -
Cat directly from serial device file woks for me
sudo cat /dev/gnss0
but you should stop gnss-share first, because else you fight over device from two concurrent reads and what get one and another is question
systemctl stop gnss-share.service
I am not sure if there is some power management mechanism else that three switches off which can disable/power down the GNSS module that you have no cat output as the result.
…
Yes there is alternative SW power off controlled by pin
GPS3V3_EN/NAND_DATA06 ball L19 GPIO3 IO12
It is declared as pinctrl_gnsspwr in imx8mq-librem5.dtsi and connected to
reg_gnss: regulator-gnss
Mapping to uart2 is provided. Driver “fsl,imx8mq-uart”, “fsl,imx6q-uart” but I do not see anywhere reference to vcc-supply.
I expect that power supply to GNSS module is enabled after kernel start unconditionally. So the can and sockat should work. If not then there can be HW problem.