给我的ThinkPad X200在Ubuntu上加入APS的支持

May 20th, 2009

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2009/05/20/thinkpad-x200_ubuntu_aps.html

近来才发现IBM的APS保护功能很不错,哈哈,很象iPhone的重力感应.呵呵,不过,我想没有人会拿x200来玩重力感应.

APS技术的工作原理,当笔记本电脑硬盘工作时,硬盘磁头在磁盘上方运动,进行数据读取,当撞击力在持续2毫秒内小于200G时,一般可以靠 ThinkPad本本本身的外壳与防震设计来减震,避免对硬盘造成损害。而当撞击力在持续2毫秒内超过200G后,损害将会随着撞击能量的加大而加大,但硬盘处于非工作状态时,磁头处于停止区,硬盘在1毫秒内最大可以承受800G的冲击。当撞击超过800G/1毫秒后,损害将会随着撞击能量的加大而加大(见图右边的函数图)。也就是说如果可以及时将硬盘磁头归位到停止区,则硬盘可以忍受比在工作状态下更大的冲击而不受损害。IBM APS技术就是基于上述原理,在预测到有可能发生撞击后,及时地将磁头移动到停止区以保护硬盘。


要支持aps,有几点
要使用hdaps驱动程序,从硬件传感器读取数据(内核内置此驱动,但不要使用,推荐使用tp_smapi 提供的驱动),所以先用下面的方法先删除原来的.

#sudo rm /lib/modules/`uname -r`/kernel/ubuntu/misc/thinkpad_ec.ko
#sudo rm /lib/modules/`uname -r`/kernel/ubuntu/misc/tp_smapi.ko
#sudo rm /lib/modules/`uname -r`/kernel/drivers/hwmon/hdaps.ko

然后下载所需要的软件

    * tp_smapi-0.4 from here: http://sourceforge.net/project/showfiles.php?group_id=1212&package_id=171579
    * hdapsd-20090401.tar.gz from here: http://sourceforge.net/project/showfiles.php?group_id=138242&package_id=308030
    * gnome-hdaps-applet-20081204.tar.gz from here: http://www.zen24593.zen.co.uk/hdaps/

解压到桌面
#tar xvfz hdapsd-20090401.tar.gz
#tar xvfz tp_smapi-0.40.tgz
#tar xvfz gnome-hdaps-applet-20081204.tar.gz

开始安装tp_smapi之类相当模块

#cd Desktop/tp_smapi-0.40
测试着load那个mod
#sudo make load HDAPS=1 FORCE_IO=1
如果上面显示"drivers successfully loaded",你就可以进行下面的安装
#sudo make install HDAPS=1 FORCE_IO=1
以后要自动加载模块的话
#sudo gedit /etc/modules
加入下面几行
thinkpad_ec   
tp_smapi
hdaps
在打开
#sudo gedit /etc/modprobe.d/local.conf
# enable thinkpad_ec
options thinkpad_ec force_io=1

# option to correctly set tilting through hdaps sensor
options hdaps invert=1

检查

现在查看是不是有hdaps的mod.
lsmod | grep hdaps
如果没有的话
sudo modprobe thinkpad_ec tp_smapi hdaps
你有可能要安装
sudo apt-get install hdaps-utils hdapsd

测试
现在就可以打开测试一下,呵呵
hdaps-gl
移动一下你的电脑看看,是不是在动?

如果hdapsd不能工作,就编译一下他吧
cd Desktop/hdapsd-20090401/
./configure –prefix=/usr/
make ; sudo make install

好了,可以使用命令来测试一下
sudo hdapsd -d sda -s 15 -a -v -y
如果你移动时上面的数据改变,就行了

 

自动启动和APS图标监控

为了让hdapsd能系统启动就启动,还要进行下面的事情

wget http://www.unet.univie.ac.at/~a0604095/hdapsd
sudo chmod 733 hdapsd
sudo cp hdapsd /etc/init.d/
sudo /etc/init.d/hdapsd start
以上命令启动
sudo cp hdapsd /etc/default/hdapsd
默认启动

现在安装gnome-panel-applet,这样可以在系统上面显示个小图标,来显示状态,就知道是否工作正常了

sudo apt-get install libpanel-applet2-dev
cd Desktop/gnome-hdaps-applet-20081204
gcc $(pkg-config –cflags –libs libpanelapplet-2.0) -o gnome-hdaps-applet gnome-hdaps-applet.c
sudo cp gnome-hdaps-applet /usr/bin/
sudo mkdir /usr/share/pixmaps/gnome-hdaps-applet/
sudo cp *.png /usr/share/pixmaps/gnome-hdaps-applet/
sudo cp GNOME_HDAPS_StatusApplet.server /usr/lib/bonobo/servers/

这样你就算安装成功了,在面板上添加附件能看到hdapsd的图标。

 

参考原文:http://www.thinkwiki.org/wiki/Install_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_T400#Active_Protection_System
 

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪 ViVi 365Key 网摘 天极网摘 和讯网摘 博拉网 POCO 网摘 饭否 QQ 书签 Digbuzz 我挖网 Mister Wong
  1. allen
    Sep 30th, 2009 at 19:05
    Reply | Quote | #1

    我的是T400,也可以吗?

  2. admin
    Sep 30th, 2009 at 23:32
    Reply | Quote | #2

    可以

  3. allen
    Oct 10th, 2009 at 16:17
    Reply | Quote | #3

    动驱动我总是惊惊地,有过一次显卡驱动装错后进不去系统的情况~~~

  4. allen
    Oct 10th, 2009 at 16:19
    Reply | Quote | #4

    顺便问一下,为什么T400进Ubuntu时总会将CMOS->Config->Display 设为Switch呢?开始不知道的时候就觉得很奇怪为什么回到XP后分辨率就变低了,后来才发现,是因为Ubuntu没有独显示驱动的原因吗?

  5. lazyorz
    Jan 15th, 2010 at 17:08
    Reply | Quote | #5

    想请问如何保护多个硬盘呢?我的T60安装了第二硬盘,现在只能保护其中一个,不知道怎么设置才能同时保护,网上搜索了一下,好像说将来会支持。。。。。。。。

  6. 宠物狗
    Jan 17th, 2010 at 08:58
    Reply | Quote | #6

    好热闹