⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0610hardware.htm

📁 鸟哥的linux私房菜
💻 HTM
📖 第 1 页 / 共 5 页
字号:
		所以鸟哥在这里仅就这两种装置来介绍启动的方法,如果您还有其他的 USB 装置要驱动的话,
		请参考底下这一篇的内容啊!
		<ul><li><a href="http://www.linux-usb.org/USB-guide/book1.html"
		target="_blank">http://www.linux-usb.org/USB-guide/book1.html</a></ul>
		至于 USB 印表机的实际驱动,我们还得要继续 CUPS 章节的内容才行喔!<br><br>
	</div>

	<hr><a name=hw_pre_lm></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>使用 lm_sensors 取得温度、电压等资讯</span><br>
	<div class=block2>
		玩电脑硬体的朋友们一定都听过所谓的『超频』这玩意儿,所谓的『超频』就是让系统原有的运作时脉增加,
		让 CPU/PCI/AGI 前端汇流排速度提升到非正规的频率,以取得较高的电脑效能。
		这在早期对于单价还是很贵的电脑来说,可以让我们花比较少的钱去获得比较高效能的电脑哩!
		不过,超频要注意的地方可不少,包括电压不可高出 CPU 的负荷、CPU 风扇必须要强有力,
		避免因为温度过高导致系统当机等等。<br><br>

		不过现今的电脑速度已经够快了,我们的 Linux 主机也实在不建议您超频,
		因为整体效能可能增加不了多少,但是却会让您的主机寿命减少、系统不稳定呢!
		而由早期超频的『技术培养』过程当中,我们知道『<span class=text_import2>CPU 的温度、系统的相关电压</span>』
		是影响主机是否稳定的一项重要指标喔!所以棉,如果能够随时掌握温度、电压,
		其实对于系统还是有一定程度的监控啦。<br><br>

		其实各大主要主机板商与晶片组,都会有温度、压力的侦测器在主机内,
		这个我们可以在主机板操作手册或者是在 BIOS 内的『 Monitor 』项目找到相关的温度、压力资料。
		在 Windows 系统当中,厂商有推出相关的软体来侦测,那么在 Linux 当中呢?呵呵!也是有啊!那就是
		lm_sensors 这套好用的东西了!<br><br>

		与之前版本不同的是,FC4 已经内建了这个 lm_sensors 套件了,所以我们不需要手动去安装他!
		真是好高兴啊~检查看看您的主机是否有这个玩意儿吧!<br>

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>rpm -qa | grep lm_sensors</span>
lm_sensors-2.9.1-3.FC4.2
</pre></td></tr></table>

		如果您的 Linux distributions 是比较早期的版本,那么就只好请您自行前往
		<a href="http://www2.lm-sensors.nu/~lm78/" 
		target="_blank">http://www2.lm-sensors.nu/~lm78/</a> 官方网站直接下载 tarball
		并且安装他棉~如果您使用的是 FC3 或 FC4 ,那么我们就直接来处理吧!<br><br>

		由于 lm_sensors 主要是依据『主机板晶片组的型号,带入相关的模组后,再侦测其温度、压力』的,
		如果该主机板晶片组并不是 lm_sensors 所支援的模组,那自然就无法找出该晶片组的温压棉~
		所以啦,我们在使用 lm_sensors 之前,必须要确定主机板是有提供温度、电压的,
		再来,必须要载入主机板的驱动模组,然后才有办法使用 lm_sensors 来进行侦测。<br><br>

		而,好消息是, lm_sensors 本来就提供我们一个不错的主机板晶片组侦测程式,
		那就是 sensors-detect 这个指令。侦测到主机板晶片组后,将该资讯写入设定档当中,
		就可以使用 sensors 指令直接读取目前的 CPU、机壳、电源、风扇等等的资讯了!
		直接来作看看吧!<br>

<table class="term"><tr><td class="term"><pre>
<span class=term_hd>1. 先侦测主机板的晶片组啊!</span>
[root@linux ~]# <span class=term_command>sensors-detect</span>
<span class=term_say># 开头会有一些简单的说明,看看就好!</span>
It is generally safe and recommended to accept the default answers to all
questions, unless you know what you're doing.

 We can start with probing for (PCI) I2C or SMBus adapters.
 You do not need any special privileges for this.
 Do you want to probe now? (YES/no): <span class=term_write>y</span>
Probing for PCI bus adapters...
Use driver `rivatv' for device 01:00.0: GeForce2 MX
Use driver `i2c-viapro' for device 00:07.4: VIA Technologies VT82C686 Apollo ACPI
Probe succesfully concluded.
<span class=term_say># 接下来的行为当中,反正你就一直按 Enter  就可以了!让他自动去侦测!</span>

 I will now generate the commands needed to load the I2C modules.
 Sometimes, a chip is available both through the ISA bus and an I2C bus.
 ISA bus access is faster, but you need to load an additional driver module
 for it. If you have the choice, do you want to use the ISA bus or the
 I2C/SMBus (ISA/smbus)?

To make the sensors modules behave correctly, add these lines to
/etc/modules.conf:

<span class=term_write>#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----

To load everything that is needed, add this to some /etc/rc* file:

#----cut here----
# I2C adapter drivers
modprobe i2c-viapro
modprobe i2c-isa
# I2C chip drivers
modprobe eeprom
modprobe via686a
# sleep 2 # optional
/usr/bin/sensors -s # recommended
#----cut here----</span>
<span class=term_say># 上面的关键是重点!告诉你要如何载入模组的一个简单的范例啊!</span>

Do you want to generate /etc/sysconfig/lm_sensors? (YES/no):
Copy prog/init/lm_sensors.init to /etc/rc.d/init.d/lm_sensors
for initialization at boot time.

<span class=term_say># 如果想要确认一下 sensors-detect 侦测到的结果是否正确,
# 可以使用 lspci 查阅一下喔!鸟哥的例子当中,是这样的∶</span>
[root@linux ~]# <span class=term_command>lspci</span>
00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev c4)
00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP]
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
<span class=term_say># 确实找到的是 VIA 的晶片!没有问题!</span>


<span class=term_hd>2. 开始载入模组与修改一些设定资料档案啊!</span>
[root@linux ~]# <span class=term_command>vi /etc/modprobe.conf</span>
<span class=term_write>alias char-major-89 i2c-dev</span>
<span class=term_say># 将刚刚侦测到的模组给他写入到这个档案当中!这是 kernel 2.6 版的!
# 如果是早期的 kernel 2.4 核心,那就写到 /etc/modules.conf 当中!</span>

[root@linux ~]# <span class=term_command>vi /etc/rc.d/rc.local</span>
<span class=term_write># Adding the sensor for VIA 686A Chip
/sbin/modprobe i2c-isa
/sbin/modprobe via686a
sleep 2
/usr/bin/sensors -s</span>
<span class=term_say># 虽然 sensors-detect 希望我可以载入四个模组,不过,鸟哥分析的结果,
# 发现我只要两个模组载入即可~所以,这里我有省去两个 modules 的载入喔!
# 当然啦!建议你还要看一看 /etc/sysconfig/lm_sensors 档案的内容,就比较更清楚了!</span>

[root@linux ~]# <span class=term_command>sync; sync; reboot</span>
<span class=term_say># 虽然可以直接利用上述的指令在 bash 当中直接处理,不过我不喜欢这样,所以棉,
# 直接给他重新启动系统,就 OK 啦!另外,观察一下是否开机即启动 lm_sensors?</span>
[root@linux ~]# <span class=term_command>chkconfig --list | grep lm_sensors</span>
lm_sensors      0:off   1:off   2:on    3:on    4:on    5:on    6:off


<span class=term_hd>3. 测试侦测主机的状况!</span>
[root@linux ~]# <span class=term_command>sensors</span>
via686a-isa-6000
Adapter: ISA adapter
CPU1 core: +1.73 V  (min =  +1.65 V, max =  +1.90 V)
CPU2 core: +1.73 V  (min =  +1.65 V, max =  +1.90 V)
I/O:       +3.42 V  (min =  +3.12 V, max =  +3.45 V)
+5V:       +5.18 V  (min =  +4.73 V, max =  +5.20 V)
+12V:     +12.24 V  (min = +11.35 V, max = +12.48 V)
CPU1 Fan: 4963 RPM  (min = 3000 RPM, div = 2)
CPU2 Fan: 5232 RPM  (min = 3000 RPM, div = 2)
CPU1 Temp: +39.7°C  (high =   +65°C, hyst =   +55°C)
CPU2 Temp: +40.4°C  (high =   +65°C, hyst =   +55°C)
SBr Temp:  +23.3°C  (high =   +65°C, hyst =   +60°C)
<span class=term_say># 呵呵呵呵!不但可以看到温度、电压,还有风扇转速,实在太完美了!
# 咦!怎么会是双 CPU 啊!呵呵!因为鸟哥的主机板 (这个测试的平台) 是双 CPU 平台,
# 但是 lm_sensors 并没有帮我主动的分出双 CPU ,所以,鸟哥是自行进入设定档,
# 亦即是 /etc/sensors.conf 去进行修订的工作!</span>
</pre></td></tr></table>

		基本上,只要这样的步骤,您的主机就可以主动的侦测温度与电压,还有风扇转速等等资讯。
		不过,事实上,由于主机板设计的不同,所以侦测的结果很有可能是有误差的。以鸟哥的情况来说,
		VIA 694D 是适用双 CPU 的主机板,但是 lm_sensors 假定则是仅有单颗 CPU 的显示状况,
		所以,显示的结果与实际的数据是有差异的~此时或许就需要进行调校了。
		调校的步骤很简单,先确定使用 sensors 显示的结果每个项目代表的意义 (可以参考 BIOS 
		硬体侦测结果的顺序来排列) ,然后进入 /etc/sensors.conf 进行修改即可。
		鸟哥以自己的 via686a 这个晶片组来说明!<br>

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>vi /etc/sensors.conf</span>
<span class=term_say># 在这个档案当中,先找到你的主机板晶片组,参考其内容喔!
# 至于除了 chip 后面接的是晶片组外,其他的则以底下的格式来书写的∶
# label  '实际侦测的输出或者是代号'  '使用 lm_sensors 输出的资讯'
# 举例来说,第一颗 CPU 的侦测项目其实是 "2.0V" ,那个是实际存在
# 主机板当中的一个项目,至于后面的 CPU1 core 则是我们自己加上去的,
# 这样才可以在使用 sensors 时,看到输出的结果啊!因此,
# 那个 "2.0V" 不要动~动的是那个 "CPU1 core" 喔!</span>

chip "via686a-*"
    label "2.0V" "CPU1 core"
    label "2.5V" "CPU2 core"
    label "3.3V" "I/O"
    label "5.0V" "+5V"
    label "12V" "+12V"
    label fan1  "CPU1 Fan"
    label fan2  "CPU2 Fan"
    label temp1 "CPU1 Temp"
    label temp2 "CPU2 Temp"
    label temp3 "SBr Temp"

<span class=term_say># 至于底下的 set 则是在设定『最大、最小限制值』就是了~
# 其中,底下那个 in0 及 in1 分别代表第一、第二个 label 的意思,亦即是
# CPU1 core 及 CPU2 core 啦~再来,则是 temp1~3 ,
# 注意,如果项目不是 "2.0V" 这种以双引号取出的,则必须要使用原本的名称,
# 亦如 fan1, fan2 等等,这个务必了解才行!</span>
    set in0_min 1.65
    set in0_max 1.90
    set in1_min 1.65
    set in1_max 1.90
    set temp1_hyst 55
    set temp1_over 65
    set temp2_hyst 55
    set temp2_over 65
    set temp3_hyst 60
    set temp3_over 65
    set fan1_min 3000
    set fan2_min 3000
</pre></td></tr></table>

		修改完毕之后,就可以准备准备加入更新棉~那就是使用∶<br>

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>sensors -s</span>
</pre></td></tr></table>

		确定更新了这个资讯之后,再下达 sensors ,嘿嘿嘿嘿!就可以顺利的取得属于正确的资讯啦!
		当然,如果想要以图表输出的话,那么不妨搭配 MRTG 来进行网页绘图~

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -