MachineQ Developer Documentation logo DOCS

Frequently Asked Questions

This page answers common questions about using the FUOTA API, including device keys, LoRaWAN classes, multicast session parameters, and scheduled campaign behavior.

Can I specify my own GenAppKey for my device instead of MachineQ keygen?

Yes. The create device group API accepts a dictionary where the key is the DevEUI and the value is the GenAppKey. See Multicast Key Management for the centralized way to manage keys.

Can I change the Data Rate or Frequency of the multicast session?

Yes. Many parameters of the session can be changed for the campaign, including Data Rate and Frequency. Supply mcast_dr and mcast_freq (in MHz) in the request body when creating a campaign. The frequency channel must be a valid US915 downlink frequency. See the create campaign API schema for the complete list of available parameters.

What are the reasons my scheduled campaign could fail to start?

A scheduled campaign can fail because a device from the campaign's device group is already in an active campaign. The campaign will be rescheduled to try to start again in five minutes.

What is the lora_class parameter of a Device Group?

The lora_class parameter specifies the LoRaWAN class (A or C) for all devices within the device group.

If the device group has a mix of LoRaWAN classes, we recommend creating separate device groups for each class. If you still want to update both classes in one campaign, choose the Class C option. If you are not sure what class your device is, contact the device manufacturer.

What is the gen_app_key?

Per Remote Multicast Session Setup, Section 4.3, the GenAppKey is a root key provisioned in the end device at any time before deployment in the field. In other words, it is a key set by the device manufacturer and used to secure the multicast session. GenAppKey applies only to LoRaWAN 1.0.X devices; 1.1+ devices use AppKey to derive multicast session keys. The GenAppKey is supplied by the device manufacturer.

What should the device do during a multicast session?

When the device first receives the McastClassCSessionReq message, it should continue to operate normally (assuming the setup is successful). When the multicast session starts, the device may reduce the uplink frequency to reduce the time it is unable to receive multicast downlinks. We recommend that devices keep sending regular uplinks, for example every hour.

What's Next?