我的ThinkPad在Ubuntu(Gusty) 是半殘的Wii Remote
這個標題應該讓很多小黑迷忿忿不平不平吧!先別急著生氣,事實上本文並非針對ThinkPad,它在你我心中依然是台很棒的Notebook(氣有消一點嗎?)。那為什麼要「標題殺人」,這絕不是為了騙流量(好啦,承認是有那麼一點!),不過這個原因目前先不提,留至文末。先來說說ThinkPad最為人贊道之體貼使用者的一個小功能-HDAPS。
【什麼是HDAPS】
HDAPS ,主動硬碟防護機制,官方文件這麼說:「Active Protection System,如安全氣囊的感測器,偵測到突然的震動時,於萬分之五秒內快速移開硬碟讀寫頭,防護您每天使用的硬碟之安全,進而保全重要資料。」
【什麼是HDAPS】
HDAPS ,主動硬碟防護機制,官方文件這麼說:「Active Protection System,如安全氣囊的感測器,偵測到突然的震動時,於萬分之五秒內快速移開硬碟讀寫頭,防護您每天使用的硬碟之安全,進而保全重要資料。」
「移動能力」是NB(NoteBook)所強調的重點,但多數人以為「移動」等於「搬動」,事實上當您「搬動」心愛NB時,運轉中的硬碟可不如您所想的那樣堅強,此時讀寫頭靠著碟片旋轉而擾動空氣所產生的浮力,以極小的高度飄浮在碟片上方,稍有振動就有機會讓讀寫頭與碟片產生碰撞,如果運氣差,裡頭寶貴的資料就這樣說了再見,所以才說ThinkPad在硬碟資料保全上的貼心著實讓人感動(麥書也是啦)。
不過可惜的是,HDAPS 需要安裝驅動程式後才能工作。在歷經幾次的kernel編譯失敗,與接踵而來的砍掉重練,還有幾個失眠夜,再加上數十次的求助gogle,最後試了3、4種安裝方法後,發現其實只要「簡單」的兩個module「似乎」就行了:
- hdaps
已經包含在tp_smapi中,主要負責擷取「2維加速規」數據,並轉成position(X, Y) - hdapsd
將不同時刻下的(X, Y),轉換成加速度,並判斷是否需要讓磁頭離開碟片上方。
好吧!接下來先把HDAPS裝起來!
測試環境:
- ThinkPad X61
- Ubuntu 7.10
- 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)為例。
- 首先查看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 - 若系統kernel並非如上列所示,指向下載的kernel source,則必需重新建立之。
command:
#ln -s /usr/src/linux-source-2.6.22 /lib/modules/2.6.22-14-generic/source - 安裝tp_smapi 套件,HDAPS=1 這參數是必須的,否則tp_smapi 與hdaps 這兩個module無法同時在系統中運作。
command:
#cd tp_smapi-0.32
#make install HDAPS=1
設定開機啟動,並更新initramfs(快取?!)
#echo "tp_smapi" >> /etc/modules
#echo "hdaps" >> /etc/modules
#update-initramfs -u
《hdaps-gl》
安裝後,就可以檢視驅動程式是否已經正常運作。
# apt-get install hdaps-utils
# hdaps-gl
請「輕輕」的搖一搖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上讓人明顯感覺是應付了事,套件東缺西缺,這讓我想到企業責任的問題,小客戶群的需要幾乎都是被忽視的,因為他們並無法創造大量的獲利,這或許就是大環境的無奈吧!不過,幸好有許多熱心又可愛的自由軟體社群,因為他們的默默付出,讓軟體世界逐漸有不一樣的一片天,謝謝你們。
相關連結:
- 讓CPU不但快且更冷更省電-有Linux筆電者必看
- Ubuntu 讓 X61;SD、SSD,傻傻分不清楚
- 變更3945ABG參數以降低X61腕托溫度@ Ubuntu 7.10
- 縮短Ubuntu 7.10的開機時間(X61)
- Ubuntu 7.10 on ThinkPad X61
0 意見:
Post a Comment