Compatibilty of loraserver.io with Kerlink new firmware

Hi Everyone!

Kerlink gateway has released a new firmware version v 4.XX.
In this new version the SPF2 is replaced by a new module called CPF (Common Packet Forwarder). Is this compatible with loraserver.io? Using lora-gateway-bridge install inside the gateway.

Thank you!

Pietro Zuchinali

It should be as the lorafwd daemon uses the same API as the Semtech UDP packet-forwarder.

However, it seems there is a bug and downlinks are dropped. When using the same brd value for downlink as given as part of the uplink, lorad returns an error that the rf chain can’t be used for transmitting. I have notified Kerlink and hopefully we can make this work soon :slight_smile:

2 Likes

Is there a workaround for this meanwhile?

I have notified Kerlink again. Hopefully I get a response soon :slight_smile:

2 Likes

Also impacted by the error :frowning:

I have notified Kerlink again, I’m still waiting for their response. This is what I have sent them (May 23). If you are in contact with Kerlink, feel free to copy & paste this in your e-mail or link to this topic. The more people report this issue, the better.


To be compatible with the “old” iBTS packet-forwarder, LoRa Gateway Bridge uses the same “brd” and “ant” value on a downlink response. This worked fine and did not cause any issues with the “original” Semtech packet-forwarder (8 channel gateways).

However, with the new lorafwd, this seems to cause an issue (tested on an iFemtoCell gateway), see below my log:

lorafwd:

lorafwd[1114]: <6> Received uplink message:
lorafwd[1114]: <6> | lora uplink (34C0000F), payload 23 B, channel 868.5 MHz, crc ok, bw 125 kHz, sf 11, cr 4/5
lorafwd[1114]: <6> | Join Request, JoinEUI 0101010101010101, DevEUI 0101010101010101, DevNonce 11002
lorafwd[1114]: <6> |  - radio (00000107)
lorafwd[1114]: <6> |   - demodulator counter 785771084, UTC time 2019-05-23T11:38:40.374964Z, rssi -26.4 dB, snr 5.25< 7.25 <10.5 dB
lorafwd[1114]: <7>  gwmp.send:  02 88 D0 00 72 76 FF 00 39 04 00 53 7B 22 72 78 70 6B 22 3A 5B 7B 22 61 65 73 6B 22 3A 30 2C 22  |....rv..9..S{"rxpk":[{"aesk":0,"|
lorafwd[1114]: <7>  gwmp.send:  62 72 64 22 3A 32 36 33 2C 22 63 6F 64 72 22 3A 22 34 2F 35 22 2C 22 64 61 74 61 22 3A 22 41 41  |brd":263,"codr":"4/5","data":"AA|
lorafwd[1114]: <7>  gwmp.send:  45 42 41 51 45 42 41 51 45 42 41 51 45 42 41 51 45 42 41 51 48 36 4B 73 49 42 37 42 34 3D 22 2C  |EBAQEBAQEBAQEBAQEBAQH6KsIB7B4=",|
lorafwd[1114]: <7>  gwmp.send:  22 64 61 74 72 22 3A 22 53 46 31 31 42 57 31 32 35 22 2C 22 66 72 65 71 22 3A 38 36 38 2E 35 2C  |"datr":"SF11BW125","freq":868.5,|
lorafwd[1114]: <7>  gwmp.send:  22 6A 76 65 72 22 3A 32 2C 22 6D 6F 64 75 22 3A 22 4C 4F 52 41 22 2C 22 72 73 69 67 22 3A 5B 7B  |"jver":2,"modu":"LORA","rsig":[{|
lorafwd[1114]: <7>  gwmp.send:  22 61 6E 74 22 3A 30 2C 22 63 68 61 6E 22 3A 37 2C 22 6C 73 6E 72 22 3A 37 2E 32 2C 22 72 73 73  |"ant":0,"chan":7,"lsnr":7.2,"rss|
lorafwd[1114]: <7>  gwmp.send:  69 63 22 3A 2D 32 36 7D 5D 2C 22 73 69 7A 65 22 3A 32 33 2C 22 73 74 61 74 22 3A 31 2C 22 74 69  |ic":-26}],"size":23,"stat":1,"ti|
lorafwd[1114]: <7>  gwmp.send:  6D 65 22 3A 22 32 30 31 39 2D 30 35 2D 32 33 54 31 31 3A 33 38 3A 34 30 2E 33 37 34 39 36 34 5A  |me":"2019-05-23T11:38:40.374964Z|
lorafwd[1114]: <7>  gwmp.send:  22 2C 22 74 6D 73 74 22 3A 37 38 35 37 37 31 30 38 34 7D 5D 7D                                   |","tmst":785771084}]}|
lorafwd[1114]: <6> Uplink message (88D0) sent
lorafwd[1114]: <7>  gwmp.recv:  02 88 D0 01                                                                                      |....|
lorafwd[1114]: <6> Uplink message (88D0) acknowledged in 2.66689 ms
lorafwd[1114]: <7>  gwmp.recv:  02 BE 43 03 7B 22 74 78 70 6B 22 3A 7B 22 69 6D 6D 65 22 3A 66 61 6C 73 65 2C 22 72 66 63 68 22  |..C.{"txpk":{"imme":false,"rfch"|
lorafwd[1114]: <7>  gwmp.recv:  3A 30 2C 22 70 6F 77 65 22 3A 31 34 2C 22 61 6E 74 22 3A 30 2C 22 62 72 64 22 3A 32 36 33 2C 22  |:0,"powe":14,"ant":0,"brd":263,"|
lorafwd[1114]: <7>  gwmp.recv:  74 6D 73 74 22 3A 37 39 30 37 37 31 30 38 34 2C 22 66 72 65 71 22 3A 38 36 38 2E 35 2C 22 6D 6F  |tmst":790771084,"freq":868.5,"mo|
lorafwd[1114]: <7>  gwmp.recv:  64 75 22 3A 22 4C 4F 52 41 22 2C 22 64 61 74 72 22 3A 22 53 46 31 31 42 57 31 32 35 22 2C 22 63  |du":"LORA","datr":"SF11BW125","c|
lorafwd[1114]: <7>  gwmp.recv:  6F 64 72 22 3A 22 34 2F 35 22 2C 22 69 70 6F 6C 22 3A 74 72 75 65 2C 22 73 69 7A 65 22 3A 31 37  |odr":"4/5","ipol":true,"size":17|
lorafwd[1114]: <7>  gwmp.recv:  2C 22 64 61 74 61 22 3A 22 49 46 79 76 45 53 44 31 74 72 2F 79 71 69 53 79 32 69 2B 69 54 66 73  |,"data":"IFyvESD1tr/yqiSy2i+iTfs|
lorafwd[1114]: <7>  gwmp.recv:  3D 22 7D 7D                                                                                      |="}}|
lorafwd[1114]: <6> Downlink message (BE43) received
lorafwd[1114]: <6> Received downlink message:
lorafwd[1114]: <6> | lora downlink (0000BE43), payload 17 B, required 1, preamble 8 B, header enabled, crc enabled, polarity inverted
lorafwd[1114]: <6> | Join Accept
lorafwd[1114]: <6> |  - radio (00000107), channel 868.5 MHz, bw 125 kHz, sf 11, cr 4/5, power 14 dB
lorafwd[1114]: <6> |   - transmission (00000000), priority 1, on counter 790771084
lorafwd[1114]: <7>   api.send:  0A 47 08 C3 FC 02 12 11 20 5C AF 11 20 F5 B6 BF F2 AA 24 B2 DA 2F A2 4D FB 18 01 20 08 28 01 30  |.G...... \.. .....$../.M... .(.0|
lorafwd[1114]: <7>   api.send:  00 38 01 42 24 08 87 02 10 A0 84 91 9E 03 18 00 20 04 2D 00 00 60 41 30 00 3A 0E 08 00 10 01 18  |.8.B$........... .-..`A0.:......|
lorafwd[1114]: <7>   api.send:  8C EB 88 F9 02 30 00 38 00                                                                       |.....0.8.|
lorafwd[1114]: <7>   api.recv:  1A 0A 12 08 08 C3 FC 02 10 00 18 01                                                              |............|
lorafwd[1114]: <6> Received uplink message: transmission event (0000BE43 / 00000000), status "Transmission failed"
lorafwd[1114]: <7>  gwmp.send:  02 BE 43 05 72 76 FF 00 39 04 00 53 7B 22 74 78 70 6B 5F 61 63 6B 22 3A 7B 22 65 72 72 6F 72 22  |..C.rv..9..S{"txpk_ack":{"error"|
lorafwd[1114]: <7>  gwmp.send:  3A 22 55 4E 4B 4E 4F 57 4E 22 7D 7D                                                              |:"UNKNOWN"}}|
lorafwd[1114]: <6> Downlink message (BE43) acknowledged

lorad:

lorad[1176]: <3> SELECTED RF_CHAIN IS DISABLED FOR TX ON SELECTED BOARD
lorad[1176]: <3> Failed to send message

With the “brd” in the downlink, lorad returns an error. When removing “brd”, all works fine. Is this expected behavior?


Hello,

Thanks for this details. With a rebuild of lora-gateway-bridge and remove the Brd in pull_resp.go, the JOIN ACCEPT is received by the device (no more SELECT RF_CHAIN… errors) . Unfortunatly, the downlinks seems non-functionnal in this case.

With the Brd = 1, I can have downlink working.

strange…

That is the iBTS or iFemtoCell?

I use an iFemtocell gateway.

In the last communication with Kerlink, they have asked me to create a support ticket, which I just did. Hopefully this can be fixed soon.

Just received this form Kerlink:

After some tests we understood the issue. We will make a correction in order to fix this.

Just got an update: Kerlink will be issuing a fix by the end of August.

1 Like

Hi, Can you help me if we can connect CPF with TTN lns.

What will be settings?

Thanks.

Hi !
you can post this question on :

  1. a new thread for a new question
  2. On the TTN lns forum !

regards,

Cool,

Thanks for this informations. Wait & see !

but for you, @brocaar what’s the best way to connect the CPF to the lora-gateway-bridge ?

Corrently I use the gwmp protocol and port 1700 to do the interconnection between the packetforwarder and the loraserver. Did you know if the https://doc.sm.tc/station/tcproto.html is supported by CPF ? I haven’t see how to configure it.

With the gwmp protocol, I track lost uplinks (seen by others gateways). and I suspect a problem on this part.

regards,