跳到主要內容

Atrix wifi fix

「Atrix Wifi Bug Fix」
一個月前購入年度超值手機Motorola Atrix後
以1G雙核心+1G記憶體+16G內建儲存空間的超高規格馬上幹掉手邊的Milestone 1...
但是幾個缺點一直困擾我很久:
1. 內建16G空間在開機後會被清空(format)問題...好在XDA大神說,只要使用前先徹底format一次就可以解決
2. Wifi不穩定問題...這是今天要講的...
PS: 其實Android 2.2也是個遺憾,但是Atrix夠快了...快到我分不出他是2.2還是2.3!!

據說,因為Atrix原生內建的Wifi Driver有著沒有內建所有國碼(請參考:XDA)的問題,所以在連接Wifi AP時候有很多不穩定的情況發生,像是連線不到,或是連線後會突然中斷等問題...本人是遇到第二個...好生苦腦阿@@
再次拜訪XDA大神之後,找到這篇文章:http://forum.xda-developers.com/showthread.php?t=1077329
按照上面執行,實驗之後,的確有解決我的網路問題,分享給大家參考喔∼
下面是把那篇文章重新詮釋一次:

事前準備:
1. 下載adb工具包(基本上就在android sdk裡面,不然網路上有提供很多懶人包可以用,也OK)
2. Motorola驅動程式,可以參考Xoom篇
3. 已經root過的Atrix...(我找時間再介紹@@)

1, 拷貝相關檔案到手機
    1.1 關閉Wifi連線(我是把3G分享也關了),然後使用USB連接手機與電腦
    1.2 關閉手機adb debug模式(設定>應用程式>usb偵錯模式 取消打勾),切換到usb mas storage模式

    1.3 然後在Atrix的外部儲存裝置根目錄建置wififix目錄
    1.4 再把wifix.zip內的3個bin檔案copy到這個(/sdcard-ext/wififix)資料匣
    (PS:其實理論上不關閉adb debug應該是沒關係的,在這先忠於原味呈現...)
2. 重置USB連線
    2.1 安全的移除Atrix與mas storage
    2.2 拔除usb線後重新連接電腦
    2.3 設定Atrix USB連線方式為None(無),即不掛載磁碟
    2.4 重新開起adb debug (設定>應用程式>usb偵錯模式 打勾)
3. 打開電腦的終端機(Windows可以在開始>執行>打上cmd後按enter)
    指令:adb shell
4. 切換到root權限,然後re-mount system這個mount point,再將wifix.zip裡面的三個bin檔案拷貝覆蓋到/system/etc/firmware/wifi/目錄下

    指令:
    su
    mount -o rw,remount -t ext3 /dev/block/mmcblk0p12 /system    # re-mount system這個磁碟區
    rm /system/etc/firmware/wifi/*.bin                                            # 刪除舊的wifi驅動程式
    cp /sdcard-ext/wififix/*.bin /system/etc/firmware/wifi/                 # 拷貝放到/sdcard-ext/wififix/下面的bin到/system/etc/firmware/wifi/目錄下

    chown root /system/etc/firmware/wifi/*.bin                                # 修改權限
    chgrp root /system/etc/firmware/wifi/*.bin
    chmod 755 /system/etc/firmware/wifi/*.bin
    reboot                                                                                   # 重新開機
5. 最後reboot執行後會重新開機,重開機時可以移除usb,重開機後及完成wifi fix

這個網誌中的熱門文章

Oracle LISTAGG

同事介紹的一個Oracle的好用查詢:LISTAGG
SELECT A.GROUP_ID,A.KEY, LISTAGG(A.VALUE,'; ')WITHINGROUP(ORDERBYA.VALUE)as GG  fromSYS_PROPERTIESaGROUP byA.GROUP_ID,A.KEY
LISTAGG可以將group後的結果會總顯示於一個欄位 上述SQL原本A.VALUE會是一個row一個row的排列 使用LISTAGG之後,可以將A.VALUE顯示在同一個row中 並且可以指定間隔符號(在此設定為';') 針對某一些報表查詢非常有用唷 :D

使用GCP Cloud Builder建置CI/CD Flow

服務的建置通常是持續性的作業,而部署則一般是專案初期建置一次,未來可以沿用該部署設定... 這樣的流程走向自動化,在Container的環境又更是重要... 本篇介紹一下,在Google雲端,我們可以搭配Source Repository與Build Trigger等服務來完成服務的自動建置與部屬,讓封裝Container與部署到Container Engine的動作可以一氣呵成...
首先幾單瞭解一下一個Container Engine服務的建置與部屬過程...
使先,建立Container Engine Cluster,透過GCP Winzard可以很快速地開立您的GKE Cluster…

假設您的cluster是叫做demo-cluster,則可以透過下面的指令來跟GKE建立連線
$ gcloud container clusters get-credentials demo-cluster --zone asia-east1-a
這串指令不用記ㄛ~可以在Cluster的頁面找到他...

點選複製,即可貼到您的Terminal執行...

跟GKE建立鏈結後,接下來可以部署您的城市,這邊我們以我的一個範例程式Demoweb (https://github.com/peihsinsu/demoweb) 為例,

這個專案中,包含幾個重要結構:
app/ : 放置您的程式,在Dockerfile中會將該資料匣複製到Docker Image中 k8s/ : 放置k8s的deployment與service描述檔 Dockerfile : 封裝docker的描述檔,會以node.js的image為基礎來建置執行環境 cloudbuild.yaml : Google Cloud Build Trigger的步驟描述檔

Flashback Query

感謝我的好友提供的: 在Oracle好用的指令...
Flashback Query: 讓異動過的資料表回到歷史時間點 Step 1. è
show parameter undo_retention  PS: 這個參數顯示系統上設定歷史保留時間(ex: 900 = 900秒) Step 2. è CREATETABLE XXXXX_0815 ASSELECT *  FROM XXXXXASOFTIMESTAMPTO_TIMESTAMP('2011-08-15 12:00:00','YYYY-MM-DD HH24:MI:SS');
PS: 透過as of timestamp方式取出該時間點的表格資料