***********************************************************************
  Siemens mobile phones service code generator
***********************************************************************

 Some Siemens GSM mobile phones have undocumented service menu which is
 disabled by default. First item of this menu ("Monitor") enters the
 NetMonitor mode.

 The service menu can be enabled by storing an activation code in the
 last record of SIM phonebook. Deleting this record disables the menu.

 Every SIM card has 2 activation codes:
  Code 1 - enables all service menu items
  Code 2 - "Monitor" and "Audiomonitor" only

 These codes are computed from IMSI number so they are unique for each
 SIM card.


***********************************************************************
  Service menu ativation
***********************************************************************

 How to enable the service menu:

 1) Connect the phone to PC with data cable or IrDA.
    To set communication parameters, press "Settings" button,
    in "Communication settings" window select IrDA or serial mode.
    For serial port also specify COM port and baud rate.
    "Swap 16-digit IMSI" option is for some S25 firmware that outputs
    IMSI code 16 digits long with swapped consecutive digits.

 2) Get IMSI number of SIM card.
    ("Open phone" button in main window)

    The number can be entered manually in "IMSI" field.
[!] Don't mix IMSI code with SIM number or IMEI.

 3) Make the service code.
    ("Make code" button)

 4) Enter the service code to last record of SIM phonebook.
    ("Activate" button)

    The code can be entered manually.
    Try to enter record number 999 to get the last position.

 5) Turn the phone off and on.
    (Use "Off" checkbox in main window to switch the device off)


**********************************************************************
  Entering Service Menu
**********************************************************************

 Enter main menu (right softkey), press '#' to enter the service menu:

 ----------------
 Monitor
 Audiomonitor
 ...
 ----------------

 To enter NetMonitor, select 'Monitor' item.


***********************************************************************
  Error messages
***********************************************************************

 "No mobile device connected"
   Can't detect modem/phone on specified port.
   * The device is not a modem or phone
   * The device is attached to another port
   * Incorrect serial baud rate

 "Can't get IMSI"
   Device doesn't report IMSI code.
   * The phone is not GSM-compatible
   * Modem connected instead of mobile phone

 "Can't store number"
   Can't write a record to SIM phonebook.
   * The phone is not GSM-compatible

 "Invalid IMSI"
   IMSI code is not valid
   * Wrong code entered manually


**********************************************************************

 The service codes tested on following phones:
  S25,
  C35, M35, S35,
  C45, S45, ME45,
  M50, MT50,
  C55 (firmware version >= 11 require EEPROM patch).
 Maybe, they'll be valid for future Siemens phones...

 Special thanks to Ivashov Mikhail (DarkBear, Siemens-club.ru)
 for help in firmware code research.

**********************************************************************

 Ivan Gorinov (Greenstone, Siemens-club.ru)
 gorinov@lcard.ru
 http://www.lcard.ru/~gorinov/
