X60/T60 Thinkpad Linux下风扇转得多的原因

我似乎找到了我笔记本上风扇的问题……

他就是无线网卡。

在X60上,无线网卡是放在指点杆的三个按键的右边。适用无线网卡上网时,右边掌托感觉热,虽然不是特别热但是因为左边掌托是凉快的,差距明显,所以很不舒服。幸好我们在亚洲地区买的X60没有EVDO,要不然右边掌托就不知道热成什么样子了。但是我们也不能完全怪X60的设计师,因为左边是PCMCIA插槽……

我怎么能说是无线网卡呢?因为用ibm-acpi检测温度(/proc/acpi/ibm/thermal文件)没有看到什么异常,但是风扇却一直在转。我很无聊,所以我查查无线网卡的温度:

cat /sys/module/ipw3945/drivers/pci:ipw3945/0000:03:00.0/temperature

结果是-181,这个不是普通的温度,是T=F-260,所以C可以由C=(T+260)*5/9计算。见:

http://intellinuxwireless.org/repos/?p=iwlwifi.git;a=commit;h=2ff262fb9eb1e892d959d57cea89c7562888c2a9

结果呢,我的网卡温度是60 C。晕,我洗澡都没这个温度……

经过一些测试,我发现:

  1. 当网卡刚加载ipw3945时,没有发热(此时还不能查温度)
  2. 运行ipw3945d-start,网卡天线模块就开始工作,开始发热
  3. 我用省电模式,即iwpriv eth1 set_power 5; iwconfig eth1 txpower 0,这样可以让网卡温度降到47度左右
  4. 链接到一个AP,或者至少iwlist eth1 scan的话,温度又降了,可以降到28度
  5. 如果之前已经链接到一个AP,然后现在又断开了,那么网卡就很忙(LED闪闪不停),我也不知道他在忙什么。这时温度就升到60 C
  6. 这时候如果再iwlist eth1 scan的话就没用了,温度还是那样高。iwconfig也不能强制性地让他把radio关掉,只能开启rf_kill或者卸载模块(或者人工开关无线)

而风扇是在50C左右开始转的,如果我的网卡一直在60C的话,肯定一直吹着。所以解决方法就是关掉无线,要不然就开启无线设置的省电模式,并且链接到一个AP。