Bài viết về Baseband - Bootloader - Firmware của iPhone

Thảo luận trong 'Hỏi Đáp & Chia Sẻ Kinh Nghiệm' bắt đầu bởi hoangle2610, 11 Tháng ba 2008.

  1. hoangle2610 Thành viên

    Sau một thời gian đọc một số chủ đề tôi vẫn chưa thấy đề cập nhiều về chủ đề này xin mạn phép các bác mở chủ đề này để anh em hiểu thêm về cái mà chúng ta nói lâu nay "baseband". Vậy baseband là zì ?

    Iphone giống như một máy tính sử dụng hệ điều hành MAC thu nhỏ trong đó có tích hợp một cái gọi là GSM modem. Cái mà ta gọi là baseband có thể gọi là phần mềm điều khiển cái modem GSM đó.

    Chúng ta thấy khi thực hiện unlock IP (chúng ta cư quan tâm nhiều đến unlock) nhưng thực chất nó có ba phần là Unlock, Jailbreak, Active vậy ý nghĩa của các phần này là zi`- Đó là tìm cách truy cập vào hệ điều hành (MAC) để có thể thực hiện các các thao tác đọc, ghi các files. Và cái quan trọng nhất đó là làm sao cho baseband của modem GSM có thể ghi đọc các thông tin trong SIM card không phải là của các nhà cung cấp mạng mà apple đã ký kết. Trên cơ sở đó mà có thể thực hiện được các cuộc gọi đi và nhận các cuộc gọi đến bao gồm cả các dịch vụ khác (SMS, GPRS, ..).

    Bài này tôi tổng hợp sau khi đọc các thông tin trên mạng. Vậy kính mong các pác góp ý và để chúng ta cùng trở thành "chính quả" .
  2. hoangle2610

    hoangle2610 Thành viên

    Bài viết:
    23
    Được Like:
    16
    Bootloader, Firmware là gì ?

    Nhân tiện đây xin được nói luôn :

    Trong bất kỳ một một máy tính mà chúng ta sử dụng luôn có hai phần đó là Bootloader và Operating system -OS (cái mà chúng ta hay gọi là windows đó). và IP cũng là một cái máy tính :)
    Boot loader có nhiệm vụ kiểm tra hệ thống và load các phần liên quan đến OS lên các chip điều khiển khi ta thực hiện bật máy lên.
    OS - có nhiệm vụ quản lý các ứng dụng được cung cấp trên nền OS. Đó chính là Firmware của IP.

    Bootloader chính là một phần mềm điều khiển rất nhỏ được tích hợp trong FEROM để khi bật máy lên chưa có gì cả thì bootloader có nhiệm vụ kiểm tra trạng thái toàn bộ phần cứng, tải các ứng dụng, khởi động các service lên các chip liên quan -- >FW của IP được start up.

    :) Có zi` sai mong các pác chỉ giáo.
    thieuhc, nipanguyen, newbie and 4 others like this.
  3. Dtube

    Dtube Administrator

    Bài viết:
    6,762
    Được Like:
    9,333
    Bài viết của Hoangle2610 tạo ra nhiều cảm hứng và cũng rất quan trong. Đây là một bài chính tôi cũng muốn đề cập đến nhiều lần nhưng vì bận và làm biếng. Sẵn có chủ đề ở đây tôi xin đóng góp ý kiến vào chung để cho anh em đọc. Vì tôi muốn giải thích tường tận, vì thế khi đọc có thể là hơi rắt rối, quanh co nên anh em bỏ qua cho.


    Những danh từ quan trọng trong bài viết này mà minh cần quen thuộc và hiểu là:


    Bootloader - BL - phần boot của con chip.
    Baseband - BB - cái modem / con communication chip.
    Firmware - FW - phần mềm của con chip.
    Secpack - là cái chìa khóa để mình có thể upload/write firmware vào BB - Đây là giải thích vắn tắt nhất mà tôi có thể nghỉ ra. Muốn hiểu thêm, các bạn có thể đọc ở đây http://code.google.com/p/iphone-elite/wiki/SecpackAuthentication

    Unlock - giải mã cái baseband FW (modem FW) của iphone để nó có thể nhận tín hiệu và đăng ký IMEI của phone với mọi GSM provider

    Trên iPhone, mình hay nói đến firmware và bootloader. Nhân dịp này, tôi xin nói thêm là trên iPhone có 2 phần firmware và 2 phần bootloader. Đúng vậy và đừng ngạc nhiên. Tại sao lại là như vậy?


    - Trên iPhone có 2 con chip quan trọng:


    A) ARM core processor: con này thì chạy Operating System (Darwin) và phần application bootloader nằm trong flash memory

    B) Infineon processor (S-Gold): còn này thì quản lý baseband, có phần bootloader và phần mềm chính là baseband firmware

    Các bạn cũng có thể nghỉ như thế này cho dễ hiểu (tàm tạm như vậy )

    A) Intel CPU - Operating system = Windows XP/Vista - Bootloader == boot sector ở trên đĩa cứng (hard disk)

    B) PC ROM BIOS (cũng có boot loader) và firmware == BIOS Flash file

    ----------------------------------------------------------------------------------------



    1. Khác biệt giữa BL 4.6 và 3.9

    Cái BB của iphone nằm trên một con chip (Infineon - dân hacker cũng gọi là S-Gold). Trên con chip naỳ có 2 phần: một là bootloader và phần kia là chỗ chứa firmware (code).

    Trên những iphone đời trước (OTB 1.0.x, 1.1.1), phần BL là version 3.9
    Trên những iphone đời sau và đến hiện tại (OTB 1.1.2, 1.1.3 và 1.1.4), phần BL là version 4.6

    Tại sao phần bootloader này lại quan trọng và được đề cập rất nhiều trong những thời gian gần đây?.

    1a) Với BL 4.6 Apple thay đổi cái format của secpacks. Vì thế những secpacks cũ (cũ hơn 1.1.3) sẽ không có giá trị (validate) với 4.6 BL. 1.1.3 secpacks chỉ giá trị trên 4.6 BL mà thôi.

    1b) BL 4.6 cần phải có secpack mới hơn để mình có thể đụng chạm đến baseband (thí dụ như baseband của 1.1.2 / 02.02.13_G cần secpack của 1.1.3) ***

    1c) Một điều kiện rất là quan trọng với BL 4.6 là nó sẽ kiểm tra toàn thể hết tất cả BB fỉmware (signature check) bắt đầu từ FW 1.1.3 trở lên. 1.1.2 BB fỉmware trở xuống, chỉ kiểm tra 1 signature mà thôi.

    1d) Bootloader cũ, 3.9 không có phần kiểm tra kiểu này, nó chỉ kiểm tra một signature. Và vì thế mình có thể viết (write operation) bất cứ fỉmware nào cũng được. Và BL 3.9 chỉ cần secpack cùng version với baseband hoặc mới hơn. (Thí dụ như baseband 1.1.2 / 04.02.13_G thì dùng secpack của 1.1.2 cũng được).

    ----------------------------------------------------------------------------------------



    2. Tại sao phần bootloader kiểm tra code mắc mớ gì đến unlock?

    Khi mình unlock, thì có nghĩa là mình đã lấy cái BB fỉmware, sửa đổi nó (giải mã) và viết trở lại vào chỗ chứa (write update).

    2a) Viết trở lại trên chip có BL 3.9 thì OK tại vì nó không cần secpack mới hơn (1c) và nó chỉ kiểm tra 1 signature)

    2b) Viết trở lại trên chip có BL 4.6 thì không được tại vì 1c ở trên.

    ----------------------------------------------------------------------------------------


    3. Liên quan đến ZiPhone.

    Đọc đến đây thì hy vọng các bạn đã hiểu và đoán được lý do tại sao iPlus và ZiPhone có chức năng đưa BL xuống (BL downgrade).

    Tôi đưa những ví dụ thực tế:
    3a) Các bạn còn nhớ với OTB 1.1.3, mình có thể unlock mà không bắt buộc đưa BL 4.6 xuống tại vì sau khi unlock các bạn có thể kiểm tra va sẽ thấy là BB là 04.02.13_G (1.1.2) chứ không phải là 04.13.13_G. Trường hợp này tôi hay gọi là "hybrid mode", tại vì OS là 1.1.3 và baseband là 1.1.2 (google locate không chạy). Tại sao không là 1.1.3 BB? Tại vì lý do 1c) ở trên.

    3b) Muốn OTB 1.1.3 với 1.1.3 unlock baseband thì phải đưa bootloader 4.6 xuống 3.9 tại vì 1d) và 2a)

    ----------------------------------------------------------------------------------------


    4. Liên quan đến iPlus và ZiPhone

    Khi 1.1.4 được phát hành thì tại sao ZiPhone lúc này lai bắt buộc phải đưa BL 4.6 xuống 3.9 chứ không như phần 3a) ở trên?

    4a) thứ nhất là cần phải có secpack mới hơn (1.1.5) - lý do 1b) và 1c) ở trên

    Còn đối với iPlus thì cũng vậy, nhưng đặc biệt là nó đưa BL 4.6 xuống 3.9FB (fakeblank)

    ----------------------------------------------------------------------------------------


    5. Khác nhau giữa BL 3.9 và BL 3.9FB

    Dùng 3.9FB thì mình có thể đi về trở lại 4.6 hoặc 4.6FB bằng cách sử dụng phần mềm hiện nay
    (tôi sẽ viết thêm cách làm sau)

    Dùng 3.9 thì không dùng phần mềm để đưa về 4.6, chỉ có cách là tháo phone ra mà thôi.

    ----------------------------------------------------------------------------------------


    6. BL 4.6FB là cái gì và tôi có cần không?

    BL 4.6FB lúc này chỉ là "proof of concept" và thật ra mình cũng chưa cần đến vì từ đây những hackers, programmers có thể viết ra một "custom" bootloader mà không có "signature check". Khi mà không có signature check thì tha hồ mà chạy baseband 1.1.3, 1.1.4 .....

    ----------------------------------------------------------------------------------------

    Xin tạm ngưng ở đây. Mỏi tay quá. Tôi sẽ viết thêm và bổ túc thêm sau....
    Immb, trung dung, zI. and 38 others like this.
  4. cautran84

    cautran84 Thành viên

    Bài viết:
    4
    Được Like:
    0
    :-ssBùn was bác ạh!
    trước khi em đăng nhập vào room này thì em đã xài Ziphone quá nhìu rùi!Vậy chắc chắn là máy em đã bị down xuống Bl3.9 rùi còn gì!
    Có cách nào để kiểm tra xem BL của mình đã bị down xuống còn 3.9 ko?Ko còn cách nào khác để up trở lại 4.3 àh?
    Và nếu như em cứ để Bl3.9 thì có ảnh hưởng gì nhìu tới việc cài đặt và xài các ứng dụng ko vậy?
    rất mong bác chỉ bảo thêm!
    Nếu rảnh rỗi bác gửi tin nhắn luôn cho em thì ko còn gì bằng ah!
    Em cảm ơn bác trước
  5. ChinhLV

    ChinhLV Ex-Admin

    Bài viết:
    792
    Được Like:
    947
    Có gì đâu mà bùn. Bl3.9 xài vẫn Ok vậy mà. Có điều sẽ khó khăn khi muốn up lên FW2.0 với BL3.9.

    Bạn hãy cài BootNeuter ở source http://Installer.iClarified.com sẽ biết BL3.9 hay là 3.9FB. Và bạn muốn nâng lên, hạ xuống gì cũng được.

    Ngày 11/3/2008 thì việc lên xuống cái BL nó khó vậy, h thì dễ rồi.
    vtt2832002, lamdacthanh and vinhyen like this.
  6. Dtube

    Dtube Administrator

    Bài viết:
    6,762
    Được Like:
    9,333
    Không sao cả. FW 2.0 sẽ chạy trên iPhone đời trước.
    Bạn nên theo dõi tin tức trong forum GSM. Tôi sẽ đăng tải tin tức...
    Vui lên đi :>
  7. demonster

    demonster Thành viên

    Bài viết:
    1
    Được Like:
    0
    Xin Chào Mod!

    Vấn đề của mình đang gặp phải là không thể flash baseband trên mọi Firmware từ 1.0.2 - 1.1.4.

    Trong những lần Restore lại 1 Firmware khác itune luôn đứng ở phần "Restoring iPhone firmware". Sau khoản thời gian 1-2 tiếng đồng hồ thì báo error 1011,1012,...

    Lúc iPhone chưa jailbreak, active va unlock thì mình check thử IMEI và ICCID thì đều thấy là "unknow".

    Sau đó mình dùng iLiberty+ 1.2.1.78 rồi 1.3.0.113, tất cả đều jailbreak, active và unlock đều được. Vào phần Setting thì No wifi, Bluetooth thì "unavailable". Nói chung tất cả các thông tin có liên quan đến Baseband đều không có.

    Mình đã thử đưa về 1.0.2 để Revirginize. Trong quá trình dùng lệnh "bbupdater -f *.fls -e *.eep" máy cứ chạy đi chạy lại không dừng (để bao lâu thì chạy bấy lâu).

    Dùng BootNeuter thì cũng không thể Flash lại baseband được và báo lỗi "Error -512"

    Theo mình nghĩ thì baseband có thể xóa được ( dùng iErase OK ) nhưng không thể Flash lại với baseband mới (mọi version).

    Mong mod và các bạn giúp. Xin chân thành cảm ơn!!!
  8. kachiusa_109

    kachiusa_109 Thành viên

    Bài viết:
    394
    Được Like:
    120
    Alô, vấn đề mà mọi người đang bàn luận sôi nổi ở đây có liên quan gì đến cái No wifi (Wifi bị xám) không nhỉ? Mình có đọc được một bài nói đến việc sửa cái wifi bị xám, nhưng trong đó có mấy từ nâng lên hạ xuống BB, BL gì gì đó không hiểu lắm, nhờ bài này có hiểu thêm tí chút.
  9. lovebiby

    lovebiby Thành viên

    Bài viết:
    13
    Được Like:
    0
    Mình cũng đang bị tình trạng giống như bạn,giờ vẫn chưa tìm được cách cứu IP của mình
  10. Dtube

    Dtube Administrator

    Bài viết:
    6,762
    Được Like:
    9,333
    Lỗi 1011 từ iphone/itunes là rất nặng.
    Lỗi wifi bị xám cũng là rất nặng.
    Hầu như là không thể dùng software để sửa.
    Cách duy nhất là đem ra cửa hàng tin tưởng để họ tháo máy ra và thay/sửa phần cứng bên trong máy.