Problems with Cellular Radio Module

Hello,

I have some Problems with the Cellular Radio Module connectet to my Spider. It seems that the Module does not even start up correctly.
The Cellular Radio is connectet to Port 4 and in the Project I have only added

cellularRadio.DebugPrintEnabled = true;
CellularRadio.PowerOn(50);

to test the module.

Debugging leads to:

[quote]Der Thread ‘’ (0x2) hat mit Code 0 (0x0) geendet.
Using mainboard GHIElectronics-FEZSpider version 1.0
Program Started
CellularRadio : Turning ON
CellularRadio : Turning module on
CellularRadio : <
RDY

CellularRadio : <
+CREG: 2

+CREG: 0

+CGREG: 0

+CFUN: 1

+CPIN: SIM PIN

CellularRadio : SENT: AT

CellularRadio : <AT

OK

CellularRadio : SENT: AT+CMGF=1

CellularRadio : <AT+CMGF=1

OK

CellularRadio : SENT: AT+CSDH=0

CellularRadio : SENT: AT+CPBS=“SM”

CellularRadio : <AT+CSDH=0

ERROR
AT+CPBS=“SM”

ERROR

CellularRadio : SENT: AT+CPMS=“SM”

CellularRadio : SENT: AT+CNMI=2,1,0,1,0

CellularRadio : <AT+CPMS=“SM”

ERROR
AT+CNMI=2,1,0,1,0

ERROR

CellularRadio : SENT: AT+COLP=1

CellularRadio : SENT: AT+CGREG=1

CellularRadio : <AT+COLP=1

ERROR
AT+CGREG=1

OK

CellularRadio : SENT: AT+CREG=1

Der Thread ‘’ (0x4) hat mit Code 0 (0x0) geendet.
CellularRadio : <AT+CREG=1

OK

[/quote]

I hope you could help me with this Problem, if you are missing some Information feel free to ask!

Yedra

Check this out:

Thank you for your quick answer and the link, but unfortunately I cant find a solution there to solve my problem. It seems that my Module already produces errors during the power-up-process.
Any ideas about what could produce this kind of errors?

While USB specifications say ports should provide 500mA, we rarely see a port that can actually provide 500mA. We always recommend the use of powered hubs or a power pack instead of relying on the USB power. Use a powered hub from a known brand, not a cheap hub. If your device has the option of using a power pack (for example the USB Client DP Module) then you can use a power pack instead. 9V 1A is typically recommended but check the bottom of the circuit board for printed voltage range. All power connectors on GHI products are 2.1mm with positive on the inside and negative on the outer ring.

Not using a powered hub or power pack can cause:
[ul]Unexplained behavior
Device does not function
Device functions intermittently
Device functions but network fails
Device functions but SD card fails
Device functions but firmware update fails[/ul]
(Generated by QuickReply)

Further to the QuickReply, the GPRS module is power hungry. REAL power hungry. You need to be very careful with power to it. Tell us about your power setup, because it’s probably inadequate.

Thanks for your reply! For powering up the modules I use the USB DP module with an additional power pack (9V, 800mA).
I also thought about the relation between the error and the power supply situation, but unfortunately, the error could be reproduced with the project only connected to the USB computer port as well as with the usage of the power pack. Could it be possible that the module even needs more than the 7,2W offered by the power pack?

There’s talk that the GPRS module may need 2A so yes, that’s a definite possibility. Do you have a screen attached at the same time by any chance - and if so, get rid of it ! :slight_smile:

The real problem is that the DP module is only rated to 800mA so I believe you may struggle to get it reliable… you’re not the first person to have this conversation here :slight_smile:

With just my Spider, DP and GPRS module, I’ve been able to get it to power up, connect, send and receive SMS messages with just a USB connection to the DP.

I’ve run into problems when I try using it, WiFi and T35 all at the same time.

Same configuration here, no additional ballast, strange…

@ Mhectorgato can you share a project that did exactly your test? It could be differences in SDK or whether you leveraged the standard driver or not that also made an impact, so if you can describe those things too that would be great.

@ Yedra, the error may not actually be power; have you stepped into the code (you’ll need to download the driver from codeplex to be able to go into that) to see what it’s actually failing on?

Microframework 4.1
I used the Seeed drivers found here : http://www.seeedstudio.com/depot/cellular-radio-net-gadgeteer-compatible-p-976.html?cPath=203

Here’s my most recent test I did - looks like I had my T35 connected as well.

    public partial class Program
    {
        // This method is run when the mainboard is powered up or reset.   
        void ProgramStarted()
        {
            // Use Debug.Print to show messages in Visual Studio's "Output" window during debugging.
            Debug.Print("Program Started");

            GT.Timer t = new GT.Timer(1000);
            t.Tick += (Timer) =>
                {
                    t.Stop();

                    cellularRadio.GprsNetworkRegistrationChanged += new CellularRadio.GprsNetworkRegistrationChangedHandler(cellularRadio_GprsNetworkRegistrationChanged);
                    cellularRadio.GsmNetworkRegistrationChanged += new CellularRadio.GsmNetworkRegistrationChangedHandler(cellularRadio_GsmNetworkRegistrationChanged);
                    cellularRadio.PowerOn(10);

                    string xml;
                    xml = "<Glide Version=\"" + Glide.Version + "\">";
                    xml += "<Window Name=\"window\" Width=\"320\" Height=\"240\" BackColor=\"FFFFFF\">";
                    xml += "</Window>";
                    xml += "</Glide>";

                    // Resize any loaded Window to the LCD's size.
                    Glide.FitToScreen = true;

                    // Load the Window XML string.
                    var window = GlideLoader.LoadWindow(xml);

                    // Assign the Window to MainWindow; rendering it to the LCD.
                    Glide.MainWindow = window;
                };
            t.Start();
        }

        void cellularRadio_GsmNetworkRegistrationChanged(CellularRadio sender, CellularRadio.NetworkRegistrationState networkState)
        {
            cellularRadio.SendSms("13860000000", "CellTest message");
        }

        void cellularRadio_GprsNetworkRegistrationChanged(CellularRadio sender, CellularRadio.NetworkRegistrationState networkState)
        {
            cellularRadio.SendSms("13860000000", "CellTest message");
        }
    }

Finally got it!
Trying some modifications in the driver leads to that the modem needs the SIM pin first before it could handle some AT commands!

I changed the modules driver this way:

In the method “PowerOnSequenceThread()” I added just one line of text from


SendATCommand ("AT");
SendATCommand ("AT+CMGF=1");

to


SendATCommand ("AT");
SendATCommand ("AT+CPIN=xxxx");       // with xxxx = pincode
SendATCommand ("AT+CMGF=1");

according to the Driver modification Wiki thread: Home - GHI Electronics

Now everything works like it should do! Thanks everybody for your answers and hints!

Hmm, a PIN request event/method should probably be part of the standard driver… :slight_smile:

1 Like