Hi Andy,
Great to hear you are doing something with the library.
We've ran quite a few applications on external power supplies for days at a time without issue (printer,camera,lamp,webgame,door), so we can say that under certain circumstances this issue does not arise. The problem is in discerning exactly what is different in your case.
Having said that our demos work, I am of a high suspicion that sometimes the dongle doesn't initialise properly, as I've seen anomalies during testing. I think this has something to do with the internal state of the modem. The problem in this case is to find a replicable use case.
I didn't write the library code, and up until recently, I had no intention of fully auditing it. But I'm now considering that as a course of action, because I want to be absolutely sure that I've done everything in my power to check for bugs.
--
AFAIK, nobody has used the power-gating functionality. The reasoning for the power gating was twofold:
1. For low-power scenarios, where a shutdown...wakeup-on-work policy is followed.
2. A few people we spoke to were of the opinion that dongles were not so reliable.
I'm not sure if the latter point is actually true, but I suppose it is true that dongles are primarily designed with laptop's in mind, where perhaps the average use duration is a few hours.
I really need to setup a soak test to do some mythbusting on this one.
--
But back to your problem. Can you please answer me the following question:
1. Which dongle are you using?
It does seem strange that you'd need to plug the USB cable back in. Whilst this might have something to do with buffering in a debug library, I do wonder if power is not the culprit?
2. What external power supply are you using?
3. Have you tried more than one power supply?
BTW, we do actually have a test suite, which I've written the framework and some of the tests, (be careful if you try it, it sends and receives LOTs of SMS and data):
https://mbed.org/users/ashleymills/code/VodafoneTestSuite/
I'm not sure it's going to help in this case, but I thought I'd mention it. And whilst on the subject, the test suite actually uses debug output as a logging facility. So I think it is an interesting point that you have raised: even if your problem turns out to be something else, we should have a test (probably a separate program), that does NOT use the serial output, but logs to a website or something.
Ashley
Thanks Ashley, yes is makes sense to me. COSM looks interesting, I've only had a quick look. Can you do any post processing with COSM? Some of the data I may wish to transmit may require processing after transmission but I might be able to shift this to the mbed if there isn't the option to do this with COSM. Websockets also looks interesting, most examples focus on server and browser, in the case with an mbed would this effectively become the browser that could relay information to the server?
Thanks, Tom