gnss-sdr-monitor icon indicating copy to clipboard operation
gnss-sdr-monitor copied to clipboard

Data not streaming in...

Open AgileEngineeringLLC opened this issue 4 years ago • 10 comments

Hi, I'm not able to get data to stream to the GUI, and am hoping you might suggest some things to try. I'm a new user of GNSS-SDR, but I'm getting a good solution (se figure attached). I have inserted the lines you suggest in the conf file (see attached), and I can get the GUI to connect (see attached). But no data is streaming through.

I'm running on Ubuntu 20.04, and I built GNSS-SDR with the "next" option. I also was able to get the monitor example on the gnss-sdr.org site to build and run. I tried to run your gnss-sdr-PVT-monitoring-client but it's not getting data either (maybe I've not got the PVT monitor setup correctly?). My RF front end is the HackRF with a GPSDO for the clock.

Thanks, I really appreciate any advice! Don

gsm conf2

pvt

AgileEngineeringLLC avatar Jul 02 '20 21:07 AgileEngineeringLLC

Hi Don (@AgileEngineeringLLC),

Try using these settings in your GNSS-SDR configuration:

;######### PVT CONFIG ############
PVT.enable_monitor=true
PVT.enable_protobuf=true
PVT.monitor_client_addresses=127.0.0.1
PVT.monitor_udp_port=1112


;######### MONITOR CONFIG ############
Monitor.enable_monitor=true
Monitor.enable_protobuf=true
Monitor.decimation_factor=1
Monitor.client_addresses=127.0.0.1
Monitor.udp_port=1111

Please do make sure that the settings on the GUI side match the GNSS-SDR configuration. The GNSS_Synchro port must match Monitor.udp_port and the Monitor_Pvt port must match PVT.monitor_udp_port.

In the menu bar of the GUI go to Edit > Preferences, and verify that the port numbers are correct.

Please let me know if this works for you. Regards,

Álvaro

acebrianjuan avatar Jul 03 '20 21:07 acebrianjuan

Muchas gracias! Finally got it streaming. Much of the issue is me getting back up-to-speed on Ubuntu, turns out some of my file mods weren't getting saved due to permissions issues. Great GUI, thx so much!

AgileEngineeringLLC avatar Jul 04 '20 17:07 AgileEngineeringLLC

De nada Don! Glad that you got your setup working. I am also happy to hear that you like the GUI. I would like to make some improvements to it when time allows.

I am closing this issue now. Please feel free to reopen it or create a new one should you encounter any problems.

Regards, Álvaro

acebrianjuan avatar Jul 05 '20 11:07 acebrianjuan

Hi - I am having a similar issues. Tried the suggested checks/fixes, but still not able to see anything other than telecommand.

jmtobin-uh avatar Sep 03 '21 22:09 jmtobin-uh

Hi - I am having a similar issues. Tried the suggested checks/fixes, but still not able to see anything other than telecommand.

Hi, I'm rusty with linux and Ubuntu, but I get the following issues if I do not run the command with sudo. If I type sudo first and then run the app, everything works flawlessly. Do you have any suggestions how to fix this?

jt3232 avatar Sep 07 '21 18:09 jt3232

Hi @jmtobin-uh and @jt3232,

I'd like to investigate the issue given that some of you are experiencing problems, even though everything is working fine for me.

What connections show up if you run $ netstat -nutap | grep gnss on a separate terminal window while running gnss-sdr and gnss-sdr-monitor in the background?

For instance, I see this:

$ netstat -nutap | grep gnss
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:3333            0.0.0.0:*               LISTEN      22454/gnss-sdr      
tcp        0      0 127.0.0.1:51796         127.0.0.1:3333          ESTABLISHED 21022/./gnss-sdr-mo 
tcp        0      0 127.0.0.1:3333          127.0.0.1:51796         ESTABLISHED 22454/gnss-sdr      
udp        0      0 127.0.0.1:45151         127.0.0.1:1112          ESTABLISHED 22454/gnss-sdr      
udp        0      0 127.0.0.1:35971         127.0.0.1:1111          ESTABLISHED 22454/gnss-sdr      
udp6   38400      0 :::1111                 :::*                                21022/./gnss-sdr-mo 
udp6    3840      0 :::1112                 :::*                                21022/./gnss-sdr-mo 

You can clearly see how between gnss-sdr and gnss-sdr-monitor there is an established TCP connection (both ways) for the Telecommand interface and two UDP streams, one for the Monitor block streaming and the other for the PVT block streaming.

gnss-sdr TCP 3333  ---------> TCP 51796 gnss-sdr-monitor
gnss-sdr TCP 3333  <--------- TCP 51796 gnss-sdr-monitor
gnss-sdr UDP 45151 ---------> UDP 1112 gnss-sdr-monitor
gnss-sdr UDP 35971 ---------> UDP 1111 gnss-sdr-monitor

Are your outputs different from mine? Let me know.

Regards, Álvaro

acebrianjuan avatar Sep 07 '21 19:09 acebrianjuan

Here is what I get when using "sudo" to start the monitor:


netstat -nutap | grep gnss
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:3333            0.0.0.0:*               LISTEN      1436/gnss-sdr       
tcp        0      0 0.0.0.0:2101            0.0.0.0:*               LISTEN      1436/gnss-sdr       
tcp        0      0 127.0.0.1:2101          127.0.0.1:38574         ESTABLISHED 1436/gnss-sdr       
tcp        0      0 127.0.0.1:38574         127.0.0.1:2101          ESTABLISHED 1436/gnss-sdr       
udp        0      0 10.10.10.5:50137        127.0.0.1:1153          ESTABLISHED 1436/gnss-sdr       
udp        0      0 10.10.10.5:40142        127.0.0.1:1152          ESTABLISHED 1436/gnss-sdr       
udp        0      0 10.10.10.5:44564        127.0.0.1:1151          ESTABLISHED 1436/gnss-sdr 

Without sudo:

netstat -nutap | grep gnss
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:3333            0.0.0.0:*               LISTEN      4107/gnss-sdr       
tcp        0      0 0.0.0.0:2101            0.0.0.0:*               LISTEN      4107/gnss-sdr       
tcp        0      0 127.0.0.1:39952         127.0.0.1:2101          ESTABLISHED 4107/gnss-sdr       
tcp        0      0 127.0.0.1:2101          127.0.0.1:39952         ESTABLISHED 4107/gnss-sdr       
udp        0      0 10.10.10.5:49337        127.0.0.1:1152          ESTABLISHED 4107/gnss-sdr       
udp        0      0 10.10.10.5:49686        10.10.10.1:1151         ESTABLISHED 4107/gnss-sdr       
udp        0      0 10.10.10.5:56059        127.0.0.1:1153          ESTABLISHED 4107/gnss-sdr       
udp6       0      0 :::1111                 :::*                                4265/gnss-sdr-monit 
udp6       0      0 :::1112                 :::*                                4265/gnss-sdr-monit

After running this, it has become apparent to me that I need to edit my preferences again. I guess running it in sudo saves different preferences than when running it normally. This worked for me and now I see messages when I run it without sudo.

jt3232 avatar Sep 07 '21 20:09 jt3232

Hi Alvaro - I do not see UDP streams.

(Not` all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:1234            0.0.0.0:*               LISTEN      21750/gnss-sdr      
tcp        0      0 0.0.0.0:2101            0.0.0.0:*               LISTEN      21750/gnss-sdr      
tcp        0      0 127.0.0.1:1234          127.0.0.1:53076         ESTABLISHED 21750/gnss-sdr      
tcp        0      0 127.0.0.1:60588         127.0.0.1:2101          ESTABLISHED 21750/gnss-sdr      
tcp        0      0 127.0.0.1:2101          127.0.0.1:60588         ESTABLISHED 21750/gnss-sdr           

jmtobin-uh avatar Sep 07 '21 21:09 jmtobin-uh

@jt3232

After running this, it has become apparent to me that I need to edit my preferences again. I guess running it in sudo saves different preferences than when running it normally. This worked for me and now I see messages when I run it without sudo.

Good observation. I looked into it and found that running gnss-sdr-monitor with sudo changes the ownership of the gnss-sdr-monitor.conf configuration file[1] to root, making it impossible for the settings to be saved afterwards when running the program normally (without sudo) as shown below:

File permissions before running with sudo:

$ ls -l ~/.config/gnss-sdr/gnss-sdr-monitor.conf 
-rw-rw-r-- 1 alvaro alvaro 461 Sep  8 19:28 /home/alvaro/.config/gnss-sdr/gnss-sdr-monitor.conf

File permissions after running with sudo:

$ ls -l ~/.config/gnss-sdr/gnss-sdr-monitor.conf 
-rw-rw-r-- 1 root root 461 Sep  8 19:29 /home/alvaro/.config/gnss-sdr/gnss-sdr-monitor.conf

You can fix this by restoring the original ownership of the file with the chown command (replace <username> with your actual username):

$ sudo chown -v <username>:<username> ~/.config/gnss-sdr/gnss-sdr-monitor.conf

The moral of the story is that you should avoid running gnss-sdr-monitor (or any program really) with superuser privileges unless it is absolutely necessary.

Please run the GUI as a normal user from now on and you should be fine.

I hope this helps. Álvaro


[1]: The default location of the configuration file is ~/.config/gnss-sdr/gnss-sdr-monitor.conf, in case you want to find it.

acebrianjuan avatar Sep 08 '21 18:09 acebrianjuan

@jmtobin-uh

Hi Alvaro - I do not see UDP streams.

Have you activated the Monitor block and PVT block UDP streams in your GNSS-SDR configuration file?

  • If the answer is "No", activate them and try again.

  • If the answer is "Yes" then maybe you ran the netstat command too early (before GNSS-SDR was getting position fixes). Try running netstat in combination with the watch command like this:

$ watch -n 1 'netstat -nutap | grep gnss'

This will make it easier for you to actively monitor you connections.

Let me know what connections show up now.

Álvaro

acebrianjuan avatar Sep 08 '21 19:09 acebrianjuan