Hi all,
I'm trying cc26xx-web-demo example on a CC2650STK with deferent RDC driver (of course, rdc of slip-radio was changed accordingly). Everything works like a charm with nullrdc_driver
. MQTT gets message every 30 seconds as programmed. However with contikimac_driver
, MQTT broker only get message every few minutes. I tried both IBM MQTT server and local broker with same behavior.
It seems that cc26xx node doesn't send out ACK in time and cause lots TCP_DUP_ACK
from the broker.
wireshark screenshot while using nullrdc_driver
wireshark sniffer while using contikimac_driver
My project-config.h:
#define IEEE802154_CONF_PANID 0xABCD #define RF_CORE_CONF_CHANNEL 25 #define RF_BLE_CONF_ENABLED 0 #define UIP_CONF_DS6_DEFAULT_PREFIX 0xfd00 /*---------------------------------------------------------------------------*/ /* Enable/Disable Components of this Demo */ #define CC26XX_WEB_DEMO_CONF_MQTT_CLIENT 1 #define CC26XX_WEB_DEMO_CONF_6LBR_CLIENT 1 #define CC26XX_WEB_DEMO_CONF_COAP_SERVER 0 #define CC26XX_WEB_DEMO_CONF_NET_UART 0 /* * ADC sensor functionality. To test this, an external voltage source should be * connected to DIO23 * Enable/Disable DIO23 ADC reading by setting CC26XX_WEB_DEMO_CONF_ADC_DEMO */ #define CC26XX_WEB_DEMO_CONF_ADC_DEMO 0 /*---------------------------------------------------------------------------*/ /* Enable the ROM bootloader */ #define ROM_BOOTLOADER_ENABLE 1 /*---------------------------------------------------------------------------*/ /* * Shrink the size of the uIP buffer, routing table and ND cache. * Set the TCP MSS */ #define UIP_CONF_BUFFER_SIZE 900 #define NBR_TABLE_CONF_MAX_NEIGHBORS 5 #define UIP_CONF_MAX_ROUTES 5 #define UIP_CONF_TCP_MSS 128 #define CC2650_FAST_RADIO_STARTUP 0 #ifndef NETSTACK_CONF_MAC #define NETSTACK_CONF_MAC csma_driver #endif #ifndef NETSTACK_CONF_RDC //#define NETSTACK_CONF_RDC nullrdc_driver #define NETSTACK_CONF_RDC contikimac_driver #endif