I've received a couple of questions already about the K3770 dongle, so I thought I'd start a forum thread where we can gather bugs, features, requests and so on.
As a cross-reference, the here is the Vodafone-K3770 Cookbook page
The Dongle needs power from somewhere other than the Vu pin on the mbed, as the dongle plus the mbed draw too much from a USB port.
If you're thinking of using one of the various breakout boards for mbed, fine, just be aware of the power requirement.
- Offline compilation
This came up early on. At the moment, this beta project isn't suitable for offline compilation. Once we we're happy with the features and performance, then we'll start to look at making it exportable.
The features requested so far are :
As you all find more questions, and have more queries and requests, please post them here!
Maybe not exactly a question for mbed more for Vodafone - but what are the current requirements (mA) for this USB dongle ? Is there a standby mode(s) and if so what are the different current requirements ?
Is voice support, maybe even with only one way speech path, a possibility?
Nope, thats an mbed question.. the Vodafone guys will answer all the questions about network stuff.
When hooked up to my bench supply, the dongle takes 150mA, which jumps to about 250mA for brief periods (a second or two). The main issue is that there are larger spikes (I cant back that up with numbers or durations though), and these should be (ideally) sourced from a bulk capacitor. Donatien has been using 100uF, I've been using 220uF, very close to the power pins on my USB socket breakout board, and niether of us had had issues.
Not sure about standby modes... That's one to add to the list. I would also like to investigate power gating to the dongle, and understand how that might be achieved. This is of course all optimisations, for now we just want to make sure what we have is solid.
No, voice isn't supported by the dongles, and I don't think this is an avenue we'd go down. The purpose of this is to understand deeply embedded M2M communication, so voice is quite a way away from what we're interested in.
There are plenty of other GSM modules which support data and voice (Telit GSM862-QUAD-PY, is one I;'ve played with), but that sort of thing isn't the focus of this project.
This comment from the Vodafone page :
Will this device work in the US?
The answer is probably no. It might be possible to get it working in the long term with the right SIM, but for now that's not something we're working on. The UK first, then the US, then the world!!!
Who do I buy my 3G minutes from?
Might be a moot point given the above.
For UK users, this is a project with Vodafone, so you'll need one of their SIMs. Personally I am using the Web + Text SIM. Top up £10 and get 500Mb + 300 SMS, to be used in 10 days, on top of the £10 of voice calls (pop the SIM in your phone to use that!) bargain!
Free Vodafone SIM
This is for information/convenience only, I don't want to sound like an advert!
Hi, I have a couple of 3G modems. Is it possible that this library will work with them?
Unless it is a K3770, it is not likely to work. A lot of these modems are very similar, and so in the future (when Beta is over) it might well be possible to make small modifications to the Modem driver code to make it work for other modems too.
But for now, I'd expect not.
Want to read from a USB modem then send the data via ethernet to a wireless router.
At the moment, with the libraries we have, no.
We've been discussing the possibility of multiple network interfaces though, and it appears that it should be possible in theory to implement this behaviour with LwIP. However, as we've not tried it I'd say this is an exercise for the future.
Do you know if / when Vodafone might allow use of their Global Data Service Platform (GDSP) with something
like the mbed controller / dongle
It seems they are partnering with people like Bosch and Sierra Wireless giving access to GDSP
Vodafone even seem to offer a Sierra Wireless development kit
It would be nice to think we could work on this sort of platform too.
I think the long term goal of this "long tail M2M" project is to understand more about the demand for the GDSP platform and how to roll it out. Talking the the Vodafone guys, it seems it is an easily accessible platform it you are a major OEM and want to buy millions of SIMs, but how to manage and deploy much lower volumes still needs work.
I'll point Nicholas at this thread and ask for an official answer.
we are trying this out now within Vodafone R&D on the GDSP platform. If there is enough demand for this type of product then yes we would like to open this up to the wider 'long tail' community.
I can tell you that we already have had queries from a solar panel installer and from the academic community. All of this is being fed into the business.
However in the short term - If you could ping me with details on what you wish to trial and what kind of product you envisage using it with I'll do my best to ship you a GDSP SIM to test with.
With respect to the 'developer starter kits' that are on the Global M2M portal, they are very much centred around large enterprise customers who wish to deploy 10K + units.
We believe the mbed is a better platform for long tail developers. Personally I'd also like to see products incubated in this community and become commercial products.
Hope this helps and kind regards, Nicholas.
Another one - is it possible to request the dongle switch to 2G only (ie disable 3G) to reduce power consumption?
Its *possible* to do all sorts of things through AT commands to the modem, and USSD request to the network.
Modem commands are things like get Cell ID, request 2G instead of 3G, ask what the current connection is, enable/disable roaming etc.
The USSD commands are for network and tariff operations, things like check balance, top up, request my own number and so on.
One of the objective here is to find the sort of commands and operations that developers would find useful. Yours is a good suggestion, I'll add it to the list of things to implement.
Is there a list of the available AT commands ?
The 3GPP specifications define all standard AT commands supported by the dongle:
See Release #11 at the end of the page for the most recent revision of these specs.
I have a Vodafone K3765 3G/HSPA USB modem, is there a chance that this one will work, too?
Can we get the specifications from Vodafone concerning the differences between these two models?
I'll have a look at the spec today on that particular modem and what we are allowed to disclose under NDA with our suppliers and what is proprietary to Vodafone.
The reason why I chose this modem is that it's the lowest cost GSM/GPRS/3G modem in the portfolio - which we think is what an M2M application wants. We are of the opinion that someone building M2M connectivity would not be interested in getting the highest bandwidth possible - just something solid and at the correct price point for low bandwidth telemetry applications.
I'll get back to you shortly on this modem type - however if there are big differences it would have to be the community that do this themselves as we do not have the bandwidth to test and support all the modems in the Vodafone portfolio.
Kind regards, Nicholas.
Is there likely to be support for other dongles in the near future as I am unable to locate anyone with stocks of the K3770. I was told in a VF store that it was not available as it had been replaced by a K3772 dongle. I saw a demo of the mbed and library at the IoT London meetup last week and the lack of stock of the dongles is now the major barrier to doing any work with this.
Keep up the good work.
I suspect we'll support new dongles to keep ahead of obsolescence, but in the short term we're unlikely to officially support a vast range of them.
I've just had a look on www.vodafone.co.uk and it looks like they are available there. Tesco online shopping says they are out of stock, but there is likely to be stock on the shelves at the stores.
I'll talk to the Vodafone gusy to find out what the stock situations is moving forward, and what the cutover to a new model is likely to be.
Hope that helps.
I've tried 2 Tesco Extra stores, both out of stock. Also tried a couple of phone shops. Will give the vf store a try.
Maplin were selling these - cant guarantee the exact model but you may be able to pop into a local store !
Looks like Argos sell them too with 2 topups of 250Mb included, just got one in Slough so happy now. They are the only Vodafone mobile dongle listed and are the K3770 too. They had 3 originally so 2 left for anyone else.
OK, got it set up and connected, however I seem to have the complete opposite pinout to the hand drawn schematic so could be that my socket is upside down. It is from an old PC back panel bracket and the socket connection is buried in some plastic.
At least its sort of working. The SMS test seems to be receiving messages but not sending them (I think this is due to the SIM being data only and not allowing SMS, getting an alternative sim to try that does allow data and SMS). When I run the USSDTest I see a partial message asking to call 1345:
[DBG] Module VodafoneK3770.cpp - Line 456: ATResult: AT return=0 (code 0)
[DBG] Module USSDInterface.cpp - Line 46: Initialization done
[DBG] Module USSDInterface.cpp - Line 64: Send USSD command & register for unsolicited result codes
[WARN] Module ATCommandsInterface.cpp - Line 522: Incoming buffer is too short to process incoming line
[DBG] Module SMSInterface.cpp - Line 306: AT code is nces please call 1345 , for free. Thank you",68
[DBG] Module SMSInterface.cpp - Line 312: Not handled
[DBG] Module USSDInterface.cpp - Line 102: AT code is nces please call 1345 , for free. Thank you",68
[DBG] Module USSDInterface.cpp - Line 108: Not handled
[DBG] Module USSDInterface.cpp - Line 85: No result received
[ERROR] Module main.cpp - Line 59: Send USSD command returned 6
[DBG] Module main.cpp - Line 62: Result of command:
The HTTP Client is also working both sending GET and POST requests.
I'll ask the Vodafone guys to comment, but i wonder if when it says :
"..nces please call 1345 , for free. Thank you"
It is telling you you dont have credit for Sending SMSs, and that you need to call that number top add credit? You can receive them free, and you clearly have data if you're doing HTTP.
I think it is due to the sim provided with the dongle only allowing data and not sms. Ordered a couple of free data and sms sims to try. At least I can implement a sms to LED Matrix message display now.
Without seeing the full response message, it is difficult to tell what the problem is.
When the USSD interface says "Incoming buffer is too short to process incoming line" I'm assuming then we need to increase the buffer as "nces please call 1345 , for free. Thank you" seems to be the end of the message.
Andrew: I guess you could try sending an SMS with the SIM in the phone and issue USSD messages from there to see what the full message is?
Chris: is it possible to have a sub-forum for this, since having one long thread seems a bit hard to keep track of multiple questions?
I've had a play around with combining both the SMS and HTTPClient demos, I now have an example that takes a SMS and adds it to a URL sending it to a web connected LED matrix display I have.
I need to provide a more local link to the display such as serial or directly driven by the mbed but as a test it was fine.
I did however notice one issue with the HTTPClient code. I tried to use a url with a port specified on it, 8235, but this was interpreted by the library as 298. I was only able to get it to work if a port wasn't specified and it defaulted to 80. The section of log below shows an example of this behaviour.
The code used the url: http://myhostname.org:8235/?msg=hello+world
The debugs show:
[DBG] Module main.cpp - Line 73: Trying to fetch page...
[DBG] Module HTTPClient.cpp - Line 103: Scheme: http
[DBG] Module HTTPClient.cpp - Line 104: Host: myhostname.org
[DBG] Module HTTPClient.cpp - Line 105: Port: 298
[DBG] Module HTTPClient.cpp - Line 106: Path: /?msg=hello+world
It seems there may be some issues in the HTTPClient library with parsing URLs.
Thanks for the report, there was actually a bug in the HTTPClient's parseURL() function.
If you update your library now it should be fixed.
Thanks for the fix, will update and give it a try later. Much appreciate your work on the mbed network library.
Will this library work with dongles connected to Vodafone networks in other countries such as Spain?
I happen to have a K3770 and a Vodafone SIM, but I have not succeeded in setting everything up yet. APN settings for Vodafone Spain require username and password. I also wonder if SIM PIN should be disabled beforehand.
General question, has anyone tried using the K3770 with the LPC11U24 based mbed instead of the LPC1768. Is there any reason it wouldn't work? I'm looking at getting a second mbed and if this one is suitable then I'll give it a try.
Please log in to post a reply.
mbed, the fastest way to prototype with ARM based microcontrollers.
^ back to top