#2014/05/18#
前幾天,老婆的拿她的手機給我看,說無法上網,我接過手後,檢查無線網路一直處於「正在取得IP位址…」,最後斷線。
我改用指定IP的方式,則能正常使用無線網路,這說明硬體上並沒有問題,而是Android作業系統的DHCP Client出問題了。
上網查,發現有太多人有相同的問題,因我不想root,就先試了兩種別人提供的方法,結果都不行。(一種是清除無線網路,二是拔SIM卡。)
有很多人都送回Acer維修,但發現他們送修時間太長了,約是一個月左右的時間才拿回來,然後被一堆人抱怨,我想Acer大概是有冤說不出吧。
所以自己動手搞吧!死撐活撐還是要搞root才行,然後試著刪除/data/misc/dhcp底下的文件,看會不會好。
問題來了,別人都有開發選項,為何這支手機沒有,後來從這篇得知,在Android 4.2之後,「開發人員選項」要先從「關於手機」裡的「版本號碼」連點七下後才會啟用。
如下抓圖:
搞定「USB偵錯」後,接著就著手Root。
工具:刷機大師
使用裡面的ROOT大師,手機一接上,就會被裝上應用酷 App @@”,等搞定了再自來移除。
Root完成後,應用程式會多一個「Root大師」。
Root是否有成功,也可裝SuperUser或Root Checker等軟體來檢查。
如下圖會有su二進位檔版本:
mt6589_rooting_pkg.zip (檔案下載連結來自:賽芭專欄)
這個檔案本來也是可用來取得手機root權限的,但不知為何在我手機一直失敗,所以只好麻煩點安裝刷機大師。
檔案解壓縮後會有個mt6589_rooter資料夾, 如果執行run.bat就會進行取得root作業,但現在是目的是刪除/data/misc/dhcp底下的檔案,用的是adb這個指令,必須在命令視窗底下操作。
底下是操作紀錄:
D:\>adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
HU4PQCJRDEJFM7JN device
D:\>adb shell
shell@android:/ $ cd /data/misc/dhcp
cd /data/misc/dhcp
/system/bin/sh: cd: /data/misc/dhcp: Permission denied
???一般帳號進不去,所以若發生問題一般帳號也無法處理嗎???
shell@android:/ $ su –
su –
root@android:/ # cd /data/misc/dhcp
cd /data/misc/dhcp
root@android:/data/misc/dhcp # ll
ll
-rw——- dhcp dhcp 16 2013-10-19 21:43 dhcp6c_duid
-r——– dhcp dhcp 277 2014-05-18 20:29 dhcpcd-wlan0.lease
-rw——- dhcp dhcp 0 2014-02-04 15:55 dhcpcd-wlan0.pid
root@android:/data/misc/dhcp # rm dhcpcd-wlan0.*
rm dhcpcd-wlan0.*
root@android:/data/misc/dhcp # ll
ll
-rw——- dhcp dhcp 16 2013-10-19 21:43 dhcp6c_duid
刪掉之後,關閉手機的Wi-Fi,然後再開啟,這種抓不到DHCP IP的問題就好了。
既然都已走到這地步了,順便就刪點既用不到的又佔用空間的App。
聽說系統內建的App都放在/system/app,所以就刪個應用程式試一下。
root@android:/system/app # rm PolarisOffice4.apk
rm PolarisOffice4.apk
rm failed for PolarisOffice4.apk, Read-only file system
結果刪檔失敗,因系統是唯讀模式,於是參考這篇,說要重新掛載成讀寫模式才行刪檔。
root@android:/ # mount -rw -o remount /dev/block/mtdblock1 /system
mount -rw -o remount /dev/block/mtdblock1 /system
root@android:/system/app # rm PolarisOffice4.apk
rm PolarisOffice4.apk
果然重新掛載成讀寫模式後就可以刪掉內建的應用程式了。
但奇怪的是,實際上在這支手機上並沒有/dev/block/mtdblock1,但有/dev/block/mmcblk0及mmcblk1,不知為什麼能掛載成功。
查了/system掛載資訊如下:
/emmc@android 788.4M 749.3M 39.1M 95% /system
lrwxrwxrwx root root 1970-01-01 08:00 emmc@android -> /dev/block/mmcblk0p5
所以把指令換成底下結果也相同:
root@android:/ # mount -rw -o remount /dev/block/mmcblk0p5 /system
mount -rw -o remount /dev/block/mmcblk0p5 /system
順便查一下空間使用情況,看樣子,如果能把data掛載點移到SD卡上,這樣就不會一直出現空間不足的情況了,有空再來研究了。
root@android:/ # df
Filesystem Size Used Free Blksize
/system 788M 753M 34M 4096
/data 1008M 905M 102M 4096
/storage/sdcard0 1G 750M 908M 16384
/storage/sdcard1 14G 1014M 13G 32768
系統預設的df指令,顯示的Size直接忽略掉小數點,結果1.6G變成1G,這差太多了吧。
所以用adb上傳busybox,然後使用busybox的df指令來顯示空間使用情況就不會有這種情況。
shell@android:/data/local/tmp $ ./busybox df -h
./busybox df -h
Filesystem Size Used Available Use% Mounted on
/emmc@android 788.4M 753.9M 34.5M 96% /system
/emmc@usrdata 1008.3M 882.2M 126.1M 87% /data
/dev/block/vold/179:8
1.6G 750.3M 908.4M 45% /storage/sdcard0
/dev/block/vold/179:97
14.6G 1014.4M 13.6G 7% /storage/sdcard1
你好,我想請問一下,我的手機 E2也是無法ROOT,試過很多次也沒辦法,我該怎麼做才能ROOT?謝謝
1. 在Root之前,要先勾選開發人員選項頁中的USB偵錯項目。
2. 使用USB傳輸線(用來充電的那條線),小頭的插上手機,大頭的插上電腦USB埠,使兩裝置互相連接起來。
3. 接著在電腦中安裝刷機大師,使用其中的Root大師來Root手機。
4. 打開手機中Root大師應用程式,檢查是否有Root成功。
此文中有相關抓圖及步驟,請參照。
你好, 我的 Acer Liquid E3手機也遇到同樣問題 (CPU和E2一樣是MTK6589)
結果在adb devices那步失敗, 訊息如下, 請問如何解決?
F:\mt6589_rooter> adb devices
adb server is out of date. killing…
ADB server didn’t ACK
* failed to start daemon *
error: unknown host service
剛google到這個 http://jingyan.baidu.com/article/d621e8da0dee022865913fce.html 已解決wifi DHCP問題, 謝謝.