HTC CustomerID (CID)

Die CustomerID[1] (kurz CID) ist eine allgemeine Identifikationsnummer bei einem HTC Android Smartphone und gibt Auskunft über die Herkunft oder die "Bestimmung" des Smartphones, ob dieses bei einem Netzbetreiber vermarktet wird oder auf dem freien Markt zu kaufen ist. Die CID ist außerdem das Identifikationsmerkmal, ob und welches Branding auf dem Gerät installiert ist.

Bedeutung der CIDBearbeiten

Die CID sagt im großen und ganzen nur aus, welche Herkunft das Smartphone hat und ob dieses "gebrandet" ist oder nicht. Die CID ist 8 Bytes lang und kann somit eine Reihe von verschiedenen Werten annehmen.

Gespeichert wird die CID an zwei Stellen bei einem HTC Gerät. Ein mal im Bootloader, diese kann man als "feste" CID bezeichnen, da sich diese nicht durch das Installieren eines anderen ROM's ändert. Der zweite Speicherort ist das ROM selbst als Einstellung, welche im System über den Property Service bekanntgeben wird. Hier ist verbirgt sich die CID als value hinter dem key ro.cid.

Die CID ist werksmäßig voreingestellt und lässt sich nur über einen fastboot-Befehl ändern (Speicherort 1 Bootloader) oder über den Property Service Befehl setprop in einer Shell ändern. Alternativ kann man den Wert in der ROM über normale Programmierschnittstellen ändern[2].

Auswirkungen der CIDBearbeiten

Die 8 Bytes der CID hindern die meisten Smartphone-Besitzer daran ein Brandingfreies Rom zu flashen. Wenn der Bootloader S-ON ist sind nur signierte Rom's durch ein RUU zur Installation geeignet. In den offiziellen, signierten Rom's von HTC ist immer eine Datei namens android-info.txt enthalten, die unter anderem die neue Versionsnummer und eine Liste von CID's enthält. Ist die eigene CID nicht in der Liste enthalten, so verweigert der Bootloader die Installation des Rom's und gibt folgenden Fehler aus:

CID error

Dadurch wird sichergestellt, das nur RUU's der jeweiligen Netzbetreiber auf das entsprechende Gerät installiert werden können.

Umgehen der CIDBearbeiten

Ist es dem User nicht möglich seine CID zu ändern (S-OFF benötigt), so kann man den Check der CID bei älteren Geräten (wie dem HTC Wildfire) durch eine Goldcard umgehen.

Ändern der CIDBearbeiten

Das Ändern der CID benötigt zwingend S-OFF, ein unlocked Bootloader (http://htcdev.com) sperrt weiterhin den Zugriff auf den Befehl. Die CID lässt sich nur im fastboot mit folgendem Code ändern:

fastboot oem writecid {cid}

Sollte man eine ungültige oder zu kurze/lange CID mit dem Befehl senden, so kann das Telefon danach nicht mehr funktionieren. Nachdem der Befehl positiv quittiert wurde, startet man den Bootloader ein mal neu:

fastboot reboot-bootloader

Nun kann man bereits eine RUU installieren, die für die neue CID gedacht ist. Unter Umständen kann es nötig sein, die CID des ROM's zu ändern. Dies geschieht am einfachsten mit einem Befehl im Terminal Emulator   oder mit der ADB.

Terminal EmulatorBearbeiten

Um die CID in der ROM im Terminal Emulator zu ändern installiert man die App und startet diese. Man gelangt zu einem Kommandozeilenfenster und gibt nun diesen Befehl ein:

setprop ro.cid {cid}

{cid} ist dabei die neue CID. Wird lediglich eine leere Zeile zurückgegeben, ist die CID nach einem Neustart geändert.

ADBBearbeiten

Das Ändern der CID in der ROM mit der ADB funktioniert wie folgt. Man öffnet ein Kommandozeilenfenster ([WINDOWS] + [R] -> ''cmd'' -> Enter) und navigiert zu dem Ordner, an dem die adb.exe gespeichert ist. Anschließend gibt man diesen Befehl ein und bestätigt diesen mit Enter:

adb shell setprop ro.cid {cid}

{cid} ist dabei die neue CID. Wird lediglich eine leere Zeile zurückgegeben, ist die CID nach einem Neustart geändert.

Auslesen der CIDBearbeiten

Das Auslesen der CID ist mit dem fastboot-Befehl:

fastboot oem readcid

oder im ROM mit folgendem Befehl:

adb shell getprop ro.cid

möglich. Der Befehl getprop ro.cid lässt sich auch im Terminal Emulator   ausführen und liefert das selbe Ergebnis.

CID-ListeBearbeiten

In der folgenden Tabelle findet ihr einige der CID's, die verwendet werden:

Betreibername CustomerID
SuperCID 11111111
AirTel-India ????????
Asia-HK-CHT HTC__622
ATT CWS__001
BM BM___001
Bouygues-Telecom BOUYG201
Brightstar-PTB BSTAR502
Brightstar-SPA BSTAR301
Chunghwa-Taiwan CHT__601
CT HTCCN702
CU HTCCN703
DCM DOCOM801
DOPOD DOPOD701
Era T-MOB009
Fastweb-IT FASTW401
GOOGLE GOOGL001
H3G-DAN H3G__F05
H3G-Italy H3G__402
H3G-ROI H3G__003
H3G-SWE H3G__G04
H3G-UK H3G__001
HTC-Asia-SEA HTC__037
HTC-Asia-SEA-WWE HTC__044
HTC-Australia HTC__023
HTC-BE HTC__E41
HTC-Czech HTC__C24
HTC-Denmark HTC__F08
HTC-Dutch HTC__E11
HTC-EastEurope HTC__032
HTC-Europe HTC__034[3]
HTC-ELL HTC__N34
HTC-FRA HTC__203
HTC-FRA-Bouygues HTC__247
HTC-GCC HTC__J15
HTC-GER HTC__102
HTC-India HTC__038
HTC-ITA HTC__405
HTC-Nor HTC__Y13
HTC-Norway HTC__H10
HTC-Poland HTC__B25
HTC-PTG HTC__506
HTC-Russia HTC__A07
HTC-Singapore StarHub-Singapore(HTC__044)
HTC-SPA HTC__304
HTC-Sweden HTC__G09
HTC-Turkey HTC__M27
HTC-WWE HTC__001
Hutch-Australia HUTCH001
O2-DE O2___102
O2-UK O2___001
Open-Channel HTCCN701
Optus-Australia OPTUS001
ORANGE-AT ORANG113
ORANGE-BE ORANG012
ORANGE-CH-FRA ORANG203
ORANGE-CH-GER ORANG104
ORANGE-ES ORANG309
ORANGE-French ORANG202
ORANGE-PL ORANGB10
ORANGE-PO ORANG008
ORANGE-SK ORANG006
ORANGE-UK ORANG001
Rogers ROGER001
SMC-Voda-HK SMCVD001
StarHub-Singapore ????????
TELEF-Spain TELEF301
Telstra TELST001
TELUS TELUS001
TIM-Italy TIM__401
TMA T-MOB102
TMCZ T-MOB004
TMD T-MOB101
TMH T-MOB007
TMHR T-MOB006
TMMK T-MOBL11
TMNL T-MOB003
TMSK T-MOB008
TMUK T-MOB005
TMUS T-MOB010
TWM-TW HTC__621
VIRGIN-UK VIRGI001
VODA-Africa-South HTC__016
VODA-Australia VODAP021
VODA-Germany VODAP102
VODA-Greece VODAP006
VODA-Ireland VODAP019
VODA-Italy VODAP405
VODA-Mobilkom VODAP120
VODA-Netherland VODAPE17
VODA-New-Zealand VODAP022
VODA-Portugal VODAPD18
VODA-Proximus VODAP024
VODA-SA VODAP026
VODA-SFR VODAP203
VODA-Spain VODAP304
VODA-Swisscom-DE VODAP110
VODA-Swisscom-FR VODAP212
VODA-Swisscom-IT VODAP416
VODA-Swisscom-WWE VODAP015
VODA-TR VODAPM27
VODA-UK VODAP001

SuperCIDBearbeiten

Die SuperCID ist praktisch der beste Wert, den man als CID haben kann. Die SuperCID erlaubt es einem Nutzer jedes ROM mit jeder RUU zu installieren. Die SuperCID ist immer in allen offiziellen ROM's von HTC enthalten. Das bedeutet, das man unabhängig von der Bestimmung einer RUU diese auf jeden Fall installieren, wenn man die SuperCID gesetzt hat. Allerdings lassen sich OTAs nicht installieren, solange die SuperCID gesetzt ist.

Die SuperCID ist immer acht mal die 1 (11111111) und lässt sich wie eine andere CID auch über den Fastboot zu setzen.

EinzelnachweiseBearbeiten