GPS Software


i just pushed the qdsp-start package and all relevant GPS packages into the Linaro archive for Debian stretch, so GPS should now work in latest builds as well. Thanks for reporting it.

It is the exact same s/w as the last release, there was no change, so there will not be any improvement in the stack, but at least it will behave the same way on the latest builds.

[ and for reference, the latest builds are based on Debian stretch version , while the previous ones were built for Debian Jessie, so we needed to rebuild the packages ]

Hello, I am working with 144 Debian, after start GPS runs ok for several days, when lost valid singal never recover
fixed position again, then the only way I founded is restart the board cutting power, sudo reboot doesnt works.
Any suggestion why happen this ?



I am trying to use gps using the instructions given above and im getting an error that wasnt mentioned anywhere in the discussion:

root@linaro-alip:~# systemctl start qdsp-start.service
Job for qdsp-start.service failed because the control process exited with error code.
See “systemctl status qdsp-start.service” and “journalctl -xe” for details.
root@linaro-alip:~# systemctl status qdsp-start.service
● qdsp-start.service - Start the Hexagon QDSP
Loaded: loaded (/lib/systemd/system/qdsp-start.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2017-04-23 15:29:03 UTC; 14s ago
Process: 2329 ExecStart=/usr/sbin/qdsp-start (code=exited, status=2)
Main PID: 2329 (code=exited, status=2)

Apr 23 15:29:03 linaro-alip qdsp-start[2329]: Found Hexagon at /sys/kernel/debug/remoteproc/remoteproc0
Apr 23 15:29:03 linaro-alip qdsp-start[2329]: /usr/sbin/qdsp-start: 18: /usr/sbin/qdsp-start: cannot create /sys/kernel/debug/remoteproc/
Apr 23 15:29:03 linaro-alip systemd[1]: Failed to start Start the Hexagon QDSP.
Apr 23 15:29:03 linaro-alip systemd[1]: qdsp-start.service: Failed with result ‘exit-code’.
i’m running stretch build #219 and installed the gpsd package as instrcuted.
does anyone have an idea to why this is happening?

yes, this is expected. in the 4.9 kernel some API changed and we haven’t updated all init scripts yet.

You will need this change: (check the qdsp-start script). You can apply the change locally for now, until we push everything into the image.

Once you have this change, you will need to start all services manually:

sudo systemctl start qdsp-start.service
sudo systemctl start gnss-gpsd.service
sudo systemctl start qmi-gps-proxy.service

and GPS should be working with 4.9 kernel.

All these changes are going to be integrated into the image really soon, but if you can try that on your side and confirm it’s working fine, it would be great.

Note that once we have the new DSP firmware from QCOM (with fix for audio and GPS coexistence) you won’t even need to start the qdsp it will be done automatically (unfortunately i don’t think we will get the new firmware for the April release…).

Hello ndec,

I can’t find these services which you mention in #225

So I copy them from ubuntu to #255 (
and follow your suggestion to add the change to #225.
but it is still failed

Do you have any suggestion?

Thank you

they are not included by default in the image. please have a look at the release notes for last release :, and search for “Using the onboard GPS”

i recommend that you remove the hack you did by taking files from an older ubuntu image, first.

Also note that all the packages have been updated for 4.9 kernel now, so if you follow the instructions, it should just work. The last thing missing is an updated firmware where both audio and GPS coexist, so that we don’t need to manually start the DSP… this is not available yet, and this is why you need to start the DSP manually with qdsp-start script.

Hi ndec,

I follow your suggestion to do it again on #227,
and It works now.

Thank you for your help.

Hi Nicolas,
ive tried following your instructions by changing the qdsp-start script that is located under the usr/sbin directory and modified it to match the update, im using stretch build #219 also.
after running the commands all i get in the xgps is NO FIX in status bar and its been like that for like an hour, i have put the board on the ledge outside my window because ive read along the conversation that the reception is bad.
could you confirm that my steps were correct?
and if so, is seeing a NO FIX status means that its working but not getting a fix or is there a different problem?
because there is no other way of knowing if it works or not.
thank you!

It’s possible that you’re seeing the result of a fatal event (crash) which causes the Hexagon firmware to restart.

The system does handle this gracefully, but the GPS client does not. So if this happens you would need to restart the gps related services.

We’re working on extending the recovery handling to cover these services as well.


Hi again Nicoals,
just wanted to confirm that this change does work.
didnt quite figured out how to perform the change but i got there eventually.
xgps doesn’t seem to get any information but gpsmon gets data and displays it after a manual init of the services.

I have a doubt .can we detect the co-ordinates if we place the board in air sealed metallic container?
and what type of antenna we can use to improve the sensitivity?

The on-board antenna is very weak, I certainly wouldn’t expect the on-board antenna to work in a sealed metal box.

Instructions for adding an external antenna is here:

I have gone through that pdf. the thing which confused me is GPS data is
handled with android app. But I am not using android OS in my board. can it
be possible to Handle GPS data with LInux?
can we detect GPS coordinates with external antenna if the board is placed
in sealed metallic container?

Yes you can install gnss-gpsd (and xgps).
You can find instruction on release page:

Yes, for sure external antenna needs to be outside the metallic box. (same apply for other wireless radios, wifi, bt).

You can ignore the section on testing using Android but you will need to follow the advice in the PDF to make the board mods necessary to install a suitable antenna.

4 posts were split to a new topic: Is there a system clock in Drabonboard 410C?

A post was split to a new topic: Can I power DB410C from a 9v power supply?

Thank you for your reply and my apologizes for late reply. I am able to retrieve GPS data by install gps libraries but i want to use that values for my future programming. Can you send me an python code or example for retrieving gps data through python code?

I am getting gps values displayed on my terminal window with these commands:

sudo apt-get install gnss-gpsd gpsd gpsd-clients
sudo systemctl start qdsp-start.service
sudo systemctl start gnss-gpsd.service
sudo systemctl start qmi-gps-proxy.service
gpsmon –n

this is displaying me values in terminal window but i am unable to use them in my future programming.

Everything goes through the common daemon so there’s nothing DB410C specific, you are into general Linux programming now.

That means the various examples around the web should just work.

These look promising:

For me nothing works =[

I have installed the ubuntu core 16, on db410c.

When I tried run ‘sudo apt-get install gnss-gpsd’, the system returned:
E: Unable to locate package gnss-gpsd

When I tried run ‘sudo systemctl start qdsp-start.service’, returns:
Running in chroot, ignoring request.

When I tried run ‘sudo dpkg-reconfigure gpsd’, returns:
Running in chroot, ignoring request.
invoke-rc.d: policy-rc.d denied execution of stop.
Creating/updating gpsd user account…
Running in chroot, ignoring request.
Running in chroot, ignoring request.
invoke-rc.d: policy-rc.d denied execution of start.

And obviously, when I tried run ‘gpsmon’, returns:
gpsmon:ERROR: TCP device open error can’t connect to host/port pair.

Now, I installed the linaro OS, but without success with the command ‘gpsmon’. The gnss-gpsd still not is available on apt packages.

Can anyone help me with this?