Tuesday 12 April 2016

Mediatek Device အမ်ားစုမွာျဖစ္တတ္တဲ့ Firmware ေရးၿပီး LCD ေဖြးသြားတာကို ေျဖရွင္းၾကမယ္

ဒီနည္းလမ္းကိုေတာ့ MTK Device အကုန္လံုးနီးနီးမွာသံုးလို႔ရပါတယ္။ ဒီဟာနဲ႔ Fix လုပ္ေတာ့မယ္ဆိုရင္ တင္မယ့္ Firmware ေလးကို အရင္ဆြဲထားလိုက္ပါဦး။
ဒီျပသနာႀကံဳလာရရင္ အမ်ားစုက
၁။ အေကာင္းတစ္လံုးက Readback ထုတ္ၿပီး ျပန္ေရးတာ
၂။ ကိုက္တဲ့ Firmware ကို ပိုက္ပိုက္ေပးၿပီး လိုက္၀ယ္တာ
၃။ LCD လဲၾကည္႔ၿပီးေတာ့ ေျဖရွင္းတာ မ်ိဳးကိုပဲ လုပ္တတ္ၾကပါတယ္။
ဒီျပသနာက ဘာေၾကာင့္ျဖစ္ရသလဲ ေလ့လာၾကည္႔လိုက္ေတာ့ Linux Kernel က LCD Driver မကိုက္တာေၾကာင့္လို႔ဆိုပါတယ္။ Kernel လား MTK ဖုန္းေတြမွာ uboot ေပါ့ဗ်ာ။ တစ္ခါတစ္ေလမွာလည္း driver ရိွပါလ်က္နဲ႔ အဲဒီ Driver ကို load လုပ္မယ့္ configuration ဖိုင္ေတြဒုကၡေပးတာေၾကာင့္လည္း ဒီျပသနာ ေပၚရပါတယ္။
ဒီ Post ကိုမေရးခင္ Internet မွာေလွ်ာက္ရွာၾကည္႔ေတာ့ တိက်တဲ့နည္းလမ္း မေတြ႕ဘူးဗ်။ ကၽြန္ေတာ္လည္း စဥ္းစားရင္း စဥ္းစားရင္း ဒီနည္းလမ္းကိုေတြ႕သြားတာ။ ဆရာသမားတခ်ိဳ႕က လုပ္လို႔ရတယ္လို႔ ဆိုၾကေပမယ့္ ဘယ္လို လုပ္သလဲလို႔ ေမးလိုက္ရင္ေတာ့ ျမန္မာနည္းပညာသမားပီသစြာနဲ႔ မေျပာၾကဘူးဗ်ား။ ဒီေတာ့ ဒီထက္ေကာင္းတဲ့နည္းလမ္းရိွရင္ ရိွပါလိမ့္မယ္။ ကၽြန္ေတာ္ေတာ့မသိဘူး။ ဒီနည္းလမ္းကေတာ့ ကၽြန္ေတာ္ကိုယ္တိုင္ စမ္းလုပ္ၾကည္႔လို႔ OK ေနတဲ့ နည္းလမ္းတစ္ခုပဲျဖစ္ပါတယ္။
ဒီနည္းလမ္းကေတာ့ Firmware အျပင္ ဘာမွမလိုပါဘူး။ Box လည္းသံုးစရာမလိုပါဘူး။ စဥ္းစားတတ္တဲ့ စိတ္ေလးနည္းနည္းနဲ႔
အပင္ပန္းခံႏိုင္ဖို႔ပဲလိုပါတယ္။ လိုအပ္ရင္ေတာ့ bootloader unlock လုပ္ထားပါ။ မလုပ္ထားရင္ Power ေသတတ္တယ္။
ၿပီးရင္စမယ္။
၁။ Firmware မေရးခင္မွာ Phone ကို Readback ထုတ္ၿပီး Backup အရင္လုပ္ေပးလိုက္ပါ။ ဖုန္းပြင့္ေသးတဲ့ အေနအထားမွာ Root ရိွခဲ့မယ္ဆိုရင္ MTKDroidTools နဲ႔ Backup လုပ္ႏိုင္ပါတယ္။
တကယ္လို႔ Root မရိွရင္လည္း SP FlashTool ကို သံုးၿပီးေတာ့ Read Back ထုတ္ႏိုင္ပါတယ္။ အဲေတာ့ ေမးၾကေတာ့မယ္ထင္တယ္ ခင္ဗ်ားဗ်ာ။ Phone မပြင့္လို႔ ScatterFile ထုတ္လို႔မရတာကို ဘယ္လို Readback ထုတ္ မတုန္း။ ေစာေစာက Firmware ဆြဲထားတယ္ေလ။ အဲဒီအထဲက ScatterFile ယူေပါ့။ Readback လုပ္မယ္ဆိုရင္ Full Readback ျဖစ္ဖို႔လိုပါတယ္။
၂။ Full Readback လုပ္ဖို႔အတြက္ Scatter File ကို Notepad ++ နဲ႔ဖြင့္ၿပီးေတာ့ file_name: NONE ျဖစ္ေနတဲ့ေနရာတိုင္းမွာ ကိုယ္ႀကိဳက္တဲ့နာမည္တစ္ခုခုထည္႔ေရးေပးပါ။ ၿပီးရင္ is_download မွာ false ကို true ေျပာင္းၿပီး Save မွတ္ OK။ ဒါေပမယ့္ userdata ေအာက္က partition ေတြကုိေတာ့ readback မွာယူဖို႔မလုိဘူးဗ်ား။ ယူခ်င္ယူမယူခ်င္ေန။ OK။ ခင္ဗ်ားဗ်ာ မေကာင္းတဲ့ ဖုန္းက Firmware ကို ဘာလုပ္ဖို႔တုန္း၊ Power မလာဘူး။ Virus ေတြနဲ႔ Wifi မရတာနဲ႔။ ဘာလုပ္ဖို႔ Readback လုပ္ခိုင္းသလဲဆို လာပါလိမ့္မယ္။
၃။ အဲဒီလို Read back လုပ္ၿပီးရင္ေတာ့ ရလာတဲ့ Firmware ကို ေသခ်ာသိမ္းထား။ ၿပီး အသစ္ဆြဲထားတဲ့ Firmware ကိုျပန္တင္ၾကည္႔ေပါ့ဗ်။ ဘာမွျပသနာမရိွဘူး။ အားလံုး OK တယ္ဆိုရင္ ဘာမွ လုပ္ဖို႔မလိုေတာ့ဘူး။ ၿပီးၿပီ။
၄။ ဟီး Firmware လည္းတင္လိုက္ေရာ ငါ့ Screen ႀကီးေဖြးသြားပါလား။ အနက္ေရာင္ေလးျဖစ္သြားပါလား၊ အေရာင္စံုေတြေပၚလာပါလား။ အသံမထြက္ေတာ့ပါလား။ စသျဖင့္ လားေတြမ်ားလာၿပီဆုိရင္ ေျဖရွင္းဖို႔လိုအပ္လာမွာျဖစ္ပါတယ္။
၅။ ဒီေတာ့ Read back ထုတ္ထားတဲ့ Firmware နဲ႔ Download လုပ္ထားတဲ့ Firmware ႏွစ္ခုလံုးရဲ႕ Folder ေတြကို ဖြင့္ဗ်ာ။ မွားမယ္ဗ်ေနာ။ သတိထား။ ၿပီးရင္ Download ဆြဲထားတဲ့ Firmware Folder ထဲက system.img ရယ္ boot.img ရယ္၊ recovery.img ရယ္ကို (လုိအပ္မွပါ မလိုအပ္ရင္ system.img တစ္ဖိုင္တည္းနဲ႔ ရတယ္) Readback လုပ္ထားတဲ့ Firmware ထဲကိုထည္႔လိုက္။ မထည္႔ခင္ Readback လုပ္ထားတဲ့ Firmware ကုိ Copy တစ္ခုပြားထား။ လိုလိုမယ္မယ္။ file ရိွၿပီးသားလို႔ Prompt ေပးလာရင္ Overwrite လုပ္လိုက္ေပါ့။ တကယ္လို႔ Readback လုပ္ထားတဲ့ Firmware က ပါ၀ါမတက္တဲ့ ဖုန္းကယူထားတာဆိုရင္ preloader.bin ကိုပဲထည္႔ကူးလိုက္။ ၿပီးရင္ ရလာတဲ့ စုေပါင္းစပ္ေပါင္း Firmware ေလးကို SP Flash Tool နဲ႔ ျပန္ေရးေပါ့။ ျပန္ေရးတဲ့အခါ Read back ထုတ္ထားတဲ့ Firmware မွာေပါက္ကရ နာမည္ေတြေပးထားခဲ့ရင္ သတိထားဗ်ာ။ ဖိုင္စံုပါေအာင္သတိထားၿပီး ျပန္ေရးပါ။
၆။ ဒီတစ္ခါ OK လားၾကည္႔။ OK တယ္ဆိုရင္ေတာ့ ၿပီးၿပီေပါ့။ မအိုေကဘူးဆိုရင္ Download and Format တုိ႔ ဘာတို႔နဲ႔ ျပန္ေရးၾကည္႔ ရရင္ ရသြားလိမ့္မယ္။ မရရင္ေတာ့ တိုင္ပတ္ၿပီဗ်ိဳ႕ နားကားဖို႔သာ ျပင္ထား။ System.img ကိုခြဲရေတာ့မယ္။ ခ္ခ္။ ဒီအဆင့္က အေျခခံသမားေတြအတြက္ ေတာ္ေတာ္လက္၀င္ပါတယ္။ သတိထားၿပီးလုပ္ေနာ။
၇။ ေအာက္ကအဆင့္ေတြကုိ ဆက္လုပ္ႏိုင္ဖို႔အတြက္ MTK_Extractor ဆိုတဲ့ Tool ေလးလိုတယ္ဗ်ား။ ဒီကေန Download ဆြဲလုိက္။
https://www.mediafire.com/?ufhhk0v63htg3gk
Tool ရလာၿပီဆိုရင္ အဲဒါကုိဖြင့္။ ၿပီးရင္ system.img ဆိုတဲ့ tab ကိုသြား။ အရင္ဆံုး Readback လုပ္ထားခဲ့တဲ့ Firmware က system.img ဖိုင္ေလးကို ခြဲမွာျဖစ္တဲ့အတြက္ အဲဒီ Firmware က system.img ဖိုင္ေလးကုိ Browse မွာတစ္ခ်က္ႏိွပ္ၿပီးေတာ့ ေရြးေပး (Download လုပ္ထားတဲ့ Firmware ကမဟုတ္ဘူးေနာ္)။ ေရြးၿပီးရင္ Start ကို ႏိွပ္ေပးလိုက္ေတာ့။ MTK_Extractor ဆိုတဲ့ Folder ထဲမွာ system ဆိုတဲ့ Folder ေလးတစ္ခုေရာက္ေနလိမ့္မယ္။ အဲဒီ Folder ထဲက ဖိုင္တစ္ခ်ိဳ႕ကို Copy ကူးယူေပးထားရပါမယ္။ ယူရမယ့္ဖိုင္ေတြကေတာ့
– /system/bin
* pq
* vold
– /system/xbin
* libmnlp
* mnld
– /system/lib
* ပါတဲ့ဖိုင္ အကုန္ကူးဗ်ာ။
* libsurfaceflinger.so (ဒီဖိုင္မကိုက္ရင္ Touch အလုပ္လုပ္ေပမယ့္ Screen မွာ မည္းမည္းႀကီးပဲ ျမင္ရမယ္ BlackScreen, White Screen ျဖစ္တာ ဒီဖိုင္ေၾကာင့္)
– /system/etc
* apns.conf.xml
* vold.fstab (ဒီဖိုင္နဲ႔ ေအာက္ကဖိုင္ ျပသနာတက္ရင္ Internal Storage 0 Byte ျဖစ္မယ္)
* vold.fstab.nand
– /system/lib/hw/
* ပါသမွ်သာကူး
– /system/lib/modules/
* ပါသမွ်ကူး
– /system/etc/firmware/
* ပါတဲ့ဖိုင္အကုန္ကူးဗ်ာ
– /system/etc/permissions
* ပါတဲ့ဖိုင္ အကုန္ကူးဗ်ာ
– /system/usr/keylayout
* Generic.kl (ဒီဖိုင္လြဲရင္ Power ခလုတ္တို႔ Back Key, Home Key စတာေတြ အလုပ္လုပ္မွာမဟုတ္ဘူး)
– /system/usr
* အဲဒီထဲက srec folder တစ္ခုလံုးကူး။
– /system/framework
* ပါတဲ့ဖိုင္အကုန္ကူးဗ်ာ။
– /system/etc/wif/
* ပါသမွ်ကူး
– /system/vendor/
* ပါသမွ်ကူး
ကူးတဲ့အခါမွာ ဘယ္လမ္းေၾကာင္းက ကူးသလဲဆိုတာကိုပါ မွတ္ထားေပးပါ။ ၿပီးရင္ ျပသနာတက္ေနတဲ့ Download ဆြဲထားတဲ့ Firmware က system.img ကိုပါ အေပၚကအဆင့္ေတြအတိုင္းခြဲ။ ခြဲၿပီးရင္ ေစာေစာက ကူးထားတဲ့ ဖိုင္ေတြကို ကူးထားတဲ့လမ္းေၾကာင္းအတိုင္းပဲ အသစ္ခြဲထားတဲ့ system folder ထဲ ျပန္ထည္႔ေပးလိုက္ေပ့ါ။ မမွားေစနဲ႔။ မွားရင္ ရမွာမဟုတ္ဘူး။ ကူးထားသမွ် အကုန္ထည္႔ၿပီးသြားၿပီဆုိရင္ေတာ့ ထည္႔ထားတဲ့ system folder ကို system.img ျပန္ေျပာင္းေပးရမယ္။ ဒီအတြက္ MTK_Extractors ကေနၿပီးေတာ့ Make system.img ဆိုတဲ့ Tab ကိုေရြး။ Browser မွာႏိွပ္ၿပီးေတာ့ လုပ္ထားတဲ့ system folder ေလးကို ေရြးေပး ၿပီးရင္ Start ႏိွပ္ေပးေပါ့။ system.img ခြဲတာကေတာ့ ဒါနဲ႔ ခြဲမွ မဟုတ္ပါဘူး။ cygwin နဲ႔လည္း ခြဲလို႔ရတယ္။ လုပ္တတ္သလိုသာ လုပ္ၾက ဗ်ား။
၈။ ျပန္ေပါင္းၿပီးရင္ေတာ့ ခုနက စုေပါင္းစပ္ေပါင္းျဖစ္ေနတဲ့ Firmware မွာ ခုအသစ္လုပ္ထားတဲ့ system.img ဖိုင္ေလးသြားထည္႔လိုက္။ ၿပီးရင္ ျပန္ flash လုပ္ၾကည္႔လိုက္ပါ။ OK သြားတာကို ေတြ႕ရပါ လိမ့္မယ္။
အဆင္ေျပၾကပါေစ။ လုပ္လို႔မရတဲ့ အပိုင္းေတြကို ေမးႏိုင္ပါတယ္။ ဒါေပမယ့္ Internet မွာရွာရင္ ေပါေသာခ်င္းေသာျဖစ္ေနတဲ့ Firmware ဘယ္လိုေရးရမလဲဆိုတာေတြရယ္ Readback ဘယ္လိုထုတ္ ရမလဲဆိုတာေတြရယ္၊ မေမးခင္ Internet မွာ အရင္ရွာၾကပါဗ်ာ။ မရမွ လာေမးၾကပါ။ ကၽြန္ေတာ္လည္း အားတာမဟုတ္လို႔ပါ။

0 comments:

Post a Comment