ChirpStack chose to report data on port 0.

11
Viewed 10

ChirpStack chose to report data on port 0, which resulted in my data reporting failing. However, in my code, I specified that data should be reported on port 2. What caused this issue?

1 Answers

ChirpStack does have a validation on downlink enqueue:

        if self.f_port == 0 || self.f_port > 255 {
            return Err(Error::Validation(
                "FPort must be between 1 - 255".to_string(),
            ));
        }

Most likely the received downlink with FPort = 0 is a mac-command only downlink. This behaviour is specified in the LoRaWAN specs.