GPS Software

So, with android 5.1 and android 6 I get most excellent performance (Even inside) with the on board antenna. On the same board, I ran the most recent build (144) that enabled GPS. I ran the code as it stands (same spot as android inside) and didn’t get any satellites to show up (even after leaving it run all weekend). I took one of my boards and followed the U.FL guides (and used the exact part numbers for the discreet components) for an active antenna. Instead of using the AP.25E.07.0054A outlined in the PDF, I got a more sensitive active antenna AGGBP.25B.07.0060A. This antenna performed horribly when compared to the passive antenna (Molex 1461860100) that I was using for WiFi. I didn’t change the discreet components over from the active antenna. I got several more satellites and better SNR. I am quite perplexed and plan on ordering up the AP.25E.07.0054A to see. I also checked all the connections (the inductor provides the 1.8V, which is actually more like 1.79, to the active antenna). I verified that this was indeed getting 1.8V to the connector and that there were not any shorts or anything. I have a microscope and everything to do this sort of fine detail work.

Bottom line, I was getting the same “Active: inactive (dead)” and empty data sets as the previous users in linux until I switched to an external antenna (and waited a good half hour for it to find satellites for the first time).

Has anybody had any similar issues? I am guessing the GPS stack running on the DSP is different than the android gps stack? Is there an Enhanced Mode IZat for linux? Has anybody used gnss-sdr with this?

Previous post was build 144 of Debian not Android just for clarification. Also, tried the snapshot release of debian with the newer debian and the gpsd-start does not exist yet…

hi,

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 ?

Regards,

Wilson.

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: https://git.linaro.org/landing-teams/working/qualcomm/pkg/qdsp-config.git/log/?h=next (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
qdsp-start.service
gnss-gpsd.service
qmi-gps-proxy.service

So I copy them from ubuntu to #255 (https://builds.96boards.org/releases/dragonboard410c/linaro/ubuntu/)
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 : http://builds.96boards.org/releases/dragonboard410c/linaro/debian/16.09/, 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.

Regards,
Bjorn

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.
BR,
Lior

Hey,
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: http://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/

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?

Hey,
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.