對於CD-RW刻錄機來說(以下簡稱刻錄機), Firmware(固件)是影響刻錄機性能的重要因素之一,例如刻錄機速度超頻、是否有Mount Rainier功能、開啟燒錄保護等等都與Firmware密不可分。如何刷寫Firmware搾干刻錄機的最後一點油水,一直是DIYer們津津樂道的話題。
現今的刻錄機幾乎都能升級Firmware,但並不意味著你就能夠刷得隨心所欲,這跟商家的售後服務有很大的關系。比如一些廠商的Firmware下載頁面從建立之初就沒有更新過;有的廠商提供了Firmware,但用專門的刷寫程序刷寫時有種種的限制:不同型號的機型不能互用,同型號的機型刷寫Firmware也只能升不能降等等;有的廠商不單獨提供Firmware文件而把Firmware和Flash程序合為一體,不是本系列的機型就拒不刷寫,讓你無可奈何。
廠商這麼做也許是為了避免用戶誤刷寫,造成不必要的維修成本。但其實很多同系列不同級別的刻錄機內部電路完全相同,這就使得我們對刻錄機進行超頻等改造完全成為了可能。比起超CPU、改顯卡來,看完本文後你會覺得刷寫Firmware也可以如此方便、簡單。
一、先利其器
由於大多數CD-RW刻錄機生產商使用的都是台灣MediaTek的芯片,所以要在講解前先向大家介紹一下MtkFlash和MtkWinFlash,這兩個MediaTek芯片刻錄機通用的刷寫程序。Tw.wINGwIT.Com有刷寫Firmware經驗的DIYer也許早已熟悉了,MtkFlash只能在DOS實模式下運行,用命令行參數控制刷寫和讀取Firmware十分簡捷,讀寫示例如下:
讀取:mtkflash 2 R /M backup.bin
刷寫:mtkflash 2 W update.bin
上面的數字2表示IDE主通道的從盤位置,讀寫時一定要弄清刻錄機所處的IDE位置。又如1表示IDE主通道的主盤位置,3表示IDE次通道的主盤位置,4表示IDE次通道的從盤位置。R表示讀取FlashROM,W表示寫入FlashROM,讀取時一定要加上/M指令,表示抓取整個FlashROM,不然只會得到個64KB的文件,正常的Firmware文件應為512KB。
而MtkWinFlash則是Windows下的刷寫程序,分驅動器模式和IDE模式來刷寫(如圖1),操作直觀在此就不再贅述了。此外,還需要的是UltraEdit32這個強大的十六進制、ASCII碼編輯器,下文會說明如何用它修改或剝離Firmware文件。
准備工作完成後就進入下一步操作。如果廠商單獨提供了Firmware文件,那麼大可拋開其原廠刷寫程序,按照上文使用MtkFlash或MtkWinFlash方便地刷寫;而對於把Firmware文件與Flash程序復合的廠商,如BenQ的刻錄機,想要跨機型刷寫那就得多費一番周折了。下面就分別詳述筆者摸索出的兩種解決方案(以BenQ刻錄機4824P-0XX刷寫為5224P-0XX為例)。
二、瞞天過海
細想一下,由於Flash程序在刷寫時會把當前刻錄機的版本號與所要升的Firmware版本號相比對,通過驗證是同型號的才執行刷寫。那麼我們可以這樣做,即把刻錄機的版本號改為Flash程序能通過的版本號,達到欺騙Flash程序的目的。接下來就需要弄清相關刻錄機的不同Firmware間的關系。
以BenQ刻錄機為例,Firmware版本號是用三位字母來表示,如4824P-0XX為D*C,5224P-0XX為K*C,一前一後不變的字母表明了機型,中間的字母隨版本數變動。又如4824P-0XX最新的Firmware為DUC,5224P-0XX最新的Firmware為KVC。現要做的工作是要把當前刻錄機Firmware由D*C變為K*C。我們知道每次更新Firmware後版本號都會發生相應的變化,即版本號信息一定就存在於Firmware中,所以把一個D*C的Firmware文件的版本號修改為K*C,再刷進當前刻錄機就達到了我們的目的。
話又說回來,一些廠商是沒有提供單獨的Firmware文件,那麼去哪裡找供修改的Firmware文件呢?其實刻錄機裡就有現成的。按照前文的方法用MtkFlash在DOS下讀取出Firmware文件保存為DUC.BIN,回到Windows下用UltraEdit32打開,細細查看前幾行就發現了CD-RW 48×24 D.UC這串字符(如圖2)。試著把D.UC改為K.UC,另存為KUC.BIN,再打開MtkWinFlash用IDE模式刷寫該修改過的Firmware文件。
幾十秒後按提示重啟PC,在Nero裡查看刻錄機的Firmware版本已變成了K.UC。然後去BenQ網站下載5224P-0XX最新的Firmware,解開後運行,順利地通過了校驗並升級成功,再次重啟後Nero裡的刻錄倍速在4×~52×之間可選,並且讀、寫碟片一切正常,至此刻錄機超頻大功告成。
三、抽絲剝繭
既然不少廠商的Firmware與Flash程序是合為一體的,那麼能不能把Firmware文件剝離出來單獨使用呢?我們知到Firmware文件的大小不論版本一定是512KB,這是由FlashROM的大小決定的。
如何把它給挖出來就還得要UltraEdit32出場。用UltraEdit32打開復合Flash程序,由於Firmware文件嵌在其中,所以要找到Firmware文件一頭一尾的特征字符串。經筆者反復比對Firmware文件總是以02 ** ** 02(十六進制)開頭,但僅憑這點來搜索會出現太多重復結果,因此可以先搜索K.UC再往前幾行找到02 ** ** 02的開頭(注意:不同的Firmware,這裡搜索的文字不同),用鼠標選定開頭後,下拉滾動條大約到4/5,按住Shift鍵用鼠標選定某一行,上下調整到UltraEdit32下端的狀態欄中的字節選定數為524288時(即512KB),把選定區域復制、另存為KUC.BIN(如圖3),用這個單獨的Firmware文件刷寫刻錄機後同樣一切正常,表明剝離成功。
四、起死回生
或許不少DIYer會擔心刷寫失敗,從而失去廠商的保修,不敢動手嘗試。的確刷寫Firmware存在風險,為寫本文筆者的刻錄機被刷寫測試過了多次,其中就有那麼一兩次不幸的經歷,但是如果有了100%的修復方法這服“後悔藥”,那風險幾率就是零了。
刷寫Firmware失敗的刻錄機加電後不能正工作,按托盤彈出鍵沒反應,Windows自檢也不能通過並進不了桌面。但可以用啟動盤進入DOS下,用MtkFlash按前文方法強行刷寫(注意MtkFlash和Firmware文件在同一目錄)。
不過既然有MtkWinFlash這個Windows下的刷寫程序,我們也能在Windows下修復。由於刻錄機接在IDE接口上可能無法進入Win2000/XP系統,所以需要把刻錄機的電源線和IDE線都拔掉,待PC啟動到桌面後,先插上刻錄機的IDE線再插上電源線(注意:避免損壞主板不能弄反順序)。接著系統檢測到了刻錄機,並且出現反應遲鈍的假死機現象,僅幾秒鐘後就正常了。運行MtkWinFlash,用IDE模式刷寫正確的Firmware,看著進度條一點點向前爬,比DOS下刷寫速度慢得多了,按提示重啟PC就聽見了刻錄機內正常光頭重置聲,讀碟、刻錄一切正常,重新灌裝“靈魂”後的刻錄機最終起死回生。
From:http://tw.wingwit.com/Article/Hardware/201309/2821.html