2015年4月13日 星期一

用 Linux 完成 手機解鎖、刷 recovery、再刷 ROM 的實驗

.

因為想玩 Linux  fastboot,所以找了一台二手的 hTC Wildfire S  A510E。

<刷機有風險,宜謹慎進行>


實作的硬體條件:

1.hTC Wildfire S 手機。
2.USB 連接線。
3.PC/NB 從 USB 啟動   puppy linux (tahr-6.0.2_大甲溪_1.0)。


實作的軟體條件:

到 htcdev.com  (unlock bootloader) 取得 linux 版的 fastboot。


實作的步驟;

1.
卸下 hTC Wildfire S 電池再裝回。按住 VOL- 不放,再按 POWER ,進入 HBOOT。

2.
接好 USB 連接線。再設 HBOOT ,會看到紅色反白的 FASTBOOT USB 以及
藍色反白的 BOOTLOADER ;























3.
Linux 開終端機,輸入 fastboot devices 看看手機有沒有回應,例如;

root# ./fastboot devices
HT15CTR02026 fastboot

4.
輸入 fastboot oem get_identifier_token 取得  token,例如;

root# ./fastboot oem get_identifier_token
... INFO
INFO< Please cut following message >
INFO<<<< Identifier Token Start >>>>
INFO68E1A9FEA0EEF4FE1AFF1856B15BEDD0
INFO362D51218CC95EB43D145ECD5FB7D338
INFODBBC912F7A880B1263E9C04A85621630
INFOE26E38B9E367DBA0DD873E991455AC48
INFOAF63E77D2892CAB05F76797AB39829E5
INFOD61BC406275878B4A819259D0DBB1E14
INFO891CCF4468FA5DA383281CE3F7F8A2CF
INFO34ACAF3AC7D7E68FC0219329DB579E64
INFOAB3143DA4E8E472AD6C3F1F5367D947A
INFO7DCA4A189E67F049C60DED440FBAD31D
INFO65C1475D0CEE78E868C8D0BAEF0027C0
<<我刪掉一行,避免被誤用>>
INFO20D44D6E9FD9E9CA08CF7149A9E99A87
INFO006E75E8E250B92799353EFC238D696A
INFOB7C2C00FDEEC22727063360D41024872
INFOE852BC8797F73AD69CD93F68E9634890
INFO<<<<< Identifier Token End >>>>>
OKAY
root#

如果再打一次 fastboot oem get_identifier_token ,取得的  token 看來與第一次不同,
但都可以用:

root# ./fastboot oem get_identifier_token
... INFO
INFO< Please cut following message >
INFO<<<< Identifier Token Start >>>>
INFOAD9608D057D1E9E827AC8B2C66714EB8
INFOE02515C4482CFCC967E671830AF9EFA9
INFO20B91308D8AC17E59DBD4B93B8B4BF81
INFO070ED39F7D77224C712BDE6708692BE3
INFO90D401E5524AED6777F24D05977B226A
INFOCDFF70BCAEA4C7E5351A84C68AAD0EED
INFO59BEC397990260A7EF2F9F47A9C35655
INFOB9540A77426B5F79FA09B613F8BC377A
INFO8893DCCB8E5BAEF09FADC9EF03436E97
INFO8877394673CB69219D9C312281C1E5B1
INFO1D14BCEB499FB2EFD9898D59659A5738
<<我刪掉一行,避免被誤用>>
INFOD03CA3B5085135A0FB346ADF8CD9AA32
INFO18C94D24EA6116601B95A8EE9D62C1B8
INFOAB35A3BA8A8C0C6860ED9863415A581D
INFO91FEE900C01730D84D9AEF7A8EC7B4F8
INFO<<<<< Identifier Token End >>>>>
OKAY
root#


這是裁剪後的 token ;

<<<< Identifier Token Start >>>>
AD9608D057D1E9E827AC8B2C66714EB8
E02515C4482CFCC967E671830AF9EFA9
20B91308D8AC17E59DBD4B93B8B4BF81
070ED39F7D77224C712BDE6708692BE3
90D401E5524AED6777F24D05977B226A
CDFF70BCAEA4C7E5351A84C68AAD0EED
59BEC397990260A7EF2F9F47A9C35655
B9540A77426B5F79FA09B613F8BC377A
8893DCCB8E5BAEF09FADC9EF03436E97
8877394673CB69219D9C312281C1E5B1
1D14BCEB499FB2EFD9898D59659A5738
<<我刪掉一行,避免被誤用>>
D03CA3B5085135A0FB346ADF8CD9AA32
18C94D24EA6116601B95A8EE9D62C1B8
AB35A3BA8A8C0C6860ED9863415A581D
91FEE900C01730D84D9AEF7A8EC7B4F8
<<<<< Identifier Token End >>>>>


您要自己取得您自己手機的 token,然後貼入 htcdev.com 的一個窗口,遞交之後可以從
e-mail 收到  Unlock_code.bin。


5.
輸入 fastboot flash unlocktoken Unlock_code.bin 就可將手機解鎖,例如;

root# ./fastboot flash unlocktoken Unlock_code.bin
sending 'unlocktoken' (0 KB)... OKAY
writing 'unlocktoken'... INFOunlock token check successfully
OKAY
root#


6.
將來有需要,可以再度上鎖,例如;./fastboot oem lock



HBOOT 的最上一行本來顯示 LOCKED;之後就會顯示 UNLOCKED 或 RELOCKED。



7.
解鎖後,可以用 fastboot 刷入不同的 recovery,例如:


# ./fastboot flash recovery twrp-2.3.3.0-marvel.img
sending 'recovery' (4744 KB)... OKAY
writing 'recovery'... OKAY
#


以下是兩個 Recovery 實例。


TWRP TeamWin Recovery v2.3.3.0:






















ClockworkMod Recovery v5.0.2.8:(初次接觸,這個可能比較直覺)






















然後就可透過  recovery 來刷各種 ROM。

但是在刷其他ROM之前,建議一定要用上面介紹的 Recovery 來備份本來的ROM。



fastboot 的功能當然不只這些,但是對大部分的使用者,能夠解鎖、刷 recovery、
再刷 ROM,相信就很夠用了。


fastboot 的其他功能,再研究吧。





附:參考資料

進入 HBOOT 後,如果手機有插 SD卡,它自動檢查SD卡,並嘗試載入
PG76DIAG.zip
PG76DIAG.nbh
PG76IMG.zip
PG76IMG.nbh
四個檔案。






















網路上有可以將 S-ON 變成 S-OFF 的 zip 檔,下載後,將它改名為 PG76IMG.zip 放入
SD卡,用這個流程,就可以進行刷入的動作。




有病毒警告的ROM

這個是台灣論壇提供下載連結的 wildfire S ROM :
Marvel_hTC_Asia_TW_2.26.709.2.zip

這個是中國論壇提供下載連結的 wildfire S ROM :
hTC_g-13_台版_2.26.709,2.zip

兩者檔名不同,但是檔案大小一樣,兩個都被 AVIRA 掃出病毒警告。
(system/app/Superuser.apk。 andrioid/Rootor.WI)

網路第三方提供的ROM,可別以為它們都是安全的。



一個沒有病毒警告的版本,google:ROM2.14台灣版本。(雖是2.14.709.1舊版,但可以
在刷完後進行網上更新)。


我的經驗:

ROM2.14台灣版本 +   原廠 recovery = 可以線上更新到 2.26.709.2。

ROM2.14台灣版本 +   CWM recovery 5.0.2.8 =  線上更新失敗

修改後的 ROM2.14台灣版本 (例如移除 apk、換字型)+   原廠 recovery  =  線上更新失敗

所以,

您的 Wildfire S 刷 CWM recovery 5.0.2.8 再刷 Android 4.0、 4.1、 4.2、 4.4 各版本之後,
想刷回原版該怎麼做?

我的步驟:
1.
先經 CWM recovery 5.0.2.8 刷入未修改的 2.14.709.1台灣版ROM。

2.
再刷原版 recovery (google:srecovery235.img)取代 CWM recovery 5.2.0.8。

3.
Wildfire S插好SD卡,啟動後,進行線上更新到 2.26.709.2。





記憶體不足的問題

說明例:將 2G SD 格式化為 1.5G fat32 + 512M ext3,在 Linux 下很容易檢視:

















解決記憶體不足的途徑有多種選擇,底下是四個例子:

1.
經 CWM recovery 安裝 Sense5-marvel-2803.zip,它是 android 4.2.2版;已經 rooted。

此版從 google play 安裝 GMail ,會因記憶體不足而失敗。

此時就要經 CWM recovery 安裝 Data2sdV2withA2sdremover_by_jikantaru.zip,

之後,可用記憶體會變成:





























363M 夠安裝一些實用小app了。


2.

cm-9.1.0-CRYPTOMILK-ALPHA9-marvel.zip (android 4.0.4)
再刷
Data2sdV2withA2sdremover_by_jikantaru.zip































3.
還有,


CWM 6.0.5.3 recovery

cm-11-20150308-NIGHTLY-marvel.zip (android 4.4.4)(在wipe過程中,512M ext3會變成 ext4)
再刷
CronMod-INT2EXT4+_signed.zip
也可以增大可用記憶體空間。




4.
先刷
EQDKP5.2.zip (android 2.3.5,已rooted)
再刷
Data2SDInstallerES.zip

擴充後的內部記憶體:































EQDKP5.2 的 ICON下方文字看起來比較清楚。介面與原版2.3.5類似,但有所不同,
喜不喜歡,那就看個人喜好了。

關於 EQDKP5.2 的更多資訊:
http://forum.xda-developers.com/showthread.php?t=1865976






PART II









.




2015年4月2日 星期四

清明時節雨不紛,YouTube 不能看 (?)

.

(本文是接續這篇 前文

久不下雨,清明連假也沒雨,台灣是不是要旱災了?

2015.04.01 晚上發現 1283VOD (安裝 moServices 的 YouTube 模組) 不能看 YouTube 了。


















 moService 的俄文論壇也有人反應YouTube不能看的問題 。

俄國專家回答:dvdplayer 不支援 https 協定。(同一天,該專家把這句話的貼文移除)

(dvdplayer 是 1073/1283 媒體撥放機的核心程式)


另外一個俄國專家提到 vrt gui 有支援 https 協定,於是我把刷了 amp_r12_鹿港 2.1.6 (vrt介面)
的HD-A5(1073媒體撥放機)搬出來,結果是:可以收看YouTube。


















三月份,1283/1283vod/1283pvr都能看,現在變成不能看;為什麼vrt介面就能看;
是什麼原因,我並不清楚。


1283/1283VOD/1283PVR  安裝的 moServices 模組以後是不是都不再能看 YouTube 了?


等看看 moServices 那邊有沒有解決方案吧。









● 2015-04-03 補充

清明時節雨不紛,YouTube 又能看了

方法來自俄國的 moService 論壇。

Main menu --> Services --> 把已安裝的 youTube 刪除 -->  << (快退鍵) --> Update all 之後
重新安裝 YouTube。

進入 youtube 後 -->  << (快退鍵) --> Settings... --> Cast --> Through local site













YouTube 又能看了。(有當機現象,那就等將來的穩定版本吧)





● 2015-04-06 再補充

 2015-04-05 晚上一樣會當機,但是到了 2015-04-06 早上再度更新後,就都順暢了。
而且也不用進行 Setting --> Cast --> Through local site 的設定。

俄國論壇可以看到俄國玩家在這幾天,多次釋出 YouTube 模組新版本。

感謝他們的熱誠付出。




● 2015-05-07 又不能看了

這次不能看的原因是:google 將 API v2 改成了 API v3。


還好,到了 2015-05-24 ,俄國大大釋出 YouTube  r1 模組。

YouTube r1 模組的各項功能或許還未臻完美,但已經可以正常收看了。


 YouTube  r1 模組安裝步驟如下:

Main menu --> Services --> 將之前已安裝的  YouTube 模組先刪除掉
--> <<(快退鍵) --> Update all --> 選  YouTube 模組來安裝。


也許以後還會有 r2、r3....,讚啦。


2015-05-25 ,俄國大大釋出 YouTube  r2 模組。

2015-05-30 ,YouTube  r3,r4 模組。






● 2015-06-16 又不能看了

.俄國大大如是說:

YouTube 終於全面切換到 https。
如果軔體沒有支援 https,可嘗試設定  Settings...-->Cast--->Local proxy

但是我在 1283VOD 上設定,還是不能看。


而刷了 r12 韌體的 HD-A5 (1073晶片),則可以看,而且不需設定   Settings...-->Cast--->Local proxy。應該是這個1073 的 r12 韌體本身就有支援 https。

適合1073晶片的r12韌體在這裡:
http://electronmania.blogspot.tw/2015/02/ampr10-216-ampr12-216.html



● 2015-06-27 俄國大大釋出 YouTube r5

但是我在  1283VOD 上設定  Settings...-->Cast--->Local proxy來試,仍然不行。


● 2015-07-02 好消息

ibt-1283VOD 又可以看 YouTube 了。

1.更新至 YouTube r5 (記得設定  Settings...-->Cast--->Local proxy)
2.下載 php.ini (php.ini.zip 俄國下載處)
3.將 php.ini copy 到 /usr/loacl/etc
4.reboot



● 2015-07-18

發現已經有 YouTube r6

ibt-1283VOD 安裝 r6 可以正常收視YouTube(需 php.ini,也要設 Settings --> Cast-->Local proxy)



1073 晶片的 HD-A5 刷 r12 韌體後,安裝 r6 也可以正常收視YouTube(不需 php.ini,也不用
設 Settings --> Cast-->Local proxy)。









.