I am using a GSM modem to send data to a remote server over TCP/IP connection. I am using STM32F103 for the software. I want to connect 3 LED's with the 'F103 to indicate which connectivity and service level is provided by my Tel-co for the current connection.. 2G or 2.5G or 3G (or maybe 4G also).

How can I do this? do I need to measure the RSSI signal strength for this or do I need to measure some other parameters?


I am using M95 Modem. My understanding is that if RSSI level is low that I will get lower speed connectivity to the server (lower data rate possible) and more chances of corrupt packets and data loss. So when I will be at 2G or 2.5G then I will not send or request big data files to and from the server as it will not complete successfully even after many retries. But if I get 3G connection from the Tel-co then I will do bigger files send or receive tasks. This is my vague understanding. Please correct me if I am wrong in it.

  • 1
    \$\begingroup\$ Properties of the physical link are not anything that can be asked from TCP/IP; that's the whole point of having a protocol layer stack. You need to ask your modem what it's currently doing. You forgot to say what modem you're using, so we can't help you. \$\endgroup\$ – Marcus Müller Jun 19 '19 at 7:10
  • \$\begingroup\$ What I can say with certainty is that RSSI has nothing to do with it. And that "2G or 2.5G or 3G" are not "GSM service levels", but "telecommunication standard generations"; it's totally unclear what the whole purpose of your question is, because you don't state that, and due to your own confusion, it's impossible to infer. \$\endgroup\$ – Marcus Müller Jun 19 '19 at 7:11
  • \$\begingroup\$ Included more info in the question. \$\endgroup\$ – alt-rose Jun 19 '19 at 7:38

This 4 band and Class 12 Modem chip is capable of supporting low bandwidth applications up to 85.6kbps up and down stream. Packets are kept small to reduce retry sizes when not received.

Signal to Noise Ratio must increase above some threshold to achieve error free communication at fastest rates. This is often when the RSSI starts > -80dBm with a -105 dBm noise floor.

  GPRS Class 12 Max. 85.6kbps (uplink & downlink

| improve this answer | |
  • \$\begingroup\$ 85.6kbps maximum speed is very low. Is there any similar modem that provides higher speeds in the range 300kbps (possibly called 3G speed)? \$\endgroup\$ – alt-rose Jun 19 '19 at 8:48
  • \$\begingroup\$ @alt-rose There are lots of choices of modem with higher speeds. But here is the thing, you need to know what network your provider uses. For example even '4G' LTE comes in CAT-1 through 4. So you could go get a '4G' modem and it be completely incompatible with your provider. Similarly '3G' comes in WCDMA, HSPA, HSPA+, etc. \$\endgroup\$ – hekete Jun 19 '19 at 12:21
  • \$\begingroup\$ here is a list of 258 different modems that have 300kbps or higher speeds \$\endgroup\$ – hekete Jun 19 '19 at 12:27
  • \$\begingroup\$ Wow only 3Mbps per US$ digikey.com/product-detail/en/sierra-wireless/WP7607-G_1104192/… @hekete Did not know U were down there in AU \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jun 19 '19 at 12:35
  • \$\begingroup\$ @SunnyskyguyEE75 its because of the orientation rectification ICs required to operate upside down. \$\endgroup\$ – hekete Jun 20 '19 at 4:22

(x)G is actually pretty meaningless. Since multiple technologies get called 3G and 4G, even though they are completely different and achieve different data rates.

For example 3G speeds range from 144Kbps to 21.6Mbps. The providers of the 144Kbps network still call it 3G though.

It doesn't really have anything to do with a service level. If your signal is bad, your modem might try dropping to a lower data rate. I don't know if it will report this as 'xG', but you should definitely be able to query what speed it is connected at.

I would forget about all the Gs and just look at your connection speed and make choices based on that.

Let me just re-iterate. The xG thing is pretty much purely marketing crap, there were efforts to make minimum requirements for something to be called xG, but it didn't stick. When dealing with cellular networks you need to know what technology the network is based on. The 'generation' of the network just gives you a vague indication of what the maximum data rate might be.

| improve this answer | |
  • \$\begingroup\$ '2G' is obsolete now but let us say my connection speed is in 10's of kbps only then I can symbol it as '2G'. But I cannot understand how to query the modem to find the connection speed of up-link or down-link. Any idea how to do that? \$\endgroup\$ – alt-rose Jun 19 '19 at 8:08
  • \$\begingroup\$ I think you use the AT+CGQREQ? command. Though looking at the M95 data sheet it seems to only support 85.6kbps maximum. The above command is supposed to return <cid>,<precedence>,<delay>,<reliability>,<peak>,<mean> \$\endgroup\$ – hekete Jun 19 '19 at 8:30
  • \$\begingroup\$ @alt-rose Those values returned are from tables in the GSM 03.60 standard. So you would have to look that up. It's under Quality of Service Profile. \$\endgroup\$ – hekete Jun 19 '19 at 8:42
  • \$\begingroup\$ The 85.6kbps means only up-link speed or both up-link+down-link speeds added? If it supports 85.6kbps maximum that means just 2.5G. S even if my Tel-co provides 4G services and my SIM card is also 4G enabled.. the data connection that I will get will be 2.5G. What if my Tel-co does not support 2.5G but only 4G? Is it possible that a Tel-co does not support the fall-back data rates of 2.5G after it upgrades to latest 4G services? \$\endgroup\$ – alt-rose Jun 19 '19 at 8:43
  • \$\begingroup\$ Class 12 says 4 up-link and 4 down-link slots max with 5 active at a time. So if you were getting 85.6kbps down you would be left with 1 slot for up at 21.4kbps (at least I think that is how it works). \$\endgroup\$ – hekete Jun 19 '19 at 8:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.