Skip to content

Detect the GPS module of the official RAK831 shield for Raspberry Pi 3 #2

@manuelbl

Description

@manuelbl

Thanks for the awesome setup procedure. I've successfully used it with a RAK831 board and RAK's official shield (converter board) for the Raspberry Pi 3. However the GPS module soldered onto the shield was not configured.

With manual work, I was able to get the GPS module running. The relevant steps are:

Serial port

On the Raspberry Pi 3, the serial port /dev/ttyAMA0 is used for the bluetooth module. The GPS module is found on /dev/ttyS0. The path /dev/serial0 is linked to that device as well. The Raspbian distribution configures it as a login shell, which is in conflict with the use for the GPS module. So it must be changed, either by removing console=serial0,115200 from /boot/cmdline.txt or by using raspbi-config:

  • Interfacing Options
  • Serial
  • Would you like a login shell to be accessible over serial? No
  • Would you like the serial port hardware to be enabled? Yes

Permissions for serial port

In order to access the serial port (without being root), the user must belong to the group dialout. The user pi belongs to it, the user loragw doesn't. So:

sudo usermod -a -G dialout loragw

Discovery

Even after these changes, the setup script did not properly discover the GPS module. It said:

Has hardware GPS:	False
Hardware GPS port:	/dev/ttyAMA0
Using fake GPS

I have no idea how the discovery works. Is the GPS port a default value? Anyhow, I've modified the global_conf.json manually:

        "fake_gps": false, 
        "gps": true,
	"gps_tty_path": "/dev/ttyS0"

After a reboot, the GPS module is now working. It would be cool if no manual work was needed and the setup scripts would automatically detect and configure the GPS module.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions