Download OK, but wont install/reboot

Hi.
Using OAT 3.02, OS 6.51
wismo Q2426

My DOTA app. for customer app. has been working fine: Downloads, reboots and installs new FW automaticaly but recently I 've found some modules on wich the FW gets downloaded and calling adl_adInstall( ) makes the module go weird:
The module does not reboot automatixally, every AT command responds error except for AT+WDWL? wich responds:
+WDWL: QRY
and when I powercycle I can see it didn’t installed the new FW.

I check the return codes of adl_adWrite ( ) and is accepting the FTP data. My code is the exact same code that has been working on other modules…

any idea ?

Same problem, I successfully downloading application using GSM channel, calling adl_adInstall( ) but module doesn’t rebooting (also it doesn,t respond on any At commands, only hardware reset helps).
I,ve found that adl_gpsSubscribe in initialization code of application caused this error this DOTA adl_adInstall( ) function. But using adl_gpsUnsubscribe function befor download process doesn’t help.
Please give some information about features of DOTA API.

The following help (at least for us):

  • Perform the DOTA (TCP or FTP).
  • At the end of the DOTA, set a a flag in the flash memory indicating that
    an application has been downloaded.
  • Reset the unit with AT+CFUN=1.
  • When the unit restarts, check the flag.
  • If this flag is set, then before continuing, call the function
    ad_install() and reset the flag.
  • The new application will be installed.
  • Now continue.

Hi, thanks for your answer it seems it could work for me too.

I’ll post any news on this.

This doesn’t work always in my case.

when download ok,execute
while(1)
it always restart

Yes, of course a while(1) will cause a Watchdog restart!

Hiya,

Are you sure that the modem has the same firmware version that the application was compiled against?

ciao, Dave

hi,
i faced this problem too and i solved by switching AT mode.
Before executing adl_adinstall function, you must switch to AT mode. Then the module restarts automaticly after adl_adinstall as expected.

thanks, this also solves my problems.

Also mine. Thanks.

What about the documentation.
Why doesn´t is say for the adl_adInstall function, if the module needs to be in AT mode!?

Regards
Palsson

Because it’s not true?

It certainly didn’t used to be true - maybe that’s changed in a recent release?

However, please see this thread: viewtopic.php?f=4&t=428&p=10232&hilit=credit+dota#p10233
There is a known bug that adl_adInstall will hang if there is data waiting in the Flow’s buffer. :angry:

Presumably, switching to AT mode flushes the buffer, thus allowing the install/reboot to proceed…?

Hi there awneil

About these funny “Credits”… what is that?
Maybe a silly question, but how does the adl_fcmReleaseCredits(…) function work?
Where can I read the number of credits to release?

Regards
Palsson

Yes, “funny” is the word!

It’s something to do with the wierd internal “buffering” scheme within the FCM - there is an Application Note which makes an attempt at explaining it…

I don’t think you can - so just use the “release all Credits” option!

For me it is clear, that the module needs to be in AT mode to make sure that install/reboot is performed.
I’ve tried it with no debug information active, and the reboot is not performed while in data mode.
It could be some +wind responses that fills the buffer, I’m not sure.
The release All credit function makes no difference.

Regards
Palsson

It’s not necessary, and it may not be sufficient?

I seem to recall in the other thread that “blocked” AT responses (eg, unsolicited responses while flow control is asserted) can have the same effect?

Have you looked at the other workarounds mentioned in that thread.

As noted in the other thread, I think this really is a serious bug in DOTA - at the very least, Wavecom need to give a clear and complete description of precisely what is necessary &/or sufficient to guarantee that the install/reboot is performed correctly. :angry:

To clarify:

That is, it can work without being in AT mode;

That is, I think there may be situations where it still won’t work even though it is in AT mode.