Gadgeteer cellular radio problem

Hi, I am using a cellular radio module for gadgeteer but I cannot send sms or make calls. When I try to send an sms I receive the following message: “Error”. When I try to make a call I receive the following message: “No carrier”. What could be the possible cause for this problem? How could this be solved? Thank you for your help.

The code I am using is:


using System;
using System.Collections;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Presentation;
using Microsoft.SPOT.Presentation.Controls;
using Microsoft.SPOT.Presentation.Media;
using Microsoft.SPOT.Touch;

using Gadgeteer.Networking;
using GT = Gadgeteer;
using GTM = Gadgeteer.Modules;
using Gadgeteer.Modules.Seeed;
using Gadgeteer.Modules.GHIElectronics;

namespace RadioModuleTest
{
public partial class Program
{
// This method is run when the mainboard is powered up or reset.
void ProgramStarted()
{
/*******************************************************************************************
Modules added in the Program.gadgeteer designer view are used by typing
their name followed by a period, e.g. button. or camera.

        Many modules generate useful events. Type +=<tab><tab> to add a handler to an event, e.g.:
            button.ButtonPressed +=<tab><tab>
        
        If you want to do something periodically, use a GT.Timer and handle its Tick event, e.g.:
            GT.Timer timer = new GT.Timer(1000); // every second (1000ms)
            timer.Tick +=<tab><tab>
            timer.Start();
        *******************************************************************************************/


        // Use Debug.Print to show messages in Visual Studio's "Output" window during debugging.
        Debug.Print("Program Started");

        cellularRadio.DebugPrintEnabled = true;
        cellularRadio.PowerOn(5);


        cellularRadio.ModuleInitialized += new CellularRadio.ModuleInitializedHandler(cellularRadio_ModuleInitialized);
        cellularRadio.GsmNetworkRegistrationChanged += new CellularRadio.GsmNetworkRegistrationChangedHandler(cellularRadio_GsmNetworkRegistrationChanged);
        cellularRadio.OperatorRetrieved += new CellularRadio.OperatorRetrievedHandler(cellularRadio_OperatorRetrieved);
        cellularRadio.SignalStrengthRetrieved += new CellularRadio.SignalStrengthRetrievedHandler(cellularRadio_SignalStrengthRetrieved);
        cellularRadio.PhoneActivityRetrieved += new CellularRadio.PhoneActivityRetrievedHandler(cellularRadio_PhoneActivityRetrieved);
        



        joystick.JoystickPressed += new Joystick.JoystickEventHandler(joystick_JoystickPressed);

    }

    void cellularRadio_PhoneActivityRetrieved(CellularRadio sender, CellularRadio.PhoneActivityType activity)
    {
        Debug.Print("Activity= " + activity);
    }

    void cellularRadio_SignalStrengthRetrieved(CellularRadio sender, CellularRadio.SignalStrengthType signalStrength)
    {
        Debug.Print("SIGNAL STRENGTH: " + signalStrength);

    }

    void cellularRadio_OperatorRetrieved(CellularRadio sender, string operatorName)
    {
        if (operatorName != null)
            Debug.Print("OPERATOR: " + operatorName);
        else
            Debug.Print("NO OPERATOR WAS FOUND");

    }

    void joystick_JoystickPressed(Joystick sender, Joystick.JoystickState state)
    {

        Debug.Print("PRINTING INFO: Operator, Signal, PIN Status and Phone activity");

        // Operator Test
        cellularRadio.RetrieveOperator();

        // Signal Strength
        cellularRadio.RetrieveSignalStrength();

        // PIN Event Test
        cellularRadio.SendATCommand("AT+CPIN?");

        // Phone Activity Test
        cellularRadio.RetrievePhoneActivity();

        // SMS Test
        cellularRadio.SendATCommand("AT+CMGS?");

        //Make voice call Test
        cellularRadio.Dial("04122250099");



        
    }

    void cellularRadio_GsmNetworkRegistrationChanged(CellularRadio sender, CellularRadio.NetworkRegistrationState networkState)
    {
        Debug.Print("NETWORK EVENT " + networkState);
    }

    void cellularRadio_ModuleInitialized(CellularRadio sender)
    {
        Debug.Print("MODULE INITIALIZED");
    }
}

}


Debug output is:

The debugging target runtime is loading the application assemblies and starting execution.
Ready.

‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\mscorlib.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.Native.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.Hardware.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.Graphics.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.TinyCore.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.IO.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\System.IO.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.Hardware.Usb.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\System.Xml.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.Hardware.SerialPort.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.Net.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\System.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.Touch.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.Ink.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.1\le\Gadgeteer.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\Microsoft.SPOT.Net.Security.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\System.Net.Security.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Assemblies\le\System.Http.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.1\le\Gadgeteer.WebClient.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Seeed\Microsoft .NET Gadgeteer\Modules\CellularRadio\NETMF 4.1\le\GTM.Seeed.CellularRadio.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\Joystick\NETMF 4.1\le\GTM.GHIElectronics.Joystick.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI OSH NETMF v4.1 SDK\Assemblies\le\GHIElectronics.OSH.NETMF.Hardware.dll’
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Mainboards\FEZHydra\NETMF 4.1\le\GHIElectronics.Gadgeteer.FEZHydra.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Users\Elvis\Documents\Visual Studio 2010\Projects\RadioModuleTest\RadioModuleTest\bin\Debug\le\RadioModuleTest.exe’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.1\le\Gadgeteer.WebServer.dll’, Symbols loaded.
The thread ‘’ (0x2) has exited with code 0 (0x0).
Using mainboard GHIElectronics-FEZHydra version 1.0
Program Started
CellularRadio : <
NORMAL POWER DOWN

+CREG: 3

+CGREG: 3

NETWORK EVENT 3
CellularRadio : Turning ON
CellularRadio : Turning module on
CellularRadio : <
RDY

CellularRadio : <
+CFUN: 1

+CPIN: READY

CellularRadio : <
+CREG: 0

NETWORK EVENT 0
CellularRadio : <
+CREG: 2

NETWORK EVENT 2
CellularRadio : <AT

OK

CellularRadio : SENT: AT

CellularRadio : <AT+CMGF=1

OK

CellularRadio : SENT: AT+CMGF=1

CellularRadio : <AT+CSDH=0

OK

CellularRadio : SENT: AT+CSDH=0

CellularRadio : <AT+CPBS=“SM”

OK

CellularRadio : SENT: AT+CPBS=“SM”

CellularRadio : <AT+CPMS=“SM”

ERROR

CellularRadio : SENT: AT+CPMS=“SM”

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

OK

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

CellularRadio : <AT+COLP=1

OK

CellularRadio : SENT: AT+COLP=1

CellularRadio : <AT+CGREG=1

OK

CellularRadio : SENT: AT+CGREG=1

CellularRadio : <AT+CREG=1

OK

CellularRadio : SENT: AT+CREG=1

The thread ‘’ (0x5) has exited with code 0 (0x0).
CellularRadio : <
Call Ready

MODULE INITIALIZED
CellularRadio : <
+CREG: 1

+CGREG: 0

NETWORK EVENT 1
PRINTING INFO: Operator, Signal, PIN Status and Phone activity
CellularRadio : SENT: AT+COPS?

CellularRadio : <AT+COPS?

+COPS: 0,0,“movistar”

OK

CellularRadio : SENT: AT+CSQ

CellularRadio : <AT+CSQ

+CSQ: 14,0

OK
AT+CPIN?

CellularRadio : SENT: AT+CPIN?

CellularRadio : SENT: AT+CPAS

CellularRadio : <
+CPIN: READY

OK
AT+CPAS

+CPAS: 0

OK

CellularRadio : R:[0]
CellularRadio : SENT: AT+CMGS?

CellularRadio : <AT+CMGS?

ERROR

CellularRadio : SENT: ATD+04122250099;

OPERATOR: “movistar”
SIGNAL STRENGTH: 2
Activity= 0
CellularRadio : <ATD+04122250099;

CellularRadio : <
NO CARRIER

CellularRadio : <
+CGREG: 1

CellularRadio : <
+CREG: 1

NETWORK EVENT 1


hi, elvis, for you problem, i think that there is several reasons can cause this problem, firstly, the serial is no ready, secondly, the module is too busy, thirdly, your phonenumber is incorrect, the number need to add the country code, for example, my country code is 86, assume my phone number is 12345678900, if you want to make a telephone to me, you shoule call me at +8612345678900. you can do something as follow, check your serial and the module are ready, confirm your country code is correct, in addition, you also can try the follow code:
cellularRadio.SendSms("+86447801881396", “HELLO”);//sending a sms, don’t forget add the country code
Thread.Sleep(500);
cellularRadio.Dial(“075536534305”);//make a phone call, also need add the country code.