Sunday, December 30, 2012

How to enable engineering/field test mode in blackberry

Blackberry phone has best engineering mode. You can enable it by using below steps:

Blackberry has a very nice and interesting field test/Engineering mode.
While reading a blog I show that pressing ALT+CAP+H would display usefull  information about your mobile.
But you can enable the engineering mode from this screen using steps metioned in the blog:
http://www.zibri.org/2009/08/hidden-things-are-usually-best.html
Please make sure to follow steps very clearly. Read it twice! 

Tuesday, May 1, 2012

3G Handover Events 2a, 2b, 2c.. explained


·         Event 2a: Change of Best Frequency
·         Event 2b: The estimated quality of the currently used frequency is below a certain threshold and the estimated quality of a non-used frequency is above a certain threshold
·         Event 2c: The estimated quality of a non-used frequency is above a certain threshold
·         Event 2d: The estimated quality of the currently used frequency is below a certain threshold
·         Event 2e: The estimated quality of a non-used frequency is below a certain threshold
·         Event 2f: The estimated quality of the currently used frequency is above a certain threshold 

Tuesday, November 8, 2011

Periodic Location Update Timer(T3212)

Periodic Location update timer controls periodicity of the location update procedure triggered by Mobile(UE). The value T3212 shall be set to 0 if Peridic location updating procedure need to be disabled. The value can be set in multiples of 6 (6 mins) and default value is 60. When it is set to 60mins, T3212 is set to 10 because T3212 value is in dechours. 1 Decihour = 6mins

Change or add the SMSC number to apple iPhone

How to get the SMSC set in the iPhone?
In the iPhone keypad and type *#5005*7672# Press Call
How to erase the SMSC set in the iPhone?
In the iPhone keypad, type ##5005*7672# Press Call
How to modify the SMSC set in the iPhone?
In the iPhone keypad, type **5005*7672*+# Press Call

Monday, April 25, 2011

Engineering mode/Field test mode in various mobiles using codes

LG Mobile:
Most of the LG Models have similar field test menu:
  1. Version
  2. Factory Reset
  3. Device Test
  4. Port Setting
  5. Modem Setting
  6. SIM Test
  7. IMS Setting
  8. IM Client ID
Engineering mode (field test mode) could be found under Modem Setting. Modem setting has various options including the Network mode, Engineering Mode, GPRS Attach and many more. In some of the LG Models if you want to get into Engineering mode directly using code *748#96


Code277634#*#
Model : LG CU720 (LG Shine), LG CU575, LG CU500, LG CU400 (many other models)

Code : 3845#*360#
Model:  LG CF360(This model has more options in the field test mode like GPS, DRM test menus, Calibration data)


Samsung Mobile:
Code: *#0011#
Model: SGH-A707, SGH-A717, SGH-A727, SGH-i617 and many other models support this code.


Apple iPhone:
Code : *3001#12345#* then press call
Various field test information could be seen under the menus.

Blackberry Mobile:
Code: Menu->Settings->Options->status
This would show some of field test information on blackberry phones.


Nokia Mobile:
Code: *3001#12345#.
Code changes on some of the Model. Some time field test displays as Net monitor in Nokia mobiles.  Most of the models like Nokia 12xx, 51xx (except 5125), 61xx, 62xx, 71xx,3285, 63xx are supported with this code. To get out the engineering mode, you need to either dial 00/01 in some models, in some models in net monitor, you many dial 0000.

You contact me if you need more information or field test mode for any other phone/model, I would try to look and get the information back to you.

What is WPS - Wireless Priority Service

WPS means Wireless Priority Service which is priority calling service provided to the subscribers by the operators. This service is add-on service which shall be subscribed by the subscriber.  User must be having WPS feature enabled to make the WPS call.
To make WPS call, dial, *272 + Destination Number

Remember you do not need a special cellphone to make WPS call, only need to subscribed to WPS package from operator. Receiver of the WPS call does not need to subscribe for the WPS feature. *272 enables the priority access to local channels, High probability of completion  features (HPC). If the terminating end is mobile user the then priority channels are allocated for terminating call.

Friday, February 11, 2011

What is AGPS (Assisted GPS)

Assisted GPS is used to assist the GPS by providing the additional information like visible GPS satellites, reference time, Doppler which would help in GPS acquisition process. This feature intern help faster GPS acquiring time and reducing the GPS power consumption. Also helps in more accurate GPS measurements with more coverage.

Friday, February 4, 2011

How to set automatic recovery after power failure for a SUN Netra box using ALOM port command

Pick up a laptop and cable which has RJ-47 in one end and 7-Pin serial port on the other end.

Connect RJ-47 to SERIAL MGT port in the Sun Box and serial port to your laptop. Make sure that you have a application like putty for the serial connection. Serial connection configuration shall be 9600/8n1/none. Establish a serial connection using putty, either console login prompt will appear or ALOM port login prompt appears. Please provide login and password, takes you to ALOM prompt or console window. If you wish to go to ALOM prompt from console then type “#.”(HASH and DOT). If you wish to switch to console prompt from ALOM then type “console”.

How to set automatic recovery after power failure for a SUN Netra box using ALOM port command

Please refer the How to connect to ALOM port section in this website. Once you login to SUN box and able to see the ALOM prompt sc>, you can use setsc command.
sc> showsc
Check the value for sc_powerstatememory variable. It shall show as below:
sc_powerstatememory false
To set the automatic recovery after power failure, do as below
sc> setsc sc_powerstatememory true
For any other commands use showsc and below syntax
sc> setsc <variable> <Value>


AMR: Discontinuous TX (DTX)

Mobile Battery life will be prolonged or a smaller battery could be used for a given operational duration. From the network point of view, the average required bit rate is reduced, leading to a lower interference level and, hence, increased capacity.




How to acheive DTX in AMR?

- Voice Activity Detector on TX side

- Evaluation of the background acoustic noise on the TX side

- Transmission of comfort noise information to the RX side using SID at regular intervals

- Generation of comfort noise on the RX side during periods when no normal speech frames are received.

What is Unlicensed Mobile Access - UMA

UMA provides tunneled IP connection to GSM/GPRS services through WiFi frequencies. But it needs dual mode mobile, to support roaming between wireless networks and unlicensed WiFi networks. UMA Network controller (UNC) is critical network node interworking between tunneled WiFi connection and cellular network.





Picture is referenced from book by Harri Holma and Antti Toskala

Thursday, February 3, 2011

What is Push-to-Talk over Cellular (PoC)

PoC is a one way communication over cellular network or called half duplex communication where voice call is full duplex. PoC called as walkie-talkie over PS domain of cellular networks. Best advantage is airtime which would be 1/4th or even less because voice packets transferred only one direction at a time. Radio resources can be allocated and released when needed.

Saturday, December 25, 2010

LTE as an all IP architecture

LTE (Long term evolution) is the latest standard for mobile network technology, specifications are available in the 3GPP standard. LTE is also an all IP architecture supported by major vendors like AT&T, T-Mobile, Verizon and more. Best part of the technology is that it also provides the inter-working for non 3GPP systems like 3GPP2 (CDMA)and WiFi, WiMax etc. Non 3GPP system are divided into trusted and non-trusted, based on that architecture will change. It is also called as 4G technology in mobile network industry. 3GPP release 8 and above specification talks about adapting to LTE. LTE started as a technology which support packet data network, later to support voice over the packet data network.
What is more fascinate about LTE?
- All IP Architecture
- Signaling and Data path separated out using MME and S-GW where PS Core and CS core is merged into single core network
- High data rates
- Decreased latency
- Better spectrum efficiency
- Scalable bandwidth
- Support for paired and unpaired spectrum
- Inter-working with 3GPP and non 3GPP systems

Below is reference architecture and inter-working with existing 3GPP systems (Reference 3GPP specifications: 3gpp.org)



Concerns operators shall have could be
- Cost effective evolution of IMS and LTE
- Spectrum efficiency
- Service quality
- Coverage performance
- CAPEX and OPEX

Target would be to address these concerns. However lot depends on the approaches that would be considered by operators for the architecture. Most of them probably consider overlay architecture and gradual transition.

If you have any questions please try to post the same. I would try to answer the same.





Wednesday, February 24, 2010

Embedded Engineer: integer promotion rule - Programming in C and C++

One thing Embedded engineer should know is integer promotion rule. Declaring the variable in correct makes life lot more easy in debugging and it should a good practice of programming as well.
Below example is for integer promotion rule.

unsigned int uIntVar = 2;
  int intVar = -10;
    (uIntVar+intVar > 2) ? puts("> 2") : puts("<= 2");

Answer is >2. Expression having the signed and unsigned integers, signed integer becomes a large number and evaluates to positive number in above example.
However it becomes a negative number if
int result = intVar  + uIntVar;  Or type cast the result to int

Now let me post questions.
1) What is the return value if invoke malloc with size zero?
2) How do you write a 1's compliment for given number?

Answer for the first question is strange where second one tests whether you are a embedded engineer.

Interrupt Service Routine - ISR

Thumb rule for ISR is : It should be short and sweet.
1) Will not have any parameters or return values.
2) Should avoid performance hit operations like floating point operations.
3) Should not contain non-entrant functions.
If somebody gives you an example code to identify the problems in the ISR routine, these points should be considered to identify the faults.

Thursday, February 18, 2010

C and C++ Programming - Best practice for Singleton pattern

Best practice for the singleton class to avoid the mis-usage.

1) Make the constructor as private.
2) Hide the copy constructor
3) Hide the = operator
4) Return the reference of the instance instead of pointer in the instance() method

Below is the example:

class Singleton
{

public:

    /*!
     * @brief Method to retrieve the object (singleton pattern)
     */
    static Singleton & instance();

    /*!
     * @brief Destructor
     */
    virtual ~Singleton();

protected:

private:
    /*!
     * @brief constructor, which can only be accessed by instance() method
     */
    Singleton();

    /**
     * @brief Hide the copy constructor.
     */
    Singleton(const Singleton & p_singleton);

    /**
     * @brief Hide the operator '='.
     */
    Singleton & operator =(const Singleton & p_rhs);

    /*!
     * @brief singleton, can only be accessed by instance()
     */
    static Singleton* c_pInstance;
};

C and C++ Programming - How to do you decide whether to have a variable as class member or static class member

Simple but people often do mistakes!
I have seen people writing code, where some of variables does not fit to be class member still used as class members. If a variable not required during the life of  class instance then it is not required to have it as class member. Remember static class members are per class not per instance.

Tuesday, February 9, 2010

C and C++ Programming - Constant usage in C/C++

Constant:
Constant means read-only. Answer is not complete but still good. Constant can be declared in various way for various needs.

const int a; //Constant (non-modifiable) integer
int const a; //Constant (non-modifiable) integer
const int *a; //pointer to a Constant (non-modifiable) integer
int * const a; //Constant (non-modifiable) pointer to a integer
int const * a const; //Constant (non-modifiable) pointer to constant integer

You can write a program without using a constant keyword which would work without any problem. But writing a program using constant is good practice and dictates user on how to use them based on its behavior.