How to identify a mobile at execution or installation time

in
Keywords:

Identifying the type of phone your application is running on is sometimes useful for optimised application (or to handle compatibility across different OS platforms). Symbian OS has the capabilities to identify a mobile device:
-  at execution time: this is most useful to execute device specific code
-  at installation time: this is generally used for installing device-dependent files (ex: bitmaps) or code with heavy platform dependencies.

 

Identification at execution

One of them is at code execution. A Call to the HAL::Get() function will return a code identifying your device hardware :

#include <hal.h> // also link to hal.lib

TInt mUid = 0;
HAL::Get(HALData::EMachineUid, mUid);

For Nokia Series60 devices the mUID will be unique for each device type:

NS60 Mobiles    mUid value
Nokia 3230 0x10200f97
Nokia 3250 0x200005F8
Nokia 3650   0x101f466a
Nokia 3660   0x101f466a
Nokia 6260   0x101fb3f4
Nokia 6600   0x101fb3dd
Nokia 6620   0x101f3ee3
Nokia 6630   0x101fbb55
Nokia 6670 0x101fb3f3
Nokia 6680   0x10200F99
Nokia 6681   0x10200F9C
Nokia 6682   0x10200F9B
Nokia 7610   0x101fb3f3
Nokia 7650   0x101f4fc3
Nokia N-Gage   0x101f8c19
Nokia N-Gage QD   0x101FB2B1
Nokia E60   0x20001856
Nokia E61   0x20001858
Nokia E70   0x20001857
Nokia N70   0x10200F9A
Nokia N80   0x200005F9
Nokia N90   0x10200F98
Nokia N91   0x200005FC
Nokia N92   0x200005FA
Sendo-X   0x101FA031
Siemens SX1   0x101F9071
Samsung SGH D720   0x10272F38
Samsung SGH D730   0x10272F39
Panasonic X700   0x101FF525

 
 

NS80    mUid value
Nokia 9210 and 9290   0x10005e33
Nokia 9300   0x101f8ddb
Nokia 9300i   0x1020E048
Nokia 9500    0x101f6b26

 
 

UIQ Mobiles    mUid value
Sony Ericsson P800   0x101F408B
Sony Ericsson P900   0x101FB2AE
Sony Ericsson P910   0x10200AC6
Motorola A9xx   0x101f6b26

 

Identification at installation

The identification of the mobile at installation allow to install different files on different devices. A modification of the PKG file is needed. The UIDs shown above are still valid:

;
; Files to install
;
IF MachineUID=0x101fb3dd; 6600
; install Nokia 6600 specific files
"\Symbian\6.1\Series60\Epoc32\release\thumb\urel\EZBoot6600.ini"         -"!:\system\apps\EZBoot\EZBoot.ini"
ELSEIF MachineUID=0x101f466a ; 3650
; install Noka 3650 specific files
"\Symbian\6.1\Series60\Epoc32\release\thumb\urel\EZBoot3650.ini"         -"!:\system\apps\EZBoot\EZBoot.ini"
ELSE
; install file for other devices
"\Symbian\6.1\Series60\Epoc32\release\thumb\urel\EZBoot.ini"         -"!:\system\apps\EZBoot\EZBoot.ini"
ENDIF

This installs a EZBoot.ini file that is tailored for specific devices (here Nokia 6600 and Nokia 3650).

If you have more codes... please post them below, I will add them in the article.

> How to identify a mobile at execution or installation time

3650 and 3660 have same uid. Use number of display colours to distinguish between these devices: e.g.

HAL::Get(HALData::EDisplayColors, nof_colours);

3650 = 0x1000 colours 3660 = 0x10000 colours

OS version?

How to get Symbian version or Series 60 version?

EManufacturerSoftwareRev

> How to identify a mobile at execution or installation time

SonyEricsson P910 - 0x10200ac6

> How to identify a mobile at execution or installation time

Hi all,

Let see http://ncsp.forum.nokia.com/download/?asset_id=11912.

,Yours Respectfully Sittiphol Phanvilai Lead Developer ZenithCore Thailand

> How to identify a mobile at execution or installation time

Anyone know the ID of Motorola A1000 and A1010?

> How to identify a mobile at execution or installation time

Nokia_N90 0x10200F98

How to identify a mobile at execution or installation time

Hello! How to query the Series 60 version at installation time?

I need to differentiate between Series 60 2nd Ed FP1 and Series 60 2nd Ed FP2 (This version offers AMR Hw Codec).

Thank you very much!

How to identify a mobile at execution or installation time

The Nokia 9300 is erroneously returning the 9300 mUid (0x101F8DDB) - is there any way to distinguish between 9300 and 9500? Someone suggested (http://discussion.forum.nokia.com/forum/showthread.php?t=62462) using the camera to distinguish the two, but as happened with the 9300i they could release a 9300 with a camera at some point. Any suggestions?