Concentrator RAK2287 USB is not getting connected to TTN

Hello everyone,
I have been trying to connect my new RAK2287 USB variant to the Things Network Server but not successful.

Setup: I have installed the RAK wireless gateway for RAK2287 (USB) in my laptop from this GitHub repo. The concentrator is mounted on USB board and is plugged to the laptop. The laptop (linux 20.04 x86) detects the board but when i start the things network service after running the packet forwarder, i get the following error:

*** Packet Forwarder ***
Version: 2.0.1
*** SX1302 HAL library version info ***
Version: 2.0.1;


INFO: Little endian host
INFO: found configuration file global_conf.json, parsing it
INFO: global_conf.json does contain a JSON object named SX130x_conf, parsing SX1302 parameters
INFO: com_type USB, com_path /dev/ttyACM3, lorawan_public 1, clksrc 0, full_duplex 0
INFO: antenna_gain 0 dBi
INFO: Configuring legacy timestamp
INFO: no configuration for SX1261
INFO: Configuring Tx Gain LUT for rf_chain 0 with 16 indexes for sx1250
INFO: radio 0 enabled (type SX1250), center frequency 867500000, RSSI offset -215.399994, tx enabled 1, single input mode 0
INFO: radio 1 enabled (type SX1250), center frequency 868500000, RSSI offset -215.399994, tx enabled 0, single input mode 0
INFO: Lora multi-SF channel 0> radio 1, IF -400000 Hz, 125 kHz bw, SF 5 to 12
INFO: Lora multi-SF channel 1> radio 1, IF -200000 Hz, 125 kHz bw, SF 5 to 12
INFO: Lora multi-SF channel 2> radio 1, IF 0 Hz, 125 kHz bw, SF 5 to 12
INFO: Lora multi-SF channel 3> radio 0, IF -400000 Hz, 125 kHz bw, SF 5 to 12
INFO: Lora multi-SF channel 4> radio 0, IF -200000 Hz, 125 kHz bw, SF 5 to 12
INFO: Lora multi-SF channel 5> radio 0, IF 0 Hz, 125 kHz bw, SF 5 to 12
INFO: Lora multi-SF channel 6> radio 0, IF 200000 Hz, 125 kHz bw, SF 5 to 12
INFO: Lora multi-SF channel 7> radio 0, IF 400000 Hz, 125 kHz bw, SF 5 to 12
INFO: Lora std channel> radio 1, IF -200000 Hz, 250000 Hz bw, SF 7, Explicit header
INFO: FSK channel> radio 1, IF 300000 Hz, 125000 Hz bw, 50000 bps datarate
INFO: global_conf.json does contain a JSON object named gateway_conf, parsing gateway parameters
INFO: gateway MAC address is configured to AA555A0000000000
INFO: server hostname or IP address is configured to “eu1.cloud.thethings.network”
INFO: upstream port is configured to “1700”
INFO: downstream port is configured to “1700”
INFO: downstream keep-alive interval is configured to 10 seconds
INFO: statistics display interval is configured to 30 seconds
INFO: upstream PUSH_DATA time-out is configured to 100 ms
INFO: packets received with a valid CRC will be forwarded
INFO: packets received with a CRC error will NOT be forwarded
INFO: packets received with no CRC will NOT be forwarded
INFO: GPS serial port path is configured to “/dev/ttyAMA0”
INFO: Reference latitude is configured to 0.000000 deg
INFO: Reference longitude is configured to 0.000000 deg
INFO: Reference altitude is configured to 0 meters
INFO: Beaconing period is configured to 0 seconds
INFO: Beaconing signal will be emitted at 869525000 Hz
INFO: Beaconing channel number is set to 1
INFO: Beaconing channel frequency step is set to 0Hz
INFO: Beaconing datarate is set to SF9
INFO: Beaconing modulation bandwidth is set to 125000Hz
INFO: Beaconing TX power is set to 27dBm
INFO: global_conf.json does contain a JSON object named debug_conf, parsing debug parameters
INFO: got 2 debug reference payload
INFO: reference payload ID 0 is 0xCAFE1234
INFO: reference payload ID 1 is 0xCAFE2345
INFO: setting debug log file name to loragw_hal.log
INFO: found configuration file local_conf.json, parsing it
INFO: local_conf.json does contain a JSON object named gateway_conf, parsing gateway parameters
INFO: gateway MAC address is configured to 000000000000000A
INFO: packets received with a valid CRC will be forwarded
INFO: packets received with a CRC error will NOT be forwarded
INFO: packets received with no CRC will NOT be forwarded
This is uart for GPS.
WARNING: [main] impossible to open /dev/ttyAMA0 for GPS sync (check permissions)
Opening USB communication interface
INFO: Configuring TTY
INFO: Flushing TTY
INFO: Setting TTY in blocking mode
INFO: Connect to MCU
INFO: Concentrator MCU version is V00.02.06
INFO: MCU status: sys_time:9559308 temperature:-0.0oC
Note: chip version is 0x10 (v1.0)
INFO: using legacy timestamp
INFO: LoRa Service modem: configuring preamble size to 8 symbols
ARB: dual demodulation disabled for all SF
INFO: [main] concentrator started, packet can now be received
INFO: concentrator EUI: 0x0016c001ff1ba1a4
INFO: [down] PULL_ACK received in 18 ms
INFO: [down] PULL_ACK received in 18 ms
ERROR: decode_ack_spi_bulk: wrong type for SPI request 1 (0x00)
ERROR: invalid REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x0C)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x36)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x56)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x30)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x36)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: not enough memory to store all data (17)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x10)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0xD7)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x11)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0xCA)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x01)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x1E)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0xED)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x0C)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x6F)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: not enough memory to store all data (17)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x10)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x97)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x0B)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: not enough memory to store all data (17)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x10)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0xC3)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x11)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0xCF)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x01)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x1E)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x4B)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x06)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x01)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x11)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0xCF)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x01)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: received wrong ACK type (0x00)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value
ERROR: received wrong ACK type (0x1E)
ERROR: failed to read REQ_MULTIPLE_SPI ack
ERROR: Failed to get timestamp counter value

Corresponding ttn-gateway.service:

Is it not possible to use RAK2287 on a USB board connected to a Linux machine as a LoRa gateway? If so what might be the issue? I have read that “REQ_MULTIPLE_SPI command can be used to send multiple SPI transfer requests with only one USB request”, which is a USB-SPI bridge error. but i did not understand why am I getting this error for RAK USB version.
All helps are much appreciated.

Hello @Bulma and welcome to the forum!

First of all, what USB board are you using, as this is one reasons why the concentrator cannot start.
Secondly, can you try following this guide here. Do not worry that it is for RAK7271. RAK7271 is basically a RAK2287 with a USB board. The guide shows how to use the RAK2287 with a Linux machine.

Hello @Martin Thank you so much for your reply.

I have followed the installation guide which you mentioned before, but I am facing the same issue.

For the hardware connection of the concentrator to the Linux machine, I am using this mPCIe to USB borad.

I was successful starting the packet forwarder (after changing the server address and port numbers) , it showed the same terminal output as in the guide as you mentioned before i.e., the concentrator was started and it displayed the EUI as shown below:

After which i started the things network server by running the command:

sudo systemctl start ttn-gateway.service

This started giving me errors in the packet forwarder:

.

Meanwhile,

service ttn-gateway status

showed me:

Its auto-restarting:

after few minutes i noticed it as active

But it shows disconnected in the things network server.