Saturday, December 08, 2007

我的ThinkPad在Ubuntu(Gusty) 是半殘的Wii Remote

  這個標題應該讓很多小黑迷忿忿不平不平吧!先別急著生氣,事實上本文並非針對ThinkPad,它在你我心中依然是台很棒的Notebook(氣有消一點嗎?)。那為什麼要「標題殺人」,這絕不是為了騙流量(好啦,承認是有那麼一點!),不過這個原因目前先不提,留至文末。先來說說ThinkPad最為人贊道之體貼使用者的一個小功能-HDAPS。



acmeter


【什麼是HDAPS】

  HDAPS ,主動硬碟防護機制,官方文件這麼說:「Active Protection System,如安全氣囊的感測器,偵測到突然的震動時,於萬分之五秒內快速移開硬碟讀寫頭,防護您每天使用的硬碟之安全,進而保全重要資料。」



  「移動能力」是NB(NoteBook)所強調的重點,但多數人以為「移動」等於「搬動」,事實上當您「搬動」心愛NB時,運轉中的硬碟可不如您所想的那樣堅強,此時讀寫頭靠著碟片旋轉而擾動空氣所產生的浮力,以極小的高度飄浮在碟片上方,稍有振動就有機會讓讀寫頭與碟片產生碰撞,如果運氣差,裡頭寶貴的資料就這樣說了再見,所以才說ThinkPad在硬碟資料保全上的貼心著實讓人感動(麥書也是啦)。



  不過可惜的是,HDAPS 需要安裝驅動程式後才能工作。在歷經幾次的kernel編譯失敗,與接踵而來的砍掉重練,還有幾個失眠夜,再加上數十次的求助gogle,最後試了3、4種安裝方法後,發現其實只要「簡單」的兩個module「似乎」就行了:

  1. hdaps

    已經包含在tp_smapi中,主要負責擷取「2維加速規」數據,並轉成position(X, Y)

  2. hdapsd

    將不同時刻下的(X, Y),轉換成加速度,並判斷是否需要讓磁頭離開碟片上方。


  好吧!接下來先把HDAPS裝起來!



測試環境:

  1. ThinkPad X61

  2. Ubuntu 7.10

  3. kernel: 2.6.22-14-generic


需用到的package

  • kernel-sources

  • tp_smapi

  • hdaps-gl


《 kernel-sources》

  先安裝build-essential套件,後面才能編譯核心(kernel)。
 command:

$ sudo apt-get install build-essential
$ sudo apt-get install linux-source-2.6.22
$ sudo bash
# cd /usr/src
/usr/src# tar -xjf linux-source-2.6.22.tar.bz2



《tp_smapi》

  下載tp_smapi,解壓縮,這裡以tp_smapi-0.32(2007-07-27 release)為例。

  1. 首先查看kernel是否已經存在連結(link)指向下載的kernel source 目錄。
      command:
    # #ls -l /lib/modules/2.6.20-16-generic
    lrwxrwxrwx 1 root root 28 2007-02-02 08:39 source -> /usr/src/linux-source-2.6.20

  2. 若系統kernel並非如上列所示,指向下載的kernel source,則必需重新建立之。
      command:

    #ln -s /usr/src/linux-source-2.6.22 /lib/modules/2.6.22-14-generic/source


  3. 安裝tp_smapi 套件,HDAPS=1 這參數是必須的,否則tp_smapi 與hdaps 這兩個module無法同時在系統中運作。
      command:

    #cd tp_smapi-0.32
    #make install HDAPS=1



  4. 設定開機啟動,並更新initramfs(快取?!)

    #echo "tp_smapi" >> /etc/modules
    #echo "hdaps" >> /etc/modules
    #update-initramfs -u



《hdaps-gl》

  安裝後,就可以檢視驅動程式是否已經正常運作。

# apt-get install hdaps-utils
# hdaps-gl


IMG_3210  請「輕輕」的搖一搖ThinkPad,應該會覺的有點點怪怪的,仔細看一下不難發現X Y 軸反了,所以如果想玩linux經典game企鵝滑冰的話,可要運用一點想像力,因為你的企鵝是側著滑冰。所以目前為止,你已經有一個半殘的「偽」wii remote啦!(其實要修正方向的演算法很簡單,只是我跟c很不熟。)




  接下來,安裝HDapsd之前,為了產生讓硬碟讀寫頭離開碟片上方的程序,必需修正kernel,但是呢?並無法找到適當的patch!google 了老半天, Ubuntu Gusty這版本就是沒有適當的kernel patch,而硬體廠Lenovo support 除了提供tp_smapi 之外,什麼也沒提,所以很遺憾目前Ubuntu Gusty ThinkPad 少了個人認為最重要的一個功能。(除非有另一種情況,就是本人太嫩,眼睛脫窗,也就是說如果您的ThinkPad在Gusty下可以正常使用的話,麻煩您即刻告訴我!感激不盡!)










【自由軟體的弱點】

  硬體廠商的支援是壓垮Linux的那根稻草,還是補足了Linux的最最後一里?以目前低階使用者;本人的經驗來說,在windows的平台上,硬體廠提供了完整的驅動程式,安裝也慎為便利,但在Linux上讓人明顯感覺是應付了事,套件東缺西缺,這讓我想到企業責任的問題,小客戶群的需要幾乎都是被忽視的,因為他們並無法創造大量的獲利,這或許就是大環境的無奈吧!不過,幸好有許多熱心又可愛的自由軟體社群,因為他們的默默付出,讓軟體世界逐漸有不一樣的一片天,謝謝你們。






【Ref.】






相關連結:


0 意見:

  © Blogger template 'Perfection' by Ourblogtemplates.com 2008

Back to TOP