[Solved] RAK 2247 isn't working on Pi

Issue: I’m currently trying to use the RAK2247 with he CM3+, running the Raspberry OS Lite but a few seconds/minutes(?) after the installation is completed and I run the lora_pkt_fwd i lose my SSH connection with it and cannot get in anymore unless I remove the rak2247.
While the board doesn’t reboot itself and i lose my ssh connection I can see it in TTN, after is reboots, i can not.

Setup:

  • Raspberry CM3+
  • Raspberry OS Lite
  • Connected through SSH
  • Network access using cable (eth0), the board has no WiFi.

Server: TTN

Details:
I’ve tried running both setups, one found in rak’s documentation - rak2247-x86-linux-pc and the GitHub readme - rak_common_for_gateway, both of them give me the same problem. (Sorry, I can’t link because I’m a new user)

After I lost the connection, looks like the board is rebooting itself after it shutdown (by itself). This is the ping result:

$ ping 192.168.0.114
PING 192.168.0.114 (192.168.0.114): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
ping: sendto: No route to host
Request timeout for icmp_seq 4
ping: sendto: Host is down
[...]
Request timeout for icmp_seq 21
ping: sendto: Host is down
Request timeout for icmp_seq 22
ping: sendto: Host is down
Request timeout for icmp_seq 23
Request timeout for icmp_seq 24
Request timeout for icmp_seq 25
Request timeout for icmp_seq 26
Request timeout for icmp_seq 27
Request timeout for icmp_seq 28
ping: sendto: No route to host
Request timeout for icmp_seq 29
ping: sendto: Host is down
[...]

Also, here is the service status just before, around 5 seconds, it shutdown.

● ttn-gateway.service - The Things Network Gateway
   Loaded: loaded (/lib/systemd/system/ttn-gateway.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-10-08 19:19:40 BST; 1min 42s ago
 Main PID: 1082 (start.sh)
    Tasks: 6 (limit: 2065)
   CGroup: /system.slice/ttn-gateway.service
           ├─1082 /bin/bash /opt/ttn-gateway/packet_forwarder/lora_pkt_fwd/start.sh
           └─1126 ./lora_pkt_fwd

Oct 08 19:20:45 raspberrypi ttn-gateway[1082]: ### [GPS] ###
Oct 08 19:20:45 raspberrypi ttn-gateway[1082]: # GPS sync is disabled
Oct 08 19:20:45 raspberrypi ttn-gateway[1082]: ##### END #####
Oct 08 19:20:45 raspberrypi ttn-gateway[1082]: JSON up: {"stat":{"time":"2020-10-08 18:20:15 GMT","rxnb":0,"rxok":0,"rxfw
Oct 08 19:20:45 raspberrypi ttn-gateway[1082]: INFO: [down] PULL_ACK received in 479 ms
Oct 08 19:20:45 raspberrypi ttn-gateway[1082]: INFO: [down] PULL_ACK received in 478 ms
Oct 08 19:20:45 raspberrypi ttn-gateway[1082]: ##### 2020-10-08 18:20:45 GMT #####
Oct 08 19:20:45 raspberrypi ttn-gateway[1082]: ### [UPSTREAM] ###
Oct 08 19:20:45 raspberrypi ttn-gateway[1082]: # RF packets received by concentrator: 0
Oct 08 19:20:45 raspberrypi ttn-gateway[1082]: # CRC_OK: 0.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%

Steps to reproduce:

  1. Fresh install Raspberry OS Lite
  2. Connect the raspberry to the router using an Ethernet Cable
  3. Connect to it through SSH
  4. sudo apt-get update && sudo apt-get upgrade -y , then reboot
  5. Follow Installation Procedure on rak_common_for_gateway#installation-procedure, selecting option 6.RAK2247(USB). (Sorry, I can’t link because I’m a new user)
  6. After the installation is completed, after a while, i can’t connect to it anymore unless I remove the rak2247.

Logs:
Before Installation:

$ uname -a
Linux raspberrypi 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux

After:

$ uname -a
Linux rak-gateway 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux
$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.114  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::c948:efaf:719:404f  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:80:f4:c5  txqueuelen 1000  (Ethernet)
        RX packets 4079  bytes 1784545 (1.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4261  bytes 3866857 (3.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2728  bytes 5129684 (4.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2728  bytes 5129684 (4.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
$ lsusb
Bus 001 Device 005: ID 0403:6010 Future Technology Devices International, Ltd FT2232C/D/H Dual UART/FIFO IC
[...]
$ sudo ./install.sh 
Please select your gateway model:
*       1.RAK831
*       2.RAK2245
*       3.RAK7243/RAK7244 no LTE
*       4.RAK7243/RAK7244 with LTE
*       5.RAK833(USB)
*       6.RAK2247(USB)
*       7.RAK833(SPI)
*       8.RAK2247(SPI)
*       9.RAK2246
*       10.RAK2287(SPI)
*       11.RAK2285
Please enter 1-11 to select the model:6
Hit:1 http://raspbian.raspberrypi.org/raspbian buster InRelease
Hit:2 http://archive.raspberrypi.org/debian buster InRelease
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
/home/pi/rak_common_for_gateway/rak /home/pi/rak_common_for_gateway
Removed /etc/systemd/system/multi-user.target.wants/hciuart.service.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
git is already the newest version (1:2.20.1-2+deb10u3).
The following additional packages will be installed:
  libi2c0 libjq1 libonig5 libpcap0.8 lrzsz read-edid
Suggested packages:
  libi2c-dev python-smbus default-mta | postfix | mail-transport-agent sysvinit-core
The following NEW packages will be installed:
  dialog i2c-tools jq libi2c0 libjq1 libonig5 libpcap0.8 lrzsz minicom monit ppp read-edid
0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,733 kB of archives.
After this operation, 5,604 kB of additional disk space will be used.
Get:1 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf dialog armhf 1.3-20190211-1 [250 kB]
Get:2 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf libi2c0 armhf 4.1-1 [9,348 B]
Get:3 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf i2c-tools armhf 4.1-1 [71.7 kB]
Get:4 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf libonig5 armhf 6.9.1-1 [150 kB]
Get:5 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf libjq1 armhf 1.5+dfsg-2+b1 [119 kB]
Get:6 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf jq armhf 1.5+dfsg-2+b1 [59.3 kB]
Get:7 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf libpcap0.8 armhf 1.8.1-6 [124 kB]
Get:8 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf lrzsz armhf 0.12.21-10 [79.8 kB]
Get:9 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf minicom armhf 2.7.1-1 [250 kB]
Get:10 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf monit armhf 1:5.25.2-3 [291 kB]
Get:11 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf ppp armhf 2.4.7-2+4.1+deb10u1 [312 kB]     
Get:12 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf read-edid armhf 3.0.2-1 [15.4 kB]          
Fetched 1,733 kB in 7s (259 kB/s)                                                                                       
Selecting previously unselected package dialog.
(Reading database ... 40845 files and directories currently installed.)
Preparing to unpack .../00-dialog_1.3-20190211-1_armhf.deb ...
Unpacking dialog (1.3-20190211-1) ...
Selecting previously unselected package libi2c0:armhf.
Preparing to unpack .../01-libi2c0_4.1-1_armhf.deb ...
Unpacking libi2c0:armhf (4.1-1) ...
Selecting previously unselected package i2c-tools.
Preparing to unpack .../02-i2c-tools_4.1-1_armhf.deb ...
Unpacking i2c-tools (4.1-1) ...
Selecting previously unselected package libonig5:armhf.
Preparing to unpack .../03-libonig5_6.9.1-1_armhf.deb ...
Unpacking libonig5:armhf (6.9.1-1) ...
Selecting previously unselected package libjq1:armhf.
Preparing to unpack .../04-libjq1_1.5+dfsg-2+b1_armhf.deb ...
Unpacking libjq1:armhf (1.5+dfsg-2+b1) ...
Selecting previously unselected package jq.
Preparing to unpack .../05-jq_1.5+dfsg-2+b1_armhf.deb ...
Unpacking jq (1.5+dfsg-2+b1) ...
Selecting previously unselected package libpcap0.8:armhf.
Preparing to unpack .../06-libpcap0.8_1.8.1-6_armhf.deb ...
Unpacking libpcap0.8:armhf (1.8.1-6) ...
Selecting previously unselected package lrzsz.
Preparing to unpack .../07-lrzsz_0.12.21-10_armhf.deb ...
Unpacking lrzsz (0.12.21-10) ...
Selecting previously unselected package minicom.
Preparing to unpack .../08-minicom_2.7.1-1_armhf.deb ...
Unpacking minicom (2.7.1-1) ...
Selecting previously unselected package monit.
Preparing to unpack .../09-monit_1%3a5.25.2-3_armhf.deb ...
Unpacking monit (1:5.25.2-3) ...
Selecting previously unselected package ppp.
Preparing to unpack .../10-ppp_2.4.7-2+4.1+deb10u1_armhf.deb ...
Unpacking ppp (2.4.7-2+4.1+deb10u1) ...
Selecting previously unselected package read-edid.
Preparing to unpack .../11-read-edid_3.0.2-1_armhf.deb ...
Unpacking read-edid (3.0.2-1) ...
Setting up monit (1:5.25.2-3) ...
Setting up libi2c0:armhf (4.1-1) ...
Setting up read-edid (3.0.2-1) ...
Setting up libpcap0.8:armhf (1.8.1-6) ...
Setting up dialog (1.3-20190211-1) ...
Setting up i2c-tools (4.1-1) ...
Setting up ppp (2.4.7-2+4.1+deb10u1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/pppd-dns.service → /lib/systemd/system/pppd-dns.service.
Setting up minicom (2.7.1-1) ...
Setting up lrzsz (0.12.21-10) ...
Setting up libonig5:armhf (6.9.1-1) ...
Setting up libjq1:armhf (1.5+dfsg-2+b1) ...
Setting up jq (1.5+dfsg-2+b1) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
Processing triggers for systemd (241-7~deb10u4+rpi1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for mime-support (3.62) ...
Copy Rak file success!
/home/pi/rak_common_for_gateway
/home/pi/rak_common_for_gateway/ap /home/pi/rak_common_for_gateway
Reading package lists... Done
Building dependency tree       
Reading state information... Done
iproute2 is already the newest version (4.20.0-2).
iw is already the newest version (5.0.1-1).
iw set to manually installed.
procps is already the newest version (2:3.3.15-2).
util-linux is already the newest version (2.33.1-0.1).
The following additional packages will be installed:
  dns-root-data dnsmasq-base libhavege1
Suggested packages:
  apparmor
The following NEW packages will be installed:
  dns-root-data dnsmasq dnsmasq-base haveged hostapd libhavege1
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,106 kB of archives.
After this operation, 2,865 kB of additional disk space will be used.
Get:1 http://archive.raspberrypi.org/debian buster/main armhf dnsmasq-base armhf 2.80-1+rpt1 [400 kB]
Get:2 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf hostapd armhf 2:2.7+git20190128+0c1e29f-6+deb10u2 [629 kB]
Get:3 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf dns-root-data all 2019031302 [5,396 B]      
Get:5 http://archive.raspberrypi.org/debian buster/main armhf dnsmasq all 2.80-1+rpt1 [16.5 kB]                         
Get:4 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf libhavege1 armhf 1.9.1-7 [23.0 kB]    
Get:6 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf haveged armhf 1.9.1-7 [33.0 kB]
Fetched 1,106 kB in 2s (480 kB/s)  
Selecting previously unselected package hostapd.
(Reading database ... 41326 files and directories currently installed.)
Preparing to unpack .../0-hostapd_2%3a2.7+git20190128+0c1e29f-6+deb10u2_armhf.deb ...
Unpacking hostapd (2:2.7+git20190128+0c1e29f-6+deb10u2) ...
Selecting previously unselected package dns-root-data.
Preparing to unpack .../1-dns-root-data_2019031302_all.deb ...
Unpacking dns-root-data (2019031302) ...
Selecting previously unselected package dnsmasq-base.
Preparing to unpack .../2-dnsmasq-base_2.80-1+rpt1_armhf.deb ...
Unpacking dnsmasq-base (2.80-1+rpt1) ...
Selecting previously unselected package dnsmasq.
Preparing to unpack .../3-dnsmasq_2.80-1+rpt1_all.deb ...
Unpacking dnsmasq (2.80-1+rpt1) ...
Selecting previously unselected package libhavege1:armhf.
Preparing to unpack .../4-libhavege1_1.9.1-7_armhf.deb ...
Unpacking libhavege1:armhf (1.9.1-7) ...
Selecting previously unselected package haveged.
Preparing to unpack .../5-haveged_1.9.1-7_armhf.deb ...
Unpacking haveged (1.9.1-7) ...
Setting up dnsmasq-base (2.80-1+rpt1) ...
Setting up dns-root-data (2019031302) ...
Setting up dnsmasq (2.80-1+rpt1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/dnsmasq.service → /lib/systemd/system/dnsmasq.service.
Setting up hostapd (2:2.7+git20190128+0c1e29f-6+deb10u2) ...
Created symlink /etc/systemd/system/multi-user.target.wants/hostapd.service → /lib/systemd/system/hostapd.service.
Job for hostapd.service failed because the control process exited with error code.
See "systemctl status hostapd.service" and "journalctl -xe" for details.
Created symlink /etc/systemd/system/hostapd.service → /dev/null.
Setting up libhavege1:armhf (1.9.1-7) ...
Setting up haveged (1.9.1-7) ...
Created symlink /etc/systemd/system/default.target.wants/haveged.service → /lib/systemd/system/haveged.service.
Processing triggers for systemd (241-7~deb10u4+rpi1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for dbus (1.12.20-0+deb10u1) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
Cloning into 'create_ap'...
remote: Enumerating objects: 1069, done.
remote: Total 1069 (delta 0), reused 0 (delta 0), pack-reused 1069
Receiving objects: 100% (1069/1069), 356.11 KiB | 231.00 KiB/s, done.
Resolving deltas: 100% (591/591), done.
/home/pi/rak_common_for_gateway/ap/create_ap /home/pi/rak_common_for_gateway/ap
install -Dm755 create_ap /usr/local/rak/ap/bin/create_ap
install -Dm644 create_ap.conf /etc/create_ap.conf
[ ! -d /lib/systemd/system ] || install -Dm644 create_ap.service /usr/local/rak/ap/lib/systemd/system/create_ap.service
install -Dm644 bash_completion /usr/local/rak/ap/share/bash-completion/completions/create_ap
install -Dm644 README.md /usr/local/rak/ap/share/doc/create_ap/README.md
/home/pi/rak_common_for_gateway/ap
Device "wlan0" does not exist.
Install ap success!
/home/pi/rak_common_for_gateway
/home/pi/rak_common_for_gateway/chirpstack /home/pi/rak_common_for_gateway
WARNING: ChirpStack is not support for this rpi model.
/home/pi/rak_common_for_gateway
/home/pi/rak_common_for_gateway/lte /home/pi/rak_common_for_gateway
/home/pi/rak_common_for_gateway
/home/pi/rak_common_for_gateway/lora /home/pi/rak_common_for_gateway
Cloning into 'lora_gateway'...
remote: Enumerating objects: 808, done.
remote: Total 808 (delta 0), reused 0 (delta 0), pack-reused 808
Receiving objects: 100% (808/808), 677.38 KiB | 941.00 KiB/s, done.
Resolving deltas: 100% (470/470), done.
Cloning into 'packet_forwarder'...
remote: Enumerating objects: 387, done.
remote: Total 387 (delta 0), reused 0 (delta 0), pack-reused 387
Receiving objects: 100% (387/387), 835.56 KiB | 1.18 MiB/s, done.
Resolving deltas: 100% (172/172), done.
/home/pi/rak_common_for_gateway/lora/rak2247_usb /home/pi/rak_common_for_gateway/lora
Gateway configuration:
Installing dependencies...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
git is already the newest version (1:2.20.1-2+deb10u3).
The following NEW packages will be installed:
  libftdi-dev libftdi1 libusb-dev
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 225 kB of archives.
After this operation, 2,256 kB of additional disk space will be used.
Get:1 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf libftdi1 armhf 0.20-4 [17.0 kB]
Get:2 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf libusb-dev armhf 2:0.1.12-32 [35.7 kB]
Get:3 http://mirror.nbtelecom.com.br/raspberryPI/raspbian buster/main armhf libftdi-dev armhf 0.20-4 [172 kB]
Fetched 225 kB in 11s (20.2 kB/s)    
Selecting previously unselected package libftdi1:armhf.
(Reading database ... 41425 files and directories currently installed.)
Preparing to unpack .../libftdi1_0.20-4_armhf.deb ...
Unpacking libftdi1:armhf (0.20-4) ...
Selecting previously unselected package libusb-dev.
Preparing to unpack .../libusb-dev_2%3a0.1.12-32_armhf.deb ...
Unpacking libusb-dev (2:0.1.12-32) ...
Selecting previously unselected package libftdi-dev.
Preparing to unpack .../libftdi-dev_0.20-4_armhf.deb ...
Unpacking libftdi-dev (0.20-4) ...
Setting up libftdi1:armhf (0.20-4) ...
Setting up libusb-dev (2:0.1.12-32) ...
Setting up libftdi-dev (0.20-4) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
Cloning into 'libmpsse'...
remote: Enumerating objects: 96, done.
remote: Total 96 (delta 0), reused 0 (delta 0), pack-reused 96
Unpacking objects: 100% (96/96), done.
/home/pi/rak_common_for_gateway/lora/rak2247_usb/libmpsse/src /home/pi/rak_common_for_gateway/lora/rak2247_usb
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for size_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking libftdi1/ftdi.h usability... no
checking libftdi1/ftdi.h presence... no
checking for libftdi1/ftdi.h... no
checking ftdi.h usability... yes
checking ftdi.h presence... yes
checking for ftdi.h... yes
checking for ftdi_init in -lftdi... yes
configure: creating ./config.status
config.status: creating Makefile
gcc -Wall -fPIC -fno-strict-aliasing -g -O2 -lftdi  -DLIBFTDI1=0 -c support.c
gcc -Wall -fPIC -fno-strict-aliasing -g -O2 -lftdi  -DLIBFTDI1=0 -c mpsse.c
gcc -Wall -fPIC -fno-strict-aliasing -g -O2 -lftdi  -c fast.c
gcc -Wall -fPIC -fno-strict-aliasing -g -O2 -shared -Wl,-soname,libmpsse.so mpsse.o fast.o support.o \
        -o libmpsse.so -lftdi 
ar rcs libmpsse.a mpsse.o fast.o support.o
install -D -m644 libmpsse.so //usr/local/lib/libmpsse.so
install -D -m644 libmpsse.a  //usr/local/lib/libmpsse.a
install -D -m644 mpsse.h     //usr/local/include/mpsse.h
/home/pi/rak_common_for_gateway/lora/rak2247_usb
/home/pi/rak_common_for_gateway/lora/rak2247_usb /home/pi/rak_common_for_gateway/lora/rak2247_usb
/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway /home/pi/rak_common_for_gateway/lora/rak2247_usb /home/pi/rak_common_for_gateway/lora/rak2247_usb
make all -e -C libloragw
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/libloragw'
*** Checking libloragw library configuration ***
#File initialization
# Release version
Release version   : 5.0.1
SPI interface     : FTDI SPI-over-USB bridge using libmpsse/libftdi/libusb
# end of file
*** Configuration seems ok ***
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_hal.c -o obj/loragw_hal.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_gps.c -o obj/loragw_gps.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_reg.c -o obj/loragw_reg.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_spi.ftdi.c -o obj/loragw_spi.o
src/loragw_spi.ftdi.c: In function ‘lgw_spi_w’:
src/loragw_spi.ftdi.c:112:40: warning: unused parameter ‘spi_mux_mode’ [-Wunused-parameter]
 int lgw_spi_w(void *spi_target,uint8_t spi_mux_mode, uint8_t spi_mux_target, uint8_t address, uint8_t data) {
                                ~~~~~~~~^~~~~~~~~~~~
src/loragw_spi.ftdi.c:112:62: warning: unused parameter ‘spi_mux_target’ [-Wunused-parameter]
 int lgw_spi_w(void *spi_target,uint8_t spi_mux_mode, uint8_t spi_mux_target, uint8_t address, uint8_t data) {
                                                      ~~~~~~~~^~~~~~~~~~~~~~
src/loragw_spi.ftdi.c: In function ‘lgw_spi_r’:
src/loragw_spi.ftdi.c:146:41: warning: unused parameter ‘spi_mux_mode’ [-Wunused-parameter]
 int lgw_spi_r(void *spi_target, uint8_t spi_mux_mode, uint8_t spi_mux_target,uint8_t address, uint8_t *data) {
                                 ~~~~~~~~^~~~~~~~~~~~
src/loragw_spi.ftdi.c:146:63: warning: unused parameter ‘spi_mux_target’ [-Wunused-parameter]
 int lgw_spi_r(void *spi_target, uint8_t spi_mux_mode, uint8_t spi_mux_target,uint8_t address, uint8_t *data) {
                                                       ~~~~~~~~^~~~~~~~~~~~~~
src/loragw_spi.ftdi.c: In function ‘lgw_spi_wb’:
src/loragw_spi.ftdi.c:188:42: warning: unused parameter ‘spi_mux_mode’ [-Wunused-parameter]
 int lgw_spi_wb(void *spi_target, uint8_t spi_mux_mode, uint8_t spi_mux_target,uint8_t address, uint8_t *data, uint16_t size) {
                                  ~~~~~~~~^~~~~~~~~~~~
src/loragw_spi.ftdi.c:188:64: warning: unused parameter ‘spi_mux_target’ [-Wunused-parameter]
 int lgw_spi_wb(void *spi_target, uint8_t spi_mux_mode, uint8_t spi_mux_target,uint8_t address, uint8_t *data, uint16_t size) {
                                                        ~~~~~~~~^~~~~~~~~~~~~~
src/loragw_spi.ftdi.c: In function ‘lgw_spi_rb’:
src/loragw_spi.ftdi.c:255:42: warning: unused parameter ‘spi_mux_mode’ [-Wunused-parameter]
 int lgw_spi_rb(void *spi_target, uint8_t spi_mux_mode, uint8_t spi_mux_target,uint8_t address, uint8_t *data, uint16_t size) {
                                  ~~~~~~~~^~~~~~~~~~~~
src/loragw_spi.ftdi.c:255:64: warning: unused parameter ‘spi_mux_target’ [-Wunused-parameter]
 int lgw_spi_rb(void *spi_target, uint8_t spi_mux_mode, uint8_t spi_mux_target,uint8_t address, uint8_t *data, uint16_t size) {
                                                        ~~~~~~~~^~~~~~~~~~~~~~
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_aux.c -o obj/loragw_aux.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_radio.c -o obj/loragw_radio.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_fpga.c -o obj/loragw_fpga.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/loragw_lbt.c -o obj/loragw_lbt.o
ar rcs libloragw.a obj/loragw_hal.o obj/loragw_gps.o obj/loragw_reg.o obj/loragw_spi.o obj/loragw_aux.o obj/loragw_radio.o obj/loragw_fpga.o obj/loragw_lbt.o
gcc -O2 -Wall -Wextra -std=c99 -Iinc -I. -L. tst/test_loragw_spi.c -o test_loragw_spi -lloragw -lrt -lmpsse -lm
gcc -O2 -Wall -Wextra -std=c99 -Iinc -I. -L. tst/test_loragw_reg.c -o test_loragw_reg -lloragw -lrt -lmpsse -lm
gcc -O2 -Wall -Wextra -std=c99 -Iinc -I. -L. tst/test_loragw_hal.c -o test_loragw_hal -lloragw -lrt -lmpsse -lm
gcc -O2 -Wall -Wextra -std=c99 -Iinc -I. -L. tst/test_loragw_gps.c -o test_loragw_gps -lloragw -lrt -lmpsse -lm
gcc -O2 -Wall -Wextra -std=c99 -Iinc -I. -L. tst/test_loragw_cal.c -o test_loragw_cal -lloragw -lrt -lmpsse -lm
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/libloragw'
make all -e -C util_pkt_logger
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_pkt_logger'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../libloragw/inc src/util_pkt_logger.c -o obj/util_pkt_logger.o
src/util_pkt_logger.c: In function ‘main’:
src/util_pkt_logger.c:489:58: warning: ‘%02i’ directive writing between 2 and 11 bytes into a region of size between 0 and 16 [-Wformat-overflow=]
             sprintf(fetch_timestamp,"%04i-%02i-%02i %02i:%02i:%02i.%03liZ",(x->tm_year)+1900,(x->tm_mon)+1,x->tm_mday,x->tm_hour,x->tm_min,x->tm_sec,(fetch_time.tv_nsec)/1000000); /* ISO 8601 format */
                                                          ^~~~
src/util_pkt_logger.c:489:37: note: directive argument in the range [-2147, 2147]
             sprintf(fetch_timestamp,"%04i-%02i-%02i %02i:%02i:%02i.%03liZ",(x->tm_year)+1900,(x->tm_mon)+1,x->tm_mday,x->tm_hour,x->tm_min,x->tm_sec,(fetch_time.tv_nsec)/1000000); /* ISO 8601 format */
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/util_pkt_logger.c:489:13: note: ‘sprintf’ output between 25 and 79 bytes into a destination of size 30
             sprintf(fetch_timestamp,"%04i-%02i-%02i %02i:%02i:%02i.%03liZ",(x->tm_year)+1900,(x->tm_mon)+1,x->tm_mday,x->tm_hour,x->tm_min,x->tm_sec,(fetch_time.tv_nsec)/1000000); /* ISO 8601 format */
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/parson.c -o obj/parson.o
gcc -L../libloragw obj/util_pkt_logger.o obj/parson.o -o util_pkt_logger -lloragw -lrt -lm -lmpsse
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_pkt_logger'
make all -e -C util_spi_stress
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_spi_stress'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../libloragw/inc src/util_spi_stress.c -o obj/util_spi_stress.o
gcc -L../libloragw obj/util_spi_stress.o -o util_spi_stress -lloragw -lrt -lm -lmpsse
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_spi_stress'
make all -e -C util_tx_test
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_tx_test'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../libloragw/inc src/util_tx_test.c -o obj/util_tx_test.o
gcc -L../libloragw obj/util_tx_test.o -o util_tx_test -lloragw -lrt -lm -lmpsse
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_tx_test'
make all -e -C util_lbt_test
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_lbt_test'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../libloragw/inc src/util_lbt_test.c -o obj/util_lbt_test.o
gcc -L../libloragw obj/util_lbt_test.o -o util_lbt_test -lloragw -lrt -lm -lmpsse
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_lbt_test'
make all -e -C util_tx_continuous
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_tx_continuous'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../libloragw/inc src/util_tx_continuous.c -o obj/util_tx_continuous.o
gcc -L../libloragw obj/util_tx_continuous.o -o util_tx_continuous -lloragw -lrt -lm -lmpsse
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_tx_continuous'
make all -e -C util_spectral_scan
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_spectral_scan'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -I inc -I../libloragw/inc src/util_spectral_scan.c -o obj/util_spectral_scan.o
gcc -L../libloragw obj/util_spectral_scan.o -lloragw -lrt -lmpsse -o util_spectral_scan
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/lora_gateway/util_spectral_scan'
/home/pi/rak_common_for_gateway/lora/rak2247_usb /home/pi/rak_common_for_gateway/lora/rak2247_usb
/home/pi/rak_common_for_gateway/lora/rak2247_usb/packet_forwarder /home/pi/rak_common_for_gateway/lora/rak2247_usb /home/pi/rak_common_for_gateway/lora/rak2247_usb
make all -e -C lora_pkt_fwd
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/packet_forwarder/lora_pkt_fwd'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -D VERSION_STRING="\"`cat ../VERSION`\"" -I../../lora_gateway/libloragw/inc src/lora_pkt_fwd.c -o obj/lora_pkt_fwd.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../../lora_gateway/libloragw/inc src/parson.c -o obj/parson.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../../lora_gateway/libloragw/inc src/base64.c -o obj/base64.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../../lora_gateway/libloragw/inc src/jitqueue.c -o obj/jitqueue.o
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. -I../../lora_gateway/libloragw/inc src/timersync.c -o obj/timersync.o
gcc -L../../lora_gateway/libloragw obj/lora_pkt_fwd.o obj/parson.o obj/base64.o obj/jitqueue.o obj/timersync.o -o lora_pkt_fwd -lloragw -lrt -lpthread -lmpsse -lm
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/packet_forwarder/lora_pkt_fwd'
make all -e -C util_ack
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/packet_forwarder/util_ack'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/util_ack.c -o obj/util_ack.o
gcc obj/util_ack.o -o util_ack
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/packet_forwarder/util_ack'
make all -e -C util_sink
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/packet_forwarder/util_sink'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/util_sink.c -o obj/util_sink.o
gcc obj/util_sink.o -o util_sink
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/packet_forwarder/util_sink'
make all -e -C util_tx_test
make[1]: Entering directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/packet_forwarder/util_tx_test'
mkdir -p obj
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/util_tx_test.c -o obj/util_tx_test.o
src/util_tx_test.c: In function ‘main’:
src/util_tx_test.c:173:17: warning: ‘strncpy’ specified bound 8 equals destination size [-Wstringop-truncation]
                 strncpy(serv_port, optarg, sizeof serv_port);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -c -O2 -Wall -Wextra -std=c99 -Iinc -I. src/base64.c -o obj/base64.o
gcc obj/util_tx_test.o obj/base64.o -o util_tx_test
make[1]: Leaving directory '/home/pi/rak_common_for_gateway/lora/rak2247_usb/packet_forwarder/util_tx_test'
/home/pi/rak_common_for_gateway/lora/rak2247_usb /home/pi/rak_common_for_gateway/lora/rak2247_usb
/home/pi/rak_common_for_gateway/lora
Created symlink /etc/systemd/system/multi-user.target.wants/ttn-gateway.service → /lib/systemd/system/ttn-gateway.service.
/home/pi/rak_common_for_gateway
/home/pi/rak_common_for_gateway/sysconf /home/pi/rak_common_for_gateway
Updating hostname to 'rak-gateway'...

Copy sys_config file success!
/home/pi/rak_common_for_gateway
*********************************************************
*  The RAKwireless gateway is successfully installed!   *
*********************************************************

About this installation log, i think the relevant points are:

[...]
Device "wlan0" does not exist.
Install ap success!
[...]
WARNING: ChirpStack is not support for this rpi model.
[...]

Disclaimer: Sorry for the long post, i tried to give as much info as possible.

LoRa concentrator cards (of all brands) are extremely power hungry once configured and actually running, so my first guess would be that your power supply is browning out from the added load.

1 Like

Jes… I fell so stupid for not checking this before trying tons of other stuffs… thanks @cstratton for the advice, I changed to a better Power Supply and it is working.

service ttn-gateway status
● ttn-gateway.service - The Things Network Gateway
   Loaded: loaded (/lib/systemd/system/ttn-gateway.service; disabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-10-09 16:59:17 BST; 12min ago
 Main PID: 838 (start.sh)
    Tasks: 6 (limit: 2065)
   CGroup: /system.slice/ttn-gateway.service
           ├─838 /bin/bash /opt/ttn-gateway/packet_forwarder/lora_pkt_fwd/start.sh
           └─884 ./lora_pkt_fwd

Oct 09 17:10:47 raspberrypi ttn-gateway[838]: src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
Oct 09 17:10:47 raspberrypi ttn-gateway[838]: ### [GPS] ###
Oct 09 17:10:47 raspberrypi ttn-gateway[838]: # GPS sync is disabled
Oct 09 17:10:47 raspberrypi ttn-gateway[838]: ##### END #####
Oct 09 17:10:47 raspberrypi ttn-gateway[838]: JSON up: {"stat":{"time":"2020-10-09 16:10:24 GMT","rxnb":0,"rxok":0,"rxfw":0,"ackr":0.0,"dwnb":0,"txnb":0}}
Oct 09 17:10:47 raspberrypi ttn-gateway[838]: INFO: Disabling GPS mode for concentrator's counter...
Oct 09 17:10:47 raspberrypi ttn-gateway[838]: INFO: host/sx1301 time offset=(1602259161s:989735µs) - drift=193µs
Oct 09 17:10:47 raspberrypi ttn-gateway[838]: INFO: Enabling GPS mode for concentrator's counter.
Oct 09 17:10:47 raspberrypi ttn-gateway[838]: INFO: [down] PULL_ACK received in 374 ms
Oct 09 17:10:47 raspberrypi ttn-gateway[838]: INFO: [down] PULL_ACK received in 370 ms

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.