Tag: asus


[Root] Connect phone to internet via USB

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

  • 如果用的是 Mac,請先安裝 RNDIS Driver: HoRNDIS
  • 手機先 root。
  • 如果想讓瀏覽器以外的 app 使用網路,大部分狀況透過安裝 Xposed & HackConnectivityService 即可解決。

步驟:
1. 手機連接到電腦上,到設定 -> 更多內容 -> 網路共用與 Wi-Fi 無限基地台 -> 點選 USB 網路共用。
2. 如果你用的是 Mac,打開 System Preferences -> Network,應該可以看到 Android 這個連線裝置出現,或者點左下角的 + 新增。

預設是 DHCP 取得 IP 位址,請耐心等候他出現 192.168.42.x 的值,再切換到 System Preferences -> Sharing,點選 Internet sharing。右邊的畫面中 Share your connection from: 請選你目前的網路連線裝置,比如 Thunderbolt Ethernet 或者 Wi-Fi;To computers using: 勾選 Android (就是剛剛看到的裝置)。

2. 如果你用的是 Windows 7,先等系統安裝好相關的驅動程式。

接著到控制台 -> 網路和網際網路 -> 網路連線,可以看到會多出一個區域連線 (在這邊是 "區域連線 2")。

在你預設的網路連線介面上按右鍵選共用 (在這邊是 "區域連線"),點選最上面的 "允許其他網路使用者透過這台電腦的網際網路連線來連線(N)",下面的 "家用網路連線" 請選擇前面多出來的區域連線 (在這邊是 "區域連線 2")

3. 此時電腦打開 Terminal 或者命令提示列,透過 adb shell 連接手機,su 為 root。
4. 依序執行下面的代碼:(或者抓 reverse_usb_tether.sh)

netcfg rndis0 dhcp

讓手機取得新的 IP 位址可以連線出去。

ndc resolver flushif rndis0
ndc resolver flushdefaultif
ndc resolver setifdns rndis0 8.8.8.8 8.8.4.4
ndc resolver setdefaultif rndis0

設定 DNS,不過似乎大部分的 app 都還是無法連線,得靠下面這行

iptables -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to-destination 8.8.8.8:53

其中 8.8.8.8 可以換成你喜歡的 dns server (比如 168.95.1.1)

到這網路已經可以正常使用,不過某些 app 卻無法正常運行,比如 Play Store 無法下載 app/Google Drive 無法開啟文件.. 原因是這些 app 都會檢查是否有 Wi-Fi 或者數據網路的連線。嘗試過很多偏方,到目前為止都沒有 " 完美 " 的解決方案 (Android 4.3 以上的版本多了一些檢查),安裝 Hack Connectivity Service (得先安裝 Xposed 並啟用) 是一種解法,只是你在使用前得先有可連線的 Wi-Fi,關閉後再跑一次前面的流程,最後打開該 app 選擇 Hack 分類下的 Wifi 即可。

Reference: [Tool][Windows Only][Root] Android Reverse Tethering 3.19

[Root (Optional)] 讓 ZenFone 讀取隨身碟

2014-06-04 Updated:
經網友指正, 其實只要供電沒問題, 就算沒 root 也可使用, 目前可以搭配下列軟體:

OTG Disk Explorer Lite # 讀取較大檔案需付費版本
Nexus Media Importer

不過介面上還是 root 搭配內建檔案管理員比較方便, 看個人喜好囉.

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

  • 首先手機得 root, 並且安裝相關工具, 我推薦使用 StickMount
  • 再來你得買一條有附額外 USB 接頭的 OTG 線, 像這樣:

    所以接下來的使用就很容易, 把隨身碟與手機透過 OTG 線連接, 那一條額外的 USB 線接上電源 (ZenFone 的手機充電器即可)
    Setup
    等著奇蹟發生
    USB stick insertion prompt
    沒意外點選確定他就會自動掛載了, 或者也可以先打開 StickMount, 插入隨身碟後點選 Mount
    Mount USB stick
    接著打開檔案管理員, 找到 usbStorage, 點進去會看到 sd?1, 裡面就是隨身碟的資料囉.
    Open File Manager
    用完記得先 Unmount
    Unmount USB Stick

Reference

[Root] 讓 ZenFone 5 也有單手操作模式

雖然說這功能只有 ZenFone 6 有, 但兩者的軟體大同小異, 追蹤一下要實現很簡單.
asus.software.whole_system_onehand.xml 丟到 /system/etc/permissions/ (記得 chmod 644) 重開機以後先去重設快速設定清單

接著就會看到單手操作出現囉

畫面會變成這樣..

對於某些覺得 5 吋還是很大的人來說, 這種小螢幕模式還挺便利的 :)

[App] Widget for removing desktop tips on ZenFone

ZenUI 有些很討人厭的地方, 桌面的提示文字就是其中之一

消除文字的方法不外建立捷徑, 書籤, 放 widget.

只是美美的桌布就是要拿來看的, 被亂七八糟的 icon 擋住視線不是很舒服, 由於手機找不到可以消除文字的設定, 拆了下原廠 apk, 也發現這部份是寫死在 code 裡面, 就算 root 也無法解除. 索性寫了個透明的 app widget 解決這小問題.

程式在這邊: EmptyDesktop.apk
安裝後去小工具找 "淨空桌面"

拉到任一個空的桌面上

登登 ! 可以看到一整個妹啦 (L)