02/12/11

Tutorial - SEMC Engineering

Baseband on EMP (Ericsson Mobile Platform) is classified into two groups.
Analog Baseband (AB) and Digital Baseband (DB).
Both baseband has duties and functions of each.
Analog baseband, as the name suggests,
charge of data processing through the integration of analog ADC (Analog to Digital Converter)
and DAC (Digital to Analog Converter) that reside therein.

At another function, Analog Baseband also serves as power management, interface (interface) simcard,
Audio Codec & Amplifier (mic, earphone, loudspeaker), the management of LED lighting systems, vibrators, and the interface UART / USB.

On newer platforms, such as AB3100 also be integrated for the benefit of programming EPROM OTP IMEI.
SEMC internal circles refer to the analog baseband with each password. As Vincenne (AB2011), Vincenne2 (AB2012) and Vera (AB3100).
While among practitioners shorter calls as IC power alone.

A2 write IMEI with SETool, the world's first posting to the public, people ndeso from Indonesia. CLICK HERE
At that time I had sent cables to test and testimony from one of the manufacturers of the famous couple, I did not do. I use a homemade cable.




 OK, back to topic:
Digital Baseband in the grade on each platform in the order A0, A1, A2, maybe we will see later editions A3 and so on? Apparently not (missed 2011 - a large migration to S1/TI/QUALCOMM)

examples of concept phones A2:

 
 image property of Ericsson
Besides revamping the system and the protection code, the newer baseband certainly more full implementation of advanced features.
Apart from the processor core itself (MCU), there is also the controlling functions such as human interface for the keypad and LCD controller,DSP subsytem for network management, memory controller for flash ic and ram, I / O interface controller for the benefit of GPS, WLAN, bluetooth, infra red, and many more functions and features some of the other implementations.Internal naming also is owned by the digital baseband as Marita (DB201x), Marika (DB2020), and Anja (DB3150).

POWER UP!
At the first time in turn on the phone (push the power ON), after gaining power from the power IC, MCU will immediately initiate to execute a small program stored in ROM. This process is known as the boot rom. Please note, the MCU and the ROM in question here are in one package (CPU). Next boot rom will perform in the initiation EROM Flash IC.Process travel program of the MCU ROM code to EROM known as the boot loader. Up here, it's happened three processes in order of ritual power up. Ignition> rom Boot> Boot loader> EROM. To note, that the ROM has a checksum calculated by the security dynamic in GDFS.So when the pair following the former IC flash GDFS backup file though, it will end up with an invalid simlock status, with an indication of 5 images to test the key which closes the menu, or a signature that resulted in the failure of fixed phone in dead condition. This is because the parameters simlock on GDFS backup files that have are identical to the ROM of the CPU previous phones. Need to do a full gdfs rebuild operation to make it work properly.EROM function similar to the function of the BIOS on the computer. He set the initial tasks that must be done by the CPU. Summary of work in process EROM power up as follows:»A EROM do Initiation Hardware: EROM run like all the processes that have been mentioned above, including checking the voltage parameters. When the process is detected voltage primary power source (battery) is not sufficient size parameter requirements lowest voltage limit, it will provide the sign berkedipnya signal low battery indicator light. If all okay, NEXT ...»B EROM do GDFS initiation, and conduct security checks simlock status. Sometimes when the area is corrupt, power-up process is also not on the move, and signals a low battery light berkedipnya with a different rhythm of blinking interval of the signal above the low battery. On other platforms, he just quit and not continue the cycle of powering. In fact, the PNX5230 platform, when the area is corrupt, he will instruct the CPU to shut down service command pin! This is why there is no solution for the case of corrupted security / Damaged in PNX5230 platforms.If all okay, NEXT ...»C If the service pin is detected (UART) and USB follows a specific button on the push, the phone will enter the phase of the command loop - tertenagai in programming mode.»D If the service pin is detected, will check the status EROM FOTA update and run it if necessary. Next ...»E Last, run the firmware and do the loading of all its hardware drivers. If all okay, Powered ON!

 

 Kenapa pada beberapa kasus, misalnya ponsel dengan layar blank terdeteksi sebagai K700 saat di identifikasi dengan program flasher?

K700 adalah generasi pertama ponsel dengan platform DB2xxx. Nama string K700 ini tersimpan pada area file system sebagai parameter default GDFS template. Metode ini di terapkan secara konstan oleh SEMC pada platform berikutnya.
Lebih detail lagi, tambahan pada proses power up di atas,
E0 » EROM terlebih dahulu melakukan loading default template dari file system ke GDFS ( dengan string name K700).
E1 » EROM melakukan inisiasi fota update (bila perlu), berikut inisiasi driver hardware seperti display, camera, radio, dsb.
E2 » Setelah semua proses inisiasi telah berhasil dilalui dengan baik, barulah ia menuliskan versi ORIGINAL GDFS – phone type, berikut versi firmware yang di miliki. Semua informasi ini bersumber dari main firmware.
E last » Menyala Sepenuhnya

Dan bila karena suatu hal, proses berhenti sebelum tahap E1 berakhir, maka informasi default template yang tersedia pada file system akan tetap berada di parameter GDFS, dengan string phone type sebagai K700.


Question
Kenapa setelah menuliskan script CID update tidak ada perubahan sama sekali setelah mencoba di identifikasi ?
Answer
Silakan di tengok kembali tentang ritual power up pada tahap » D. Sekedar pencet tombol power on dan tunggu beberapa detik agar erom mengeksekusi dirinya menjalankan script perintah update.

Question
Setelah flashing selesai, kenapa versi firmware tidak berubah sesuai dengan versi file yang di programkan pada saat di lakukan identikfikasi?
Answer
Sabar, berikan waktu kepada ponsel untuk mengupdate informasi GDFS dengan sekedar menghidupkannya. Karena sebelum proses E2 berakhir, parameter GDFS adalah semu dan tidak akurat.

Tentang EROM
EROM
Dari uraian di atas, telah kita ketahui bahwa boot rom berada di dalam IC CPU, sedangkan untuk EROM berada di dalam IC FLASH.
Ada 3 kategori status EROM pada EMP. Factory, Research & Development, dan Retail.
Ketiganya di wakilkan oleh sebutan warna. Identifikasinya adalah Blue untuk Factory, Brown untuk Research & Development, dan Red untuk Retail. Pewarnaan ini juga di sebut sebagai “DOMAIN”.

Pada kondisi domain Blue dan Brown, pemodifikasian daerah keamanan masih bisa di lakukan dengan mudah, tanpa butuh program dengan flash loader canggih.
Pembacaan file (read, *****) juga bisa dilakukan pada domain ini dengan gampang. Lain halnya bila ia dalam status Red, semua kemudahan akses security pada domain Blue dan Brown sudah di tiadakan.

Red EROM terproteksi dengan sistem pengamanan yang sangat kompleks. Proteksi tersebut di kenal sebagai kunci otentikasi KIDP96, sehingga untuk melakukan modifikasi kepadanya di perlukan akses maupun metode tersendiri.

Akses khusus yang di maksud adalah sebuah program, sebut saja flasher, yang memiliki kunci otentikasi (auth key) flash loader.
Contoh program pihak di luar SEMC yang memiliki program akses penuh terhadap pemodifikasian EROM adalah produk Cruiser Ultimate Unlocker (1st in the world). Sedangkan untuk metode khusus, yang sempat marak adalah dengan cara melakukan test point pada titik tertentu (solusi ini pertama di perkenalkan oleh Dreambox).
Metode terakhir dan paling ekstrim adalah melepaskan IC flash tersebut, untuk kemudian melakukan pemrograman secara independen melalui external flash programmer dengan menuliskan data EROM berstatus BROWN.

Belakangan SETool telah memiliki akses tersebut. RESET LOADER - demikian the_laser menyebutnya. Ponsel akan kembali pada domain BROWN dengan default CID yang di dukungnya setelah operasi ini.

Telah di bahas sebelumnya, bahwa EROM EMP dirancang untuk melakukan multi stage security check, test keamanan secara berlapis-lapis sebelum mengeksekusi perintah menghidupkan ponsel. Bila ada suatu kesalahan dalam proses validasi security ,
maka power up sequence tidak di lanjutkan.
Ada kalanya ia akan menampilkan pesan pertanda melalui berkedip-kedipnya lampu indikator power layaknya ponsel kehabisan batere, yang lebih populer dengan sebutan “RED BLINK”.
Hal ini biasa di akibatkan oleh parameter security GDFS yang tidak valid, seperti kasus IMEI MISSMATCH dan mungkin juga rusaknya data GDFS atau korupnya area EROM itu sendiri.
Terkadang ditemui pula area EROM rusak dengan sendirinya tanpa alasan yang jelas.

Disamping status warna, ada satu hal lagi yang melekat pada EROM berhubungan dengan tingkat security, yaitu CID (Customer Identity number). Pihak SEMC sering kali melakukan update berkala pada area ini.
Angka yang semakin tinggi, menunjukkan revisi EROM dari bugs pada versi sebelumnya dan perbaikan dengan tingkat keamanan yang semakin baik.
Beda CID, berbeda pula pemakain flash loader dari flasher yang di gunakan. CID pada generasi yang lain di sebut sebagai AID, contohnya pada platform ODM dan PDA baru.

CID ada dua macam, satu di sebut OTP (One Time Programmable) CID dan satunya lagi di sebut FLASH CID.
Flash CID inilah yang bisa di ubah-ubah, baik upgrade, downgrade maupun di koneversi status domainnya.
Sedangakan OTP CID, dituliskan secara bersamaan dengan OTP IMEI saat chip dengan empty OTP di program. Proses penulisan OTP disebut juga dengan proses empty fill ataupun empty board programming.
Tentang OTP chip, seperti sebutannya “one time”. Pemodifikasan setelahnya adalah mustahil di lakukan, karena arsitektur dari ic tersebut memang di rancang demikian, dan ini adalah sebuah fitur dari chip tersebut. Segala sesuatu yang sudah tertulis di dalam OTP, tidak bisa di hapus lagi.

EROM Repair / Konversi EROM
EROM Repair / Konversi EROM
Ada beberapa cara untuk memperbaiki area erom yang telah rusak maupun melakukan konversi flash CID.
Pada ponsel generasi ARM yang lebih awal, seperti J300, K300, K700, dan sebagainya, masih bisa menggunakan tombol Recovery dengan sekali pencet.
Program akan mencari tahu informasi default yang berada di IC flash, dan akan menuliskan default template dari flasher pula,
metode yang lebih di kenal dengan flash recovery image sesuai informasi OTP yang di perolehnya.

Ada beberapa kasus EROM cukup sulit di perbaiki.
Cara klasik yang cukup efektif, contohnya adalah dengan menggunakan metode TEST POINT. Prinsipnya sederhana saja.
Tegangan yang mencatu ic flash, di tiadakan dengan cara menghubungkannya ke Ground. Proses pengosongan tegangan di lakukan sebelum prosesor menginisiasi boot rom untuk mengakses EROM.
Otomatis, semua proteksi dari erom lumpuh total. Sehingga saat flasher hendak mengkases boot loader, ia tidak bisa mendeteksi keberadaan IC flash yang terpasang.
saat inilah di masukkan custom loader dari sang flasher.

Di sini, program akan memerintahkan operator (anda) untuk segera melepaskan test point,
sehingga ic flash kembali mendapatkan catu daya, dan EROM repair pun bisa dilanjutkan dengan sempurna.

Di generasi yang lebih baru, DB2012 Marita Respin Dan DB2020, ada dua langkah proses test point.
Cara ini tidak lagi menggunakan metode pengosongan tegangan ic flash, namun justru sebaliknya.
Ia memberikan suntikan tegangan interupsi yang seharusnya telah kosong menjadi tetap tersuplai.
Proses pertama adalah interupsi pada reset tegangan boot loader untuk memasukkan bypass loader,
dan proses kedua adalah pemrograman “custom boot loader” sekaligus pemrograman area EROM dengan domain BROWN.

Namun kini semenjak hadirnya RESET LOADER pada SETool,
semua tantangan menarik tersebut telah di tiadakan dan berakhir pada versi 040.
Tentang kesaktian fitur repair erom canggih itu, tidak peduli apapun platformnya, berapa CID nya,
semua proses test point rumit tersebut tergantikan dengan tombol sekali pencet : Recovery via Signed Mode.

Kecuali senang bereksperimen dan berekplorasi, adalah hal yang membanggakan bisa menguasai metode EROM repair via test point,
meskipun dari pandangan yang lain hal itu adalah membuang waktu saja.

Perbaikan erom pada semua ponsel berbasis A1 dan semua kategori digital base band yang ada di dalamnya:
DB2000, DB2010, DB2012, DB2020, DB2030 dan DB2001 PDA di kenal dengan operasi RESET PROCEDURE.
Pada DB2000 dan DB201x flash CID secara default akan di konversi ke BROWN CID51.
Untuk DB2020 / DB2030 dan DB2001 PDA akan di konversi ke BROWN CID49.

Maka setelahnya, yang perlu di perhatikan adalah tentang hasil akhir CID dari file erom yang hendak di programkan ke dalam ponsel.
Flash CID tidah boleh lebih rendah dari OTP CID. Meskipun begitu, perhatikan pula antara ketersediaan CID firmware dan CID hasil akhir dari pemrograman EROM.
Akan merepotkan di kemudian hari bila hanya tersedia firmware yang memiliki dukungan pada CID50 sedangkan hasi akhir erom pada ponsel adalah CID53.

Pada generasi A2, EROM lebih familiar di sebut sebagai SEMC Boot. Erom recovery pada generasi A2 bisa dilakukan dengan sekali klik melalui tombol “Unlock/Repair”.
Semua file yang akan di programkan untuk tujuan operasi dengan target SEMC Boot telah di atur oleh internal program SETool.
Harap di garis bawahi, upgrade-downgrade CID pada generasi A2 tidak bisa di lakukan, ponsel A2 hanya mendukung operasi Convert CID.
Dead end: CID di atas 53

Tidak ada konversi EROM pada ponsel dengan basis S1. Indikasi EROM yang rusak pada platform ini salah satunya adalah ponsel tidak bisa di kenali (Identify) oleh program.
Operasi perbaikan hanya bisa di lakukan melalui interface UART (kabel COM) dengan aturan flash loader tersendiri.


GSM Engineering Project 2010 - gbluez

- Exploit development and vulnerability assessment
- Reverse engineering (Software, Protocols, Hardware)
- Data analysis and visualization
- Physical security countermeasures
- Hardware Knowledge , Design and Engineering
author!  Oryginal Post

0 komentar: