Q2687G R743 (OS 6.32) died for many trash data comming from


#1

Q2687G R743 (OS 6.32) died for many trash data comming from UART
Q2687G with R743, then download any OAT application built by GCC (M2M 1.1.2)
then, run the application, the application set OS to V24 AT command mode (not data mode)
now send 1KB or more trash text to AT command port by hardware UART (not software)
then the module died: the UART cannot receive any AT command or data

for example, connect the module to PC, download a HELLO WORLD application to the module, then start the application by AT+WOPEN=1, after that use a COM port tool (AccessPort , etc) to send 1KB text data (eg, “AAA…AA” 1000 bytes) each one second, then wait some minutes (2~3 mins), then stop sending data, now the module can not accept any AT command! (send AT, but the module has no response)

this problem found in Q2687G (R743), while Q2687H and Q26Ex have no problem
and change firmware bad to R70, everything goes fine, what happend? :imp:


#2

I understand form your post that you could not send AT commands to the modem. This situation appears when you download an application that is sending data through UART in short time. For example your Hello World application is sending data every 1s, so you don’t have the time to write an AT command.
In your application you have to do a backup to switch to AT mode and if you don’t do this the only way is to do a firmware change.


#3

but the HELLO WORLD application just do nothing
it’s not the HELLO_WORLD.c in the SDK
just a sample application, such as:

void adl_main(adl_InitType_e adlInitType)
{
wip_netInitOpts( WIP_NET_OPT_DEBUG_PORT, WIP_NET_DEBUG_PORT_UART1, WIP_NET_OPT_END);
wip_debug(“Hello world\n”);
}

then send many ASCII data to UART1, soon the module stop response
this situation appears in Q2687G only with new R74x firmware :confused:


#4

So don’t do that, then!

UART1 is specifically an AT Command port by default - so, if you flood it with invalid data, you should not be surprised when Bad Things Happen!

No, that’s not true - I’ve seen this in earlier versions.

eg, see: https://forum.sierrawireless.com/t/dota-is-sucessful-but-system-restarts-twice/4206/8

You need to either switch the UART to FCM Data mode, or use the Raw access - or find some other way to stop the invalid data!


#5

thx for your advise, but why Q2687H, Q26Ex, Q2406B, Q24PL have no this issue :question:
i test hundreds of them, only Q2687G has this problem, that make me so confuse


#6

That is typical of “undefined behaviour”.


#7

The internal OpenAT AT command parser should just ignore invalid data. There can be thousands of different scenarios where some external device by some reason sends invalid data, this should not put the modem in such a locked state!

We have a problem that’s not caused by the same problem, but the result is the same: One cannot communicate with the modem anymore using standard AT commands.

The modem should be able to handle any arbitrary data sent to it without crashing or locking down.


#8

there are should be some bugs in the firmware

do a test for:
add a timer by some interval to switch from AT to DATA,then switch back to AT
when UART port hang, and timer trigger, the AT commands will be continue to work right :imp:

another test for:
just download a application, then AT+WOPEN=0, do not strat the application at all
now do the test as the topic said: send large trash data to UART port
the module still hang up :smiling_imp: