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.
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,115200from/boot/cmdline.txtor by usingraspbi-config:Permissions for serial port
In order to access the serial port (without being
root), the user must belong to the groupdialout. The userpibelongs to it, the userloragwdoesn't. So:Discovery
Even after these changes, the setup script did not properly discover the GPS module. It said:
I have no idea how the discovery works. Is the GPS port a default value? Anyhow, I've modified the
global_conf.jsonmanually: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.