Thanks, @PJ_Glasso, for the reply.
Code for sending a message packet of 120 bytes:
sprintf(cmd, "AT+MSGHEX=\""); for(size_t i=0; i<120; i++) { sprintf(cmd + strlen(cmd), "%02x", payload[i]); } sprintf(cmd + strlen(cmd), "\"\r\n"); at_send_check_response("+MSGHEX: ", 100, cmd);
*Increasing payload size by more than 120 bytes throws an error. Meanwhile, the maximum payload size is 242 bytes.
Here are my settings,
+INFO: Input timeout
+MODE: LWOTAA
+INFO: Input timeout
+CH: 3; 0,865062500,DR0,DR5; 1,865402500,DR0,DR5; 2,865985000,DR0,DR5;
+INFO: Input timeout
+LW: VER, V103
+INFO: Input timeout
+DR: DR5
+DR: IN865 DR5 SF7 BW125K
+INFO: Input timeout
+MODE: TEST
+INFO: Input timeout
+TEST: STOP
+TEST: RFCFG F:868000000, SF7, BW125K, TXPR:8, RXPR:8, POW:14dBm, CRC:ON, IQ:OFF, NET:OFF
+INFO: Input timeout
+MODE: LWOTAA
+INFO: Input timeout
+LW: LEN, 242
+INFO: Input timeout
+DR: IN865
+DR: IN865 DR0 SF12 BW125K
+DR: IN865 DR1 SF11 BW125K
+DR: IN865 DR2 SF10 BW125K
+DR: IN865 DR3 SF9 BW125K
+DR: IN865 DR4 SF8 BW125K
+DR: IN865 DR5 SF7 BW125K
+DR: IN865 DR6 SF7 BW250K
+DR: IN865 DR7 FSK 50kbps
+DR: IN865 DR8 RFU
+DR: IN865 DR9 RFU
+DR: IN865 DR10 RFU
+DR: IN865 DR11 RFU
+DR: IN865 DR12 RFU
+DR: IN865 DR13 RFU
+DR: IN865 DR14 RFU
+DR: IN865 DR15 RFU