刷 SPL 失败的 HTC Dream 怎样恢复加速传感器的功能

Sat 07 November 2009

手贱不可怕,怕的是手贱以后没有办法挽救。

我在9月底尝试在 HTC Dream 上刷了 Danger SPL。由于没有预先更新 radio 成功,手机启动失败。

修复的方式是换了一个 NAND 芯片(业内人士成为_字库_),说的是加速度感应器没问题。拿到后确实没问题,但是固件是 HiAPK.com 的固件,我不是太喜欢这个固件,主要是慢,选用了cynaogen mod 4.0.2,感觉比较稳定,以及他的 recovery 1.4。刷了以后,加速度感应失效。打电话给 JS,JS 说是不是刷机了,告诉我需要重新发去"做数据"。说一句题外话,换了 NAND 芯片后,本机的序列号会被 reset。

我觉得不对头,反正硬件没坏,于是开始去xda-developer翻帖子。

查资料的结果就是 /system/bin/akmd 是传感器的守护进程(还有个用户,compass);/data/misc/akmd\_set.txtakmd 的配置文件,可以删除这个文件重新校准。但是我这里并没有这个文件,也许是因为换 NAND 的原因吧。说句题外话,我觉得根本不用换 NAND 的,重新插到编程器上烧录就好了吧。JS确实可以"做数据"。我不甘心花来回40的顺丰快递换一个文件,于是决定自己折腾折腾。

反正硬件都是一样的,软件问题啦。最先怀疑的就是akmd,看见有些帖子说可以换老版本的akmd,抓紧去找了个 HTC 的 1.1 ROM,提取出来了 akmd,在console里替换掉,运行 GPS Status 果然可以正确的指南针了。考虑到众多 G1 用户有这样的问题,我把它发来了自己的服务器上。点这个链接就可以下载了。

文件信息:

akmd.gz 48358 bytes

akmd
md5sum  517a87a4e6caa5e66f0520c68dcb7c0e   
sha1sum b741df4aa075115192fe2659c472cd1f6bcd84a0<

下载回来文件解压,拷贝到sd卡第一个分区。在 console 下( Home + Power 开机,用 cm-1.4 的 recovery 选择 Console )执行下面的命令:

mount -a
cd /system/bin
cp ./akmd /sdcard/akmd_old  
cp /sdcard/akmd /system/bin  
tar cf /sdcard/misc.tar /data/misc/  
rm /data/misc/akmd_set.txt  
rm /data/misc/rild*  
reboot

试试你的加速度感应器吧!

关键字:

Android Google G1 换字库 重力感应 SPL刷死 akmd

Comments