2011-05-15

更換手機的基頻 RADIO 版本

之前的幾篇改機文章,初看覺得很複雜很多名詞,像是 SPL (Second Program Loader, 類似 BIOS)、Recovery(復原用的開機印象檔)、ROM(一般稱作客製化韌體,就是主要操作手機的作業系統和軟體)等等,之所以有那麼多東西,是因為 Android 系統架構的彈性,讓這些分層負責的軟體都能獨立且分開升級,彼此之間有的會有關連性,刷壞了不起就是回到 fastboot 模式重刷就好,這也是為什麼人稱 HTC Magic 這隻手機是刷不壞的「神器」,是因為每個軟體模組都有人把它抽離出來,提供獨立升級和維護的能力。講到這除了一般軟體的部份,手機最重要的當然是講電話,Android 把負責控制無線網路和通話信號基頻模組 (Baseband Module) 的系統軟體也獨立出來,稱作通訊模組 (RADIO),一樣能單獨升級改版。一般官方正式的 OTA (Over-The-Air) 線上升級也套用類似的原理,廠商在升級檔裡只包入需要升級的部份,就能在對手機的最小影響下達到更新手機的目的。我的手機換客製化韌體之前,曾乖乖上到 HTC 最後一次提供的升級韌體(詳見此文),那次升級除了軟體部份,也一併將我的 RADIO 升級到 6.35.08.29,之後不管怎麼刷機改機,RADIO 模組都沒被動過。後來在論壇爬文的時候,某次得知 RADIO 有了新版,據說能修正通話品質和 3G 連線的問題,忍不住在某次刷機前順手就給換新了(拿新版 RADIO 檔在 fastboot 模式下做),至此我的 RADIO 就停留一直在 6.35.10.18 的版本。

之前也提過,Magic 的刷機界分作兩派:一派是 OR (Old Radio)、用舊版 3.22 的基頻和原廠 1.33 的 SPL 為基礎修改出來的韌體,以穩定為號召;另一派則是 NR (New Radio),用新版 6.35 的基頻和 1.76 的 SPL 為基礎來修改的韌體,目標是追求新功能和彈性。我從官方升級後到新版 RADIO 就再沒回去過,一直以來都是刷 NR 這派釋出的韌體,雖曾經心動、想換一下 OR 試試「敵營」的韌體看看,不過看到要換幾種底層的軟體模組怕麻煩就懶惰了。網路上雖有不少 DIY 升級降級的文章,想我總是「喜新厭舊」,所以就賴著 NR 都不曾嘗試。就在最近一直在玩 Android 2.3.3 的最新版韌體,突然看到又有新版的 RADIO 6.35.16.19 出現,正想 Google 一下如何升級的當下,誤打誤撞讓我找到能輕易更新 RADIO 的神器:RadioSwitchGUI(論壇上的原文在此,v4.1 的直接下載連結在此),依照說明重新開機進到 fastboot 模式(按著返回鍵、然後再按電源鍵開機),然後....用 GUI 按按鈕就能達到升級的目的,什麼下載新版軟體、下什麼命令都不用(因為都被包在一起),真是太簡單啦!用這個工具一下就升級到最新的 RADIO 了!

這個是 RadioSwitchGUI 的主畫面,很直覺,就是把所有功能和按鈕放在介面上,右邊則有操作的 Log 紀錄。

仔細看一下軟體介面,原來這個工具的目的其實不是單純用來升級 RADIO,顧名思義,該軟體內含了所有 OR 和 NR 切換所需的所有映像檔!此外裡面還放了 1.6.2 和 1.7.0 的 Recovery,依使用者需要可以替換,真是神奇豐富的好物啊!說穿了,也許背後一樣是呼叫 fastboot 來刷各種軟體模組,不過替使用者設計了方便操作的 UI,還封裝了所有所需的映像檔,這樣對要常切換 RADIO (OR <-> NR) 的刷機愛好者來說,真的是太方便了。

程式左上角區塊,直接提供替換成 OR (Old Radio) 或 NR (New Radio) 的整合功能(這是大工程,所以預設建議把系統 cache 一併清掉)

再下來提供分開刷特定模組的按鈕(包含 Radio, SPL 和 Recovery),點選按鈕先選擇需要的映像檔(IMGFiles 目錄下附了最新版本的檔案,以後有新版也可以自己複製進來後選擇),直接刷下去 (Flash) 就行了。

倒數第二個區塊有用過客製 Recovery 的人就知道,Recovery 裡面有備份整個 NAND 記憶體的功能(nandroid backup,類似 Ghost,備份手機的系統和軟體設定),這邊是提供你透過系統備份來還原的功能。最下面的 utility function 其實 Recovery 裡面都有,是用來清 cache和分割區以便重刷韌體時使用的,另外旁邊 Reboot & Shutdown 手機的按鈕應該很一目了然,也是方便刷完重開使用。本程式也提供 dump 系統版本的功能,相關資訊會顯示在右邊的 Log 區,像我刷完後最終的版本為:

Radio:6.35.16.19 + SPL: 1.76.2007,Security: off,表示我為 NR,S-OFF 的破解狀態,其實這些資訊 fastboot 後手機螢幕上也看得到,這裡表示該軟體的確能偵測當下的軟體模組版本。

開機完來檢查版本,到系統設定->關於手機->,檢查刷機完各個軟體模組的實際版本 (基頻版本 = RADIO = 6.35.16.19)

最後其實還是有一些使用上的注意事項。首先,你的手機一定要先被「整治」過(就是換過 Engineering SPL,狀態是 S-OFF,也就是有 Root 權限啦..),此外這玩意的介面是用 Java 寫的,執行的主程式 WinRun.bat 其實只是個呼叫 jar 檔的批次檔,因此系統裡一定要先裝有 Java 的 Runtime Environment (也就是 JRE,系統沒有的請到這裡下載安裝)。讓手機先進到 fastboot 模式(一樣要確定電腦裝置管理員有抓到手機裝置),執行 RadioSwitchGUI 解開後的 WinRun.bat,最後就是勇敢地刷下去,真是方便啦!不過我還是沒動力換 OR 改刷其他派韌體,只單純升級 RADIO 到最新版就好啦~

備註:以上的工具、軟體版本和映像檔僅供 HTC Magic 手機使用,實際上我的確有操作過,或許其他 Android 手機的架構原理大同小異,但千萬別貿然拿去直接刷非 Magic 的手機,後果自負啊!也別問我怎麼套到其他的手機上,問這類問題前可以先送我一隻該手機,我玩一陣子以後再回答你的問題~XD

回應: 5

強納森 提到...

abin大
請問你現在使用Magic的版本是?
我之前有更新到2.2(smoki),但是常常頓頓的,很lag的感覺
不確定是機器不夠力,還是說我刷的有問題
如果更新到新版會很lag嗎?

Abin 提到...

To 強納森:

我現在用的是 Android 2.3.3 (上面的圖就有),用的客製化韌體是 GBRider_Cronos_v2.1.0,網址在這:http://forum.xda-developers.com/showthread.php?t=953112,比起之前的 smoki 順很多。
做客製化韌體的人也都是用 magic 在實測,所以沒有夠不夠力的問題,會 lag 也有可能是軟體(ex. 桌面啟動器),可以換軟體環境試試。

D.C. 提到...

謝謝你這幾遍關於magic升級 及 各種相關軟件的教學,我的magic已順利升級到android 2.3.3。
謝謝<(_ _)>

Kevin 提到...

想請教您一個問題:
關於 Android手機 Radio 的部份.
我現在有一隻手機裡面的baseband韌體外面都找不到.
而我又需要把他備份出來裝到另一支手機去, 網路上找了很多資料都是
關於刷進去的, 有沒有辦法從手機的 flash rom 裡面把 radio.img 的部份抽出來.
我的想法是把整個 flash rom dump 出來, 然後找出 radio section 再切割.
不知道可不可行?
有沒有這方面的資訊?

匿名 提到...

abin大
你寫的很詳細~我也按照步驟做!
結果...........
當在第一個畫面"Hami"
可以救救我嗎?

張貼留言

歡迎留言或發表意見,不過要理性不做人身攻擊。匿名的朋友得到回應的速度會比較慢喔~
發問相關的禮貌和規矩請先參考這篇文章,不當留言、和本文無關的回應可能會被直接刪除無視喔!