Posts match “ zenfone ” tag:

距離上次發佈跳了很多版號,相關討論可以上 ZenTalk 爬文,總之歷經不同型號手機的『洗禮』還有 SafetyNet 改版,以及易用與除錯的需求,最後來到了這一版。

不過對於 Android 6.0 使用 systemless root 的朋友來說,目前已經不能單純靠安裝 app 避開偵測,得重新刷 root 並且配合我的修補 (主要是環境變數 PATH 不能包含 /su/ 的路徑,因此得還原 SuperSU 所做的修改)。而修補又為了相容 supolicy 的使用,因此需要在 SuperSU 的設定檔案 (.supersu) 加入 BINDSYSTEMXBIN=true

主檔案在此:https://mega.nz/#!ghsGkLCA!ucsM7pglynyNHjaSj7g5_iUW7tohpYTwTcsprqm6olU
SuperSU 的修補檔案在這:https://mega.nz/#F!NwUAxKjA!lodsOX94Wd4I5HfBFR3jJg

重新刷入 SuperSU.zip 之前請先執行下面幾步:

  1. 把 custom_ramdisk_patch.sh 推到 /data
  2. 刪除 /data/su.img
  3. 以 adb shell 進入執行 echo BINDSYSTEMXBIN=true >> /data/.supersu

完成後刷入 SuperSU.zip 重開機,安裝 RootSwitch 並快樂切換,當然測試過的手機不多,所以請斟酌使用並小力回報。

Continue Reading →

ZenFone 5
主網站:http://goo.gl/g3PPDS
備份:https://www.mediafire.com/folder/cq6wwpya68azb//ZenFone_5_recovery

ZenFone 6
主網站:http://goo.gl/URmr84
備份:https://www.mediafire.com/folder/4lo1w7qe30kdk//ZenFone_6_recovery

目前收錄了 1.15.40.35,1.16.40.7(50),1.17.40.16(17) 這幾個最近的版本,除了拿來研究以外,想要降版、換區域或者刷了其他版本的 ROM 想要還原原廠 ROM 都可以透過這些 recovery 完成,流程大約如下(以 ZenFone 5 1.17.40.16 WW 為例):

adb reboot bootloader
fastboot flash recovery 1.17.40.16_ww_recovery.img

接著手機選 recovery,開好後執行 apply update from ADB,在於電腦端輸入

adb sideload UL-ASUS_T00F-WW-1.17.40.16-user.zip

完成後可以視狀況 wipe data,重開機後就會是 1.17.40.16 WW 版囉。

大部分的 Android 手機可以透過 dd 把 recovery partition dump 出來,比如 PadFone S 可以使用

dd if=/dev/block/platform/msm_sdcc.1/by-name/recovery of=/sdcard/recovery.img

取得 recovery.img。

但像 ZenFone 這種放在隱藏 partition 的該怎麼提取呢?其實可以透過 OTA package 或者原廠 ROM 的幾個檔案還原。

Continue Reading →

2015-01-22 Updated:

目前 ZenUI + Android 4.4 版的大都無法使用這套程式囉,目前我也暫停程式的更新。

2014-12-03 Updated: 1.4.6.8r, 增加 AST21, K01H
2014-11-22 Updated: 1.4.6.6r, 增加 ME572CL。
2014-10-12 Updated: 1.4.6.4r, 修正 ME176C/ME176CX 更新後的改變。
2014-09-21 Updated: 1.4.6r, 請注意原先建議開始 root 後 5 秒重開機,從這一版開始延長為 10 秒後再重開機。
2014-09-11 Updated: 1.4.5r, support more devices
2014-09-02 Updated: ZenFone 4 說明

1.4.6.8r (ME572C/ME572CL/ME581CL/ME581C/AST21/ME176C/ME176CX)
主站:http://goo.gl/Umhd5A (ASUS webstorage)
分流:http://goo.gl/aZrYXp (MediaFire)
分流:http://pan.baidu.com/s/1pJukC3L (Baidu)

1.4.6r
主站:http://goo.gl/4g0T4M (ASUS webstorage)
分流:http://goo.gl/kxhtzI (MediaFire)

1.4.5r
主站:http://goo.gl/j92Wnv (ASUS webstorage)
分流:http://goo.gl/CktUZZ (MediaFire)

  • 針對運行 ZenUI 的機種進行了支援,理論上目前有使用 ZenUI 的手機或平板都可以透過這支程式 ROOT,歡迎膽子大的朋友可以在其他機型上跑跑看,並回報成功與否。 :)
  • SuperSU 更新到 2.02 版本
  • 移除在 ZenFone 上運行問題有點多的 Superuser,最後一版有支援的版本是 1.3.2r (主站:http://goo.gl/tiZ9Re、分流:http://goo.gl/0rDq2y

支援機種列表:

  • ZenFone 5 (T00F / T00J)
  • ZenFone 6 (T00G / Z002)
  • PadFone S (T00N)
  • ZenFone 5 LTE (T00P)
  • MeMO Pad 7 ME176C / ME176CX (K013)
  • MeMO Pad 8 ME181C (K011) (via: http://www.likefreelancer.com/?p=464)
  • MeMO Pad ME572C (K007)
  • MeMO Pad ME581CL (K013)
  • Fonepad Note 6 ME560CG (K00G) v11.2.1.22 (factory reset before rooting)
  • Fonepad 7 FE375CG (K019)
  • Transformer Pad TF103C (K010)
  • Transformer Pad TF303CL (K014)
  • ZenFone 4 (T00I / T00Q) 請參考另一篇 Recovery images for ZenFone 4 and root file,相較 RootZenFone 的方式安全快速可靠 :)

待確認機種:

  • Transformer Pad TF103CG (K018)
  • PadFone Mini (T00E)

不支援機種:

  • Fonepad 7 FE170CG (K012)
  • MeMO Pad 7 ME170C (K017)
  • MeMO Pad 7 ME70C (K01A)

Happy rooting!

最後附上 FAQ

DEMO 模式關不掉

  1. 當影片自動撥放時,請點一下螢幕,接著會回到DEMO APP頁面
  2. 此時按住"返回鍵"至少10秒直到一輸入密碼頁面出現為止
  3. 輸入密碼"741603"按下確定後會自動進入recovery模式進行回復直到自己重開機
  4. 回復完成,可再繼續進行ROOT動作

聯絡人消失

  1. 先下拉狀態列, 關閉自動同步
  2. 設定 -> 應用程式 -> 往左拉找到 " 全部 " 分頁 -> 往下卷找到聯絡人儲存空間 -> 點進去之後選 " 清除資料 "
  3. 回到 Google 帳戶, 從選項中點選 " 現在進行同步處理 " 或者拉狀態列打開自動同步.
  4. 回去聯絡人查看一下是不是都回來了

飛航模式開啟後執行程式, 先出現設定畫面, 接著出現 demo 程式, 當看到 ZenFone 字樣馬上長按電源鍵選重新開機, 聯絡人消失的狀況似乎比較不容易發生.

Asus webstorage 一直在展示帳號
設定 -> 應用程式 -> 給我找到 ASUS Webstorage -> 反安裝. 如果狀況允許, 我會出一版看看能否不讓它安裝 demo 版本

最後重申注意事項
ROOT 有風險, 可能會破壞手機破壞保固夫妻失和家道中落.. 當你下載程式並且使用它代表已經同意也知道這些風險, 手機出事完全都根本人無關. ROOT 後最好能執行一次恢復原廠設定

手機解鎖後刷自製的 recovery,除了可以隨意的 root、升降版本,更重要的是可以打包優化過後的 ROM 刷進去。比如說我想要降版到 1.17.40.16,去官網抓回 ROM 後解開,修改 META-INF/com/google/android/updater-script,把幾行 assert 的訊息拿掉:

assert(!less_than_int(15014039, getprop("ro.build.date.utc")) || greater_than_int(getprop("ro.build.date.utc"), 1392739200));
assert(getprop("ro.build.asus.sku") == "TW");

還有 recovery 目錄與相關的設定也移除,因為想保留自製的 recovery:

package_extract_dir("recovery", "/system");
set_perm(0, 0, 0544, "/system/etc/install-recovery.sh");

一切就緒後將整包目錄壓回原來的 zip 檔案,開機進入 recovery 透過 adb sideload 刷入,重開機確認成功降版,一切看似美好,直到重新進入 recovery..

Continue Reading →

電腦請先安裝驅動程式 (Windows 平台)

操作必須知道的基礎知識

  • fastboot 的進入方法:關機狀態按著電源鍵與音量大開機。
  • recovery 的進入方法:關機狀態按著電源鍵不放開機,當手機震動一下時再按音量小,看到 ASUS logo 後放開,等到出現驚嘆號與倒地的機器人時,按著音量小不放再按一下音量大即可出現選單。
  • fastboot 與 recovery 的操作方法:音量大小可以上下移動光標,電源鍵為選擇。

透過 recovery 刷回原廠 ROM 的方法

進入正題,不管是新手老手總是有出錘的一天,最怕的就是手機再起不能,這邊列出常見的異常狀況以及排除方式,希望能幫助到需要的朋友,如果有錯誤歡迎留言指教。:)

Continue Reading →

2015-02-05 Update: 2.21.40.44 之後的版本都無法使用這個方法。

2014-10-06 Update: 更新 v2 版本,分開 CHT, TW, WW 版的 recovery。另外之前命名錯誤,其實 CHT 是指中文訊息,EN 指的是英文訊息,但裡面的 recovery 都為 TW。

先前有提到可以打包在 PC 上跑的程式對 ZenFone 5/6 KitKat 版本 (TW) 進行 root,這幾天花了點時間打包好了,在這邊搭配一些簡單的說明希望可以幫助到不太會操作 adb 與 fastboot 的朋友。

Continue Reading →

花了不少時間上傳,未來會持續整理這篇文章。

http://goo.gl/XJB9x1 (ASUS webstorage)
http://goo.gl/BpqzBt (MediaFire)
http://goo.gl/ODBFVF (MEGA)

Known issues

  • LED indicator always on
  • Error reading SIM Contacts
  • Error detecting headset
  • No auto mobile networking
  • Slow start of video play

Todo

  • Remove GPS
  • Recovery

Changelog

2014-12-21

  • Camera: video recording is working
  • Video: working with long loading time
  • BT & GPS: due to deep integration in framework layer they won't work until ASUS release the code .. or reverse engineering :p
  • Phone: auto mobile networking won't work, same reason above.
  • Built-in SuperSU
  • Add build.a501cg.prop
  • Add Settings / MMS / Telephony configuration
  • APN: working
  • ART: should be working again

2014-11-30

  • Houdini is enabled :)
  • WiFi: working
  • Storage: both internel / external sdcard working
  • Vibrator: working
  • Music: at least mp3 is working
  • Screen rotation: working
  • Screenshot: broken preview but content is ok
  • Phone: you have to select operator manually
  • Camera: front / back / flash light working, can take picture (slow)/panorama, video content is broken
  • GPS: broken
  • BT: broken .. can turn on for a while
  • Video: broken
  • Indicator: broken, it's always on

2014-11-29 First alpha release

  • can boot, woot ! ;-)
  • only tested on ZenFone 5 (T00F)

How to use

Simple version

Long version

  • not finished yet

How to build one ?

  • RTFM here : http://s.android.com/source/building.html
  • git clone https://github.com/shakalaca/android_device_asus_a500cg and place the folder in device/asus/a500cg
  • source build/envsetup.sh && lunch aosp_a500cg-userdebug && make -j4
  • for system.img: out/target/product/a500cg/system.img
  • for kernel: out/target/product/a500cg/kernel
  • for ramdisk.img: out/target/product/a500cg/ramdisk.img
  • for creating bootable boot.img: out/host/linux-x86/bin/pack_intel device/asus/a500cg/blobs/boot-ww-2.20.40.13.img kernel ramdisk.img new_boot.img

2014-08-30 Update: 原廠 recovery 提解出來,可以免 root 降版囉

2014-07-20 Update: 補上 fastboot 步驟,抱歉少了這一步是無法修改 recovery 的 ^^

這一版的升級做了一個不算小的修改:在 recovery 的 default.prop 將 ro.build.date.utc 的數值調小:

ro.build.date.utc=12684704

這樣的修改會導致手機無法降版,因為目前官網上抓下來的 ROM file 裡面的 script 最前面這麼寫:

assert(greater_than_int(getprop("ro.build.date.utc"), 1392739200));

雖然應該沒多少人喜歡換版本,但這邊還是筆記一下退版的方法,root 限定。又因為這樣的退版如果沒處理好可能導致之後無法升級軟體版本,我就只講方法不做懶人包了。:P

- 下載舊版 (比如 1.14.40.50) 的 ROM file,解開後在 recovery 目錄下找到 boot.img,recovery-from-boot.p 與 etc/install-recovery.sh
- 透過 fastboot 刷入 boot.img (fastboot flash boot boot.img)
- 修改 install-recovery.sh,把 /system/recovery-from-boot.p 換成 /data/local/tmp/recovery-from-boot.p
- 將這兩個檔案透過 adb push 到 /data/local/tmp
- 進去手機以 root 執行 install-recovery.sh

接著就可以依照原先的方式降版了。

[Xposed] Patched 2.7–experimental1 Installer 主要是最近 ASUS 更新了 ZenFone 一代 4.4.2 的 ROM,加入了類似這樣的 patch,導致升級後安裝 XposedFramework 手機無法正常開機 (軟磚)。

解法不難,拉出 v58 的 Xposed 再針對 AndroidRuntime::start 的呼叫做些修改,即可編譯出相容新舊版 Android (4.4 以下) 的 Xposed,翻了下 google 似乎沒人處理 x86 這塊,所以花了點時間編譯新版讓有需要的朋友使用。

請由此下載:https://mega.nz/#!09VTmSJT!BtLBJl5t14yxIx6cMSOP_bc6ygV7qQTV3tLfcpMglZk

感謝 rovo89 與其他貢獻者無私的付出,才有這麼棒的 framework 可用。 :)

整理一下目前已知可行的方法:

方法一:

  1. 手機降版本至 1.18.40.10 之前的版本
  2. 進入 recovery 做一次 wipe data (factory reset)
  3. 使用 RootZeonFone 進行 root
  4. 透過 recovery sideload OTA 升級包 或者將 OTA 升級包丟入 SD 卡中的方式升級至 4.4

方法二:

  1. 手機不透過官方 app 解鎖
  2. 刷第三方 recovery
  3. 進入 recovery 刷 root (SuperSU or SuperUser)
  4. 刷回原先的 recovery 並上鎖 (optional 不一定要做)

都需要大量手動操作,沒有簡單的方式,第二種也許可以整理出一鍵點擊 root 在電腦上執行的小程式,我會找時間再弄弄看,或者有網友願意打包,畢竟工具都已經公開,只差串起來的腳本程式。 :)

主站:http://goo.gl/olajfi
備份:http://goo.gl/S7zTFM

ZenFone 4 跟 ZenFone 5/6 系統有點不太一樣,recovery 不提供 UI 操作,所以也無法 sideload OTA 更新包進去,只能透過最傳統的方式:將檔案放置在 /sdcard 目錄下讓系統自動更新。 (比如 WW 版就是把檔案更名為 UL-ASUS_T00I-WW-99.0.0.0-user.zip 之類的,透過 windows 丟進內部儲存空間後,拔開 usb 線應該就會有更新提示)

Continue Reading →

2015-02-05 Update: 2.21.40.44 之後的版本都無法使用這個方法。

主站:http://goo.gl/t61tfm (ASUS Webstorage)
分流:https://www.mediafire.com/folder/ueq2l8b27tgn6//RootZenFoneKitKat (MediaFire)

主要改善一些情形:

  1. ZenFone 5 的版本拆成三份程式 (WW/TW/CHT),可以依照自己手機的版本下載對應的工具包。
  2. ZenFone 6 的版本拆成兩份程式 (WW/TW),可以依照自己手機的版本下載對應的工具包。
  3. 腳本檔案最開頭有個 set SkipUpdateBootloader=YES,如果在過程中碰到 FAILED (remote: not allowed to update unsigned image on secure device),請把 YES 改成 NO 之後再試試看。程式會自動更新裝置上的 bootloader,讓他有機會可以進行解鎖。
  4. 修正 OTA 更新後第一次開機時沒有 ROOT 的狀況。

詳細使用說明請參考原文:Simple ROOT program for rooting ZenFone 5/6 KitKat

Change log:

  1. Split into 3 versions (WW/TW/CHT) use exact version or you may fail to apply future OTA update. (v1 only supports TW version) For those used v1 before, just run again to update correct recovery.
  2. For those encounter FAILED (remote: not allowed to update unsigned image on secure device), change set SkipUpdateBootloader=YES to set SkipUpdateBootloader=NO in the script and do it again. This will update your bootloader that supports unlocking.
  3. Fix error getting ROOT permission after OTA update.

最後感謝那些捐款的朋友,你們的心意我收到了,真的很感動也很感謝 :) 小弟會持續努力讓 ZenFone 可以輕鬆 ROOT,下一步就是製作 AOSP ROM 了!

目前的計畫大概會是這樣,時間就看造化了:

  1. 持續改進 RootZenFoneKitKat,下次 OTA 為觀察重點,期望能順利升級並且自動保留 ROOT。
  2. 持續找尋新的方式讓 RootZenFone 可以繼續使用 (先集中火力在 ZenFone 系列)。
  3. 改善 TWRP / Philz-CWM Recovery 的 lag 狀態以及一些小 bug。
  4. 製作 AOSP ROM for ZenFone,不過老實說這需要大量的時間透過 try & error 的方式不斷調整,雖然目前有不少資料可以參考:https://github.com/gpdroid, https://github.com/lenovo-k900 但有人可以加入的話也許能讓這件事更快發生 ;-)

雖然總算可以在 Genymotion 上的 5.x 執行 ARM 程式,但總是有些遊戲在 ZenFone 上跑得好好在模擬器上卻無法執行,起初也覺得是單純 library 相容性問題,畢竟用的 houdini 版本有點舊,後來仔細看了下 log,撇開直接在 libhoudini.so crash 的不談,有部分程式在 ZenFone 上執行時使用的 ABI 為 armeabi-v7a,但在模擬器上卻是使用 x86。

看似合理卻又有點怪異,於是翻了下 Pm.java,試著安裝時指定使用的 ABI 為 armeabi-v7a 後,還真的可以執行了... 不曉得 ZenFone 是不是有另外動了什麼手腳呢?

anyway 在模擬器中指令大概像這樣:

root@vbox86p:/data # pm install -r --abi armeabi-v7a /data/app/package_name/base.apk 

如果想換回 x86 把 armeabi-v7a 換掉即可。

電腦透過 USB 連接線使用手機的網路上網稱 USB Tethering,而反過來手機透過 USB 連接線使用 PC 的網路上網,稱作 Reverse USB Tethering。前幾天在論壇上面看到有人提出 ZenFone 能否使用 Reverse USB Tethering 的問題,覺得頗有意思,研究了一個晚上總算整理出一套流程,我所使用的手機是 ZenFone 5,版本為 Android 4.3。

Continue Reading →

2014-06-13 Updated:
StickMount 會造成 OTA 失敗, 不推薦使用 :(

2014-06-04 Updated:
經網友指正, 其實只要供電沒問題, 就算沒 root 也可使用, 目前可以搭配下列軟體:
OTG Disk Explorer Lite # 讀取較大檔案需付費版本
Nexus Media Importer
不過介面上還是 root 搭配內建檔案管理員比較方便, 看個人喜好囉.

ZenFone 所使用的 Intel solution 其實有支援 OTG, 但無奈 ZenFone 的板子可能出於成本考量, 又或者上層實作需要多一些時間, 所以少拉幾條線 (推測) 以致於無法對外接 USB 裝置供電, 導致無法讀取隨身碟 (最多人想要的功能) 這邊就不談 OTG 的原理與應用, 直接來看怎麼讓 ZenFone 可以讀隨身碟吧.

Continue Reading →

有網友提到 ZenFone 系列只提供 MTP 讓電腦使用,如果想要把檔案丟到 SD 卡就得很麻煩的拆開背蓋拿出 SD 卡放入讀卡機,接上電腦搬移檔案完成之後再把 SD 卡裝回去..

如果手機有 ROOT 也會 adb 操作,執行下面的步驟就可以讓 ZenFone 接上電腦時變成 SD 卡的讀卡機 (隨身碟):

echo 0 > /sys/class/android_usb/android0/enable
echo mass_storage,adb > /sys/class/android_usb/android0/functions
echo /dev/block/mmcblk1p1 > /sys/class/android_usb/android0/f_mass_storage/lun/file
echo 1 > /sys/class/android_usb/android0/enable
setprop sys.usb.config mass_storage,adb
setprop sys.usb.state mass_storage,adb

如果想要切回 MTP,執行下面的指令即可:

echo 0 > /sys/class/android_usb/android0/enable
echo mtp,adb > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
setprop sys.usb.config mtp,adb
setprop sys.usb.state mtp,adb

唯一的問題:如果手機重開機或者退出裝置就得重新下一次指令.. 所以我包了一個小程式解決這個問題,除了執行上面的指令,另外聽兩組 Intent:android.intent.action.BOOT_COMPLETED & android.hardware.usb.action.USB_STATE,前者可以讓程式在手機剛開完機時執行命令,後者可以告知目前 USB 的狀態,決定是否要重新寫入設定。

0.3 版下載 :http://goo.gl/Vfvc54

用法很簡單,裡面只有一個按鈕:啟用或者停用大量儲存裝置的功能。之後只要接上 USB 傳輸線連接到電腦,就會出現隨身碟囉。

簡單筆記一下如何在 ZenFone 上使用 PS3 手把 :)

預備物品:

  • ZenFone (Rooted)
  • PS3 手把
  • Mini usb 連接線
  • 可外接電源的 OTG 線 (非必須)

預備軟體: (這邊使用 Sixaxis Controller)

步驟: (如果沒有 OTG 線)

  1. 手機先安裝 app,開啟後點選 Start,畫面下方會出現手機的 BT 位址,記下來。
  2. 電腦安裝 Sixaxis Pair Tool,完成後連接 PS3 手把。
  3. 把剛剛記下來的 BT 位址寫入對話框裡面,點選 Update 更新 PS3 手把連線的設定。
  4. 完成後拔開連接線,等 PS3 手把燈熄滅。
  5. 按 PS 鍵開啟手把電源,手機上的 app 如果顯示 "Client 1 connected" 代表成功。
  6. 請參考 eprice 上的文章 用 PS3 手把玩遊戲:Sixaxis Controller 軟體篇 設定 app。

步驟: (如果有 OTG 線)

  1. 手機先安裝 app,開啟後點選 Start。
  2. 將 PS3 手把與手機透過 OTG 線連接,OTG 線記得接上電源。
  3. 點選 app 上的 Pair,更新 PS3 手把連線的設定。
  4. 完成後拔開連接線,等 PS3 手把燈熄滅。
  5. 按 PS 鍵開啟手把電源,手機上的 app 如果顯示 "Client 1 connected" 代表成功。
  6. 請參考 eprice 上的文章 [用 PS3 手把玩遊戲:Sixaxis Controller 軟體篇](www.eprice.com.tw/mobile/talk/12

差別只在於你想透過手機還是電腦把手機的 BT 位址寫入 PS3 手把 :)

Continue Reading →