RAK831 not showing GPS

Hi all,
I’m trying to configure the RAK831 kit using the following sources:

Everything works great, it seems. It’s connect to TTN and messages are coming through. However, I don’t receive any GPS coordinates from the attached GPS-receiver that came with the unit. I couldn’t find any guidance on this, but I found a field in the configuration file called /opt/loragw/global_conf.json and changed it to: “gps”: true

Please note that the GPS receiver is outside with sky-view.

However, I still receive the following error:

sudo journalctl -f -u loragw
-- Logs begin at Tue 2018-06-26 20:36:32 CEST. --
Jun 26 21:38:24 loragw-4cc5 loragw[322]: # Upstream radio packet quality: 100.00%.
Jun 26 21:38:24 loragw-4cc5 loragw[322]: ### [ CONNECTIONS ] ###
Jun 26 21:38:24 loragw-4cc5 loragw[322]: # bridge.eu.thethings.network: Connected
Jun 26 21:38:24 loragw-4cc5 loragw[322]: # Semtech status report send.
Jun 26 21:38:24 loragw-4cc5 loragw[322]: ##### END #####
Jun 26 21:38:24 loragw-4cc5 loragw[322]: 21:38:24  INFO: [TTN] bridge.eu.thethings.network RTT 48
Jun 26 21:38:24 loragw-4cc5 loragw[322]: 21:38:24  INFO: [TTN] send status success for bridge.eu.thethings.network
Jun 26 21:38:34 loragw-4cc5 loragw[322]: 21:38:34  INFO: [up] TTN lora packet send to server "bridge.eu.thethings.network"
Jun 26 21:38:35 loragw-4cc5 loragw[322]: 21:38:35  INFO: [down] TTN received downlink with payload
Jun 26 21:38:35 loragw-4cc5 loragw[322]: 21:38:35  INFO: [TTN] downlink 12 bytes
Jun 26 21:38:54 loragw-4cc5 loragw[322]: INFO: tx_start_delay=1495 (1495.500000) - (1497, bw_delay=1.500000, notch_delay=0.000000)
Jun 26 21:38:54 loragw-4cc5 loragw[322]: src/mp_pkt_fwd.c:1671:thread_jit(): lgw_send done: count_us=3681321060
Jun 26 21:38:54 loragw-4cc5 loragw[322]: ##### 2018-06-26 19:38:54 GMT #####
Jun 26 21:38:54 loragw-4cc5 loragw[322]: ### [UPSTREAM] ###
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # RF packets received by concentrator: 2
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # CRC_OK: 50.00%, CRC_FAIL: 50.00%, NO_CRC: 0.00%
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # RF packets forwarded: 1 (27 bytes)
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # PUSH_DATA datagrams sent: 0 (0 bytes)
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # PUSH_DATA acknowledged: 0.00%
Jun 26 21:38:54 loragw-4cc5 loragw[322]: ### [DOWNSTREAM] ###
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # PULL_DATA sent: 0 (0.00% acknowledged)
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # PULL_RESP(onse) datagrams received: 0 (0 bytes)
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # RF packets sent to concentrator: 1 (0 bytes)
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # TX errors: 0
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # TX rejected (collision packet): 0.00% (req:1, rej:0)
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # TX rejected (collision beacon): 0.00% (req:1, rej:0)
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # TX rejected (too late): 0.00% (req:1, rej:0)
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # TX rejected (too early): 0.00% (req:1, rej:0)
Jun 26 21:38:54 loragw-4cc5 loragw[322]: ### BEACON IS DISABLED!
Jun 26 21:38:54 loragw-4cc5 loragw[322]: ### [JIT] ###
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # INFO: JIT queue contains 0 packets.
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # INFO: JIT queue contains 0 beacons.
Jun 26 21:38:54 loragw-4cc5 loragw[322]: ### [GPS] ###**
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # Invalid gps time reference (age: 1530041934 sec)**
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # no valid GPS coordinates available yet**
Jun 26 21:38:54 loragw-4cc5 loragw[322]: ### [PERFORMANCE] ###
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # Upstream radio packet quality: 50.00%.
Jun 26 21:38:54 loragw-4cc5 loragw[322]: ### [ CONNECTIONS ] ###
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # bridge.eu.thethings.network: Connected
Jun 26 21:38:54 loragw-4cc5 loragw[322]: # Semtech status report send.
Jun 26 21:38:54 loragw-4cc5 loragw[322]: ##### END #####
Jun 26 21:38:54 loragw-4cc5 loragw[322]: 21:38:54  INFO: [TTN] bridge.eu.thethings.network RTT 46
Jun 26 21:38:54 loragw-4cc5 loragw[322]: 21:38:54  INFO: [TTN] send status success for bridge.eu.thethings.network
Jun 26 21:38:54 loragw-4cc5 loragw[322]: 21:38:54  INFO: [up] TTN lora packet send to server "bridge.eu.thethings.network"
Jun 26 21:38:55 loragw-4cc5 loragw[322]: 21:38:55  INFO: [down] TTN received downlink with payload
Jun 26 21:38:55 loragw-4cc5 loragw[322]: 21:38:55  INFO: [TTN] downlink 12 bytes

Did you get this working?

Sadly not, still experiencing the same issue. Are you in the same boat?

I hate to ask, but did you connect a gps antenna?

It’s a fair question. But yes, it’s connected :slight_smile:

I believe it shows up on the serial port, so could you check to see if there is data arriving on it? I usually use something like “screen /dev/ttyAMA0 9600”

See here: The hard RAK831 cafe part 2

Fixed!

My GPS was located on /dev/ttyS0 and I confirmed it by tapping in to the stream:

sudo cat /dev/ttyS0

Next step was to add this to the configuration file /opt/loragw/global_conf.json

{
    ...
    "gateway_conf": {
        ...
        "fake_gps": false,
        "gps": true,
        "gps_tty_path": "/dev/ttyS0"
    }
}

However, this still didn’t fix the issue which was quite odd! Final step was to to disable the login-shell on the serial port which is located in the interfacing options:

sudo raspi-config

Now reboot and it works!

I’ve found that one more step is needed: give permission to access the serial port.

So in summary:

  • Resolve the serial port conflict
  • Permission for serial port
  • GPS configuration

For details see Detect the GPS module of the RAK831 shield for Raspberry Pi 3

Hello to everyone!

I just build my own Gateway using a Raspberry Pi 3+ and the RAK831 with the GPS module.

I’ve made the changes and it looks that everything are working fine now.

But, why we need the GPS module? Is it just for accurate timing purposes or for the actual position data?

Anyone with an answer?

Is the real GPS on the Gateways only for timing data or for actual positioning data as well?

Using the GPS should be trivial when running the Resin.io setup on a Raspberry Pi. All you need to do is to add GW_GPS true to the environment variables list on the Resin console.

Position data does not change for most gateways so it can be statically configured in the TTN console. GPS main purpose is accurate time stamps and in the future for timing of class B beacon packets.

1 Like

So, in other words I can eliminate the use of GPS for my Gateway… at least for now!

I know this is an extremely novice question but I’m trying to get a gateway fully set up that I bought back in 2018. I’ve read enough to see that all I need to do are tweak some of the variables in Resin (now BelinaCloud) to get the GPS to work. So, after adding GW_GPS = true in the device variables how do I get that change to happen on the device? I thought I would just need to restart it and it would load the new settings. I found the “releases” tab but it says nothing has changed since 2018. How do I release a new “release”?
I know that getting this GPS to work is trivial but I want to use it because it came with the kit and when I move apartments I’d like for it to update without my help.