aggarg wrote on September 24, 2019:
I am now able to get OTA via Greengrass working. There are some code changes needed:
- Use MQTT connection to Greengrass for OTA (basically similar to what you did already).
- Change MQTT Quality of Service to QoS0 from QoS1 in the OTA Agent - replace all IOT_MQTT_QOS_1 with IOT_MQTT_QOS_0 in libraries/freertos_plus/aws/ota/src/aws_iot_ota_agent.c.
After the above code changes, you need to establish the following Subscriptions for your Greengrass group (Replace greengrass_thing with your thing name):
Device to Cloud
$aws/things/greengrass_thing/jobs/$next/get
$aws/things/greengrass_thing/jobs/+/update
$aws/things/greengrass_thing/streams/+/get/cbor
Cloud to Device
$aws/things/greengrass_thing/jobs/$next/get/accepted
$aws/things/greengrass_thing/jobs/notify-next
$aws/things/greengrass_thing/streams/+/data/cbor
After the above changes, it works for me.
Thanks.