chirpstack / chirpstack-gateway-bridge

ChirpStack Gateway Bridge abstracts Packet Forwarder protocols into Protobuf or JSON over MQTT.
https://www.chirpstack.io
MIT License
423 stars 270 forks source link

Backward compatibility of protocol v1 #12

Closed johanstokking closed 8 years ago

johanstokking commented 8 years ago

Many gateways deployed in the field will not be updated any time soon to protocol v2. This means that there's possibly a long overlap of v1 and v2 gateways. This would mean a) that we'd need to have two endpoints for both protocols, which is a configuration setting on the gateway, while the protocol is built in the software. So, b) when using configuration files from wiki, forums, etc., often with the intention to get the frequency plan right, one should also take care of the endpoint.

Is it feasible to make version 2.x of this bridge backward compatible with the v1 protocol? The first byte of the messages indicate the version, so it seems to be a matter of deserializing the payload.

brocaar commented 8 years ago

Yes, I might consider this in a next version of the bridge. Please note that the new packet_forwarder (using protocol v2) has an important fix; the JIT scheduler. The old packet_forwarder simply overwrites an already scheduled packet when it hasn't been transmitted yet by the radio.

johanstokking commented 8 years ago

OK thanks. @htdvisser made a work-around already.

The JIT is indeed is definitely super useful, but it doesn't mean that we can update all gateways. There are many gateways in the field that are a) deployed and not easily updatable and b) use the USB interface and not the SPI, so JIT is not possible (including MultiTech Conduit).