玄箱Proの置き換え用としてx86なATOMマシン D945GCLF2を購入した際のメモ。
□ ATOMマザー D945GCLF2を購入した際のメモ 主な仕様やデータシート、ベンチマークとかWindowsでの動作情報とかに 関しては、下記のリンクを参照。 ■ Linuxを中心とした操作感とか動作速度とか スペック的に既存のマシンより落ちるので、重いアプリケーションを動かしたり するのには向きませんが、Web/メール程度のデスクトップ端末としては 普通に問題なく動きます。 動画再生は、高解像度でないVGA程度の解像度の動画ファイルであれば問題ありません。 Compizでのウィンドウ効果などの動作に不満はないレベルです。 YoutubeなどでのFlashの再生についても問題ありません。 ■ ファイルサーバとしての目的 今回の端末の目的は主にファイルサーバなので、それほどハードウェアスペックは 要らないのですが、ちょっとWeb閲覧もできる端末として重宝しそうです。 ファイルサーバの置き換えとして、今まで使ってきた玄箱はARMベースの箱なので OSのセットアップ等がやや煩雑でしたが、ATOMマザーはx86なので OSのセットアップや、環境移行も気にせず行える点がメリットです。 また、玄箱と違ってD945GCLF2ではWake on LANに対応しており 離れたところから必要に応じて電源ONができるので、使い方によっては かなり便利です。 デメリットとしては、消費電力が玄箱より多くなってしまうことでしょうか。 ただし、Wake on LANで必要なときのみ起動すれば、消費電力も気にならないと思います。 ■ ケースの選択 今回は、Mini-ITXのケースとして、DiracのNoah 800を選択してみました。 そこそこコンパクトなのに、それほど無理なく3.5インチのHDDが入る点と 横のスリットが多く開いているので、冷却性能が良く標準ファンが1個あり さらに1個増設できる点が良いです。 電源はACアダプタ方式なので、筐体は小さくまとまる代わりにACアダプタが付属します。 また、問い合わせメールを送ったら丁寧な返答が返ってきたのも好印象で 個人的にポイントupです。 ■ 消費電力の実測 玄箱Pro と D945GCLF2マザー+Noah 800ケースでの比較。 どちらも、光学ドライブなしでSATAのHDDのみ接続。 ------------------------------------------------- D945GCLF2で 待機1w 稼働時 34w (うちHDD max 8w) 玄箱Proで 待機1w 稼働時 13w (うちHDD max 9.3w) ------------------------------------------------- どちらも光学ドライブなし状態での計測なので、こんなものでしょうか。 D945GCLF2を連続稼働させると、月の電気代は538.6円(試算:22円/KWh時)くらい。 玄箱と消費電力の差が20wとすると、連続稼働で年間3850円(月316.8円)ほどの電気代の差ですね。 intel.com - D945GCLF2 デスクトップボード http://www.intel.com/Products/Desktop/Motherboards/D945GCLF2/D945GCLF2-overview.htm intel.com - ATOMプロセッサ http://www.intel.com/jp/products/processor/atom/index.htm intel.com - ATOMプロセッサ テクニカルドキュメント/データシート http://www.intel.com/products/processor/atom/techdocs.htm PC Watch - デュアルコアAtom搭載Mini-ITXマザー「Intel D945GCLF2」 http://pc.watch.impress.co.jp/docs/2008/0925/tawada152.htm 日経BP - 疑似クアッドコアのAtom 330、消費電力が上昇 http://pc.nikkeibp.co.jp/article/news/20080922/1008163/ PC Watch - 後藤弘茂のWeekly海外ニュース SilverthorneのPC向け派生CPU「Diamondville」 http://pc.watch.impress.co.jp/docs/2008/0219/kaigai420.htm Dirac - Mini-ITX用ケース Noah 800 http://www.dirac.co.jp/dirac/noah800.html Akiba PC - 秋だ!小型だ!Mini-ITX対応PCパーツ特集 http://www.watch.impress.co.jp/akiba/hotline/20080927/sp_miniitx2.html Intel 低消費電力ATOMマザーボード D945GCLF2 Noah 800-W Rev1.5(ホワイト)
D945GCLF2に標準搭載されているファンは高速タイプでややうるさめなので、少し低速のファンに交換してみた際のメモです。
□ D945GCLF2でチップセットファンを交換してみた D945GCLF2に搭載されているファンは、T&T社製 4010H12S 40x40x10mm 高速タイプ 12V駆動 スリーブベアリング仕様 国内販売されている仕様は、下記の通りらしいですが 回転数6000rpm 騒音28.0db 風量8.50CFM T&T社のカタログサイトによると 回転数6000rpm 騒音29.7db 風量7.24CFM とのこと。どっちが正しいかよく分かりませんが、どちらにしても 30db近くあるので、少し気になる程度の騒音レベルのようです。 今回は、XinruilianのRDL4010Sファンに交換してみました。 作業そのものは、ドライバーでねじを外して付け直すだけの簡単な作業です。 交換する場合は、PCパーツショップ等で売っている40x40x10mmの サイズの3ピンの静音ファンを入手すればOKです。 回転数4200回転 騒音18.86以下 風量4.52CFM 40x40x10mm スリーブベアリング 風量が半分近くまで下がるので発熱が心配でしたが、個人的な利用環境では 負荷を掛けた状態でもチップセット温度は40度ほどだったので、問題なし。 標準で装着されているファンは、放熱の悪いケースなどでも最低限冷却 できるよう安全側に倒してあるものらしい。 ただし、945GCチップセットに負荷のかかる高解像度の動画再生を行う場合や 通気性の悪いケースで連続稼働させる場合は、それなりの発熱があるはずなので 要注意です。 ネット上での情報を参考にするだけでなく、各自の利用環境で最高負荷時の温度を チェックしておくべきでしょう。特に、夏場に問題なく動くかどうかも 念頭に入れておいた方が良いかと思います。 不安な場合は、デフォルトのファンのままにしておくのが無難でしょう。 また、大口径ファンに交換する場合はエアフローや設置の安定性を 考えておきましょう。Mini-ITXケースで大口径ファンを導入しても かえってエアフローの邪魔になったり、ケーブル類がファンに引っかかる 恐れもあります。 しかし、ATOMプロセッサが45nmプロセスで製造されているのに比べて 945GCチップセットは130nmプロセスと、3世代もプロセスルールが離れているので 消費電力や発熱が少なくはないのがちょっと残念。 製品ラインナップやマーケティング面や価格面などでの妥協点とは思いますが。 もっとも、チップセットが945GCなので、Linuxなどでは少し古めのディストリビューションでも インストールの際にほとんど問題がないのは、メリットとしてもあげられます。 連続稼働のサーバとして稼働させるなら、個人的にはmicroATXとかのケースに 装着するのがお薦め。Mini-ITXマザーはmicroATX/ATXケースにも装着できるので 通気性の良い小さめのmicroATXケースを利用したり、余っているケースを 利用するのもいいでしょう。
インストールしたバージョンは Ubuntu 8.04 Desktop版。SATAのHDDとDVD-RWドライブを接続してインストールを行いましたが、目立った問題はなくインストールが終わりました。正直、あっけなすぎて不満という感じがするけども、それもこれもUbuntuが良くできているからなんだねー。
追記:ubuntu 8.10をインストールしてみましたが、8.04と同じく特に問題なくインストールできています。カーネルが2.6.27になったくらいで、目立った点はないので検証結果は省略。
□ D945GCLF2にUbuntu 8.04をインストールしてみた際のメモ ■ カーネルバージョン ---------------------------------------------------------- $ uname -a Linux ubuntu 2.6.24-19-generic #1 SMP Wed Aug 20 22:56:21 UTC 2008 i686 GNU/Linux ---------------------------------------------------------- ■ CPUの認識状況 dmesgコマンドの結果より抜粋。 HT対応のデュアルコアなので、疑似クアッドコアとして4CPUが認識されています。 ---------------------------------------------------------- CPU3: Intel(R) Atom(TM) CPU 330 @ 1.60GHz stepping 02 Total of 4 processors activated (12772.99 BogoMIPS). ENABLING IO-APIC IRQs ..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1 checking TSC synchronization [CPU#0 -> CPU#1]: passed. checking TSC synchronization [CPU#0 -> CPU#2]: passed. checking TSC synchronization [CPU#0 -> CPU#3]: passed. Brought up 4 CPUs ---------------------------------------------------------- ■ CPUの詳細情報 /proc/cpuinfoより取得。4コア分の情報が出力されます。 CPUのlmフラグでEM64T対応、htフラグでHyper-Threading対応 ssse3フラグでSSSE3対応で、estフラグがないので、SpeedStepには 対応していないことが分かります。 ---------------------------------------------------------- $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 28 model name : Intel(R) Atom(TM) CPU 330 @ 1.60GHz stepping : 2 cpu MHz : 1596.111 cache size : 512 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl tm2 ssse3 cx16 xtpr lahf_lm bogomips : 3195.72 clflush size : 64 (以下略 :残り3コア分の情報) ---------------------------------------------------------- ■ ethtoolによるNICの状態 Gigabit(1000baseT)対応しており、1000Mb/sで接続しているのが分かります。 また、Wake-on-LANがgフラグなので、MagicPacketになっていることも分かります。 ---------------------------------------------------------- # ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000033 (51) Link detected: yes ---------------------------------------------------------- ■ lspciによるデバイス一覧出力 ---------------------------------------------------------- 00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02) 00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01) 00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 01) 00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) 00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01) 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01) 00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01) 01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02) ---------------------------------------------------------- ■ lshwによるデバイス状態 ---------------------------------------------------------- $ sudo lshw -short H/W path Device Class Description ======================================================= system Desktop Computer /0 bus D945GCLF2 /0/0 processor Intel(R) Atom(TM) CPU 330 @ 1.60GHz /0/0/1 memory 512KiB L2 cache /0/0/2 memory 32KiB L1 cache /0/0/1.1 processor Logical CPU /0/0/1.2 processor Logical CPU /0/0/1.3 processor Logical CPU /0/0/1.4 processor Logical CPU /0/3 memory 64KiB BIOS /0/10 memory 1GiB System Memory /0/10/0 memory 1GiB DIMM Synchronous 533 MHz (1.9 ns) /0/100 bridge 82945G/GZ/P/PL Memory Controller Hub /0/100/2 display 82945G/GZ Integrated Graphics Controller /0/100/1b multimedia 82801G (ICH7 Family) High Definition Audio Controller /0/100/1c bridge 82801G (ICH7 Family) PCI Express Port 1 /0/100/1c/0 eth0 network RTL8111/8168B PCI Express Gigabit Ethernet controller /0/100/1c.2 bridge 82801G (ICH7 Family) PCI Express Port 3 /0/100/1c.3 bridge 82801G (ICH7 Family) PCI Express Port 4 /0/100/1d bus 82801G (ICH7 Family) USB UHCI Controller #1 /0/100/1d.1 bus 82801G (ICH7 Family) USB UHCI Controller #2 /0/100/1d.2 bus 82801G (ICH7 Family) USB UHCI Controller #3 /0/100/1d.3 bus 82801G (ICH7 Family) USB UHCI Controller #4 /0/100/1d.7 bus 82801G (ICH7 Family) USB2 EHCI Controller /0/100/1e bridge 82801 PCI Bridge /0/100/1f bridge 82801GB/GR (ICH7 Family) LPC Interface Bridge /0/100/1f.1 storage 82801G (ICH7 Family) IDE Controller /0/100/1f.2 scsi2 storage 82801GB/GR/GH (ICH7 Family) SATA IDE Controller /0/100/1f.2/0.0.0 /dev/sda disk 500GB ST3500320NS /0/100/1f.2/0.0.0/1 /dev/sda1 volume 9538MiB EXT3 volume /0/100/1f.2/0.0.0/2 /dev/sda2 volume 453GiB EXT3 volume /0/100/1f.2/0.0.0/3 /dev/sda3 volume 2957MiB Linux swap volume /0/100/1f.3 bus 82801G (ICH7 Family) SMBus Controller ---------------------------------------------------------- ■ hdparmによるハードディスク速度測定 ディスク速度に関しては、ハードディスクそのものの性能に依存しますが 問題なく性能が出ています。 ---------------------------------------------------------- $ sudo hdparm -tT /dev/sda /dev/sda: Timing cached reads: 1066 MB in 2.00 seconds = 532.61 MB/sec Timing buffered disk reads: 230 MB in 3.02 seconds = 76.27 MB/sec ---------------------------------------------------------- $ sudo hdparm -i /dev/sda /dev/sda: Model=ST3500320NS , FwRev=SN04 , SerialNo= AAAAAAAA Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4 BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=?16? CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=no WriteCache=enabled Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2: ATA/ATAPI-4,5,6 * signifies the current active mode ---------------------------------------------------------- ■ dmesgの出力 dmesgの出力は D945GCLF2_dmesg.txt を参考に。 ■ 読み込んでいるカーネルモジュール lm-sensorsによってi2c関連やsmsc47m1などのモジュールも追加されていますが。 ネットワークチップはRTL8111Cで、r8169モジュールが読み込まれて いますが、一応問題なくネットワーク接続ができています。 ---------------------------------------------------------- $ lsmod Module Size Used by ac 6916 0 agpgart 34760 3 drm,intel_agp ata_generic 8324 0 ata_piix 19588 3 battery 14212 0 bitblit 6784 1 fbcon bluetooth 61156 4 rfcomm,l2cap button 9232 0 container 5632 0 cpufreq_conservative 8712 0 cpufreq_ondemand 9740 0 cpufreq_powersave 2688 0 cpufreq_stats 7104 0 cpufreq_userspace 5284 0 dock 11280 0 drm 82452 3 i915 ehci_hcd 37900 0 evdev 13056 3 ext3 136712 2 fan 5636 0 fbcon 42912 0 font 9472 1 fbcon freq_table 5536 2 cpufreq_ondemand,cpufreq_stats fuse 50708 1 hid 38784 1 usbhid hwmon_vid 4352 1 smsc47m192 i2c_core 24832 3 smsc47m192,i2c_dev,i2c_i801 i2c_dev 8836 0 i2c_i801 10640 0 i915 32512 2 iTCO_vendor_support 4868 1 iTCO_wdt iTCO_wdt 13092 0 intel_agp 25492 1 ip_tables 14820 1 iptable_filter iptable_filter 3840 0 ipv6 267780 24 jbd 48404 1 ext3 l2cap 25728 13 rfcomm libata 159344 3 ata_generic,pata_acpi,ata_piix lp 12324 0 mbcache 9600 1 ext3 output 4736 1 video parport 37832 3 ppdev,lp,parport_pc parport_pc 36260 1 pata_acpi 8320 0 pci_hotplug 30880 1 shpchp pcspkr 4224 0 ppdev 10372 0 processor 36872 1 thermal psmouse 40336 0 r8169 32900 0 rfcomm 41744 2 sbs 15112 0 sbshc 7680 1 sbs scsi_mod 151436 3 sg,sd_mod,libata sd_mod 30720 4 serio_raw 7940 0 sg 36880 0 shpchp 34452 0 smsc47m1 11012 0 smsc47m192 15504 0 snd 56996 11 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_dummy,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device snd_hda_intel 344728 0 snd_hwdep 10500 1 snd_hda_intel snd_mixer_oss 17920 1 snd_pcm_oss snd_page_alloc 11400 2 snd_hda_intel,snd_pcm snd_pcm 78596 2 snd_hda_intel,snd_pcm_oss snd_pcm_oss 42144 0 snd_rawmidi 25760 1 snd_seq_midi snd_seq 54224 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event snd_seq_device 9612 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq snd_seq_dummy 4868 0 snd_seq_midi 9376 0 snd_seq_midi_event 8320 2 snd_seq_oss,snd_seq_midi snd_seq_oss 35584 0 snd_timer 24836 2 snd_pcm,snd_seq softcursor 3072 1 bitblit soundcore 8800 1 snd thermal 16796 0 tileblit 3456 1 fbcon uhci_hcd 27024 0 usbcore 146028 4 usbhid,ehci_hcd,uhci_hcd usbhid 31872 0 video 19856 0 x_tables 16132 1 ip_tables ----------------------------------------------------------
D945GCLF2にDebian etch/etchnhalf/lennyのインストールを試した際のメモです。
□ D945GCLF2にDebian etchをインストール インストール途中でネットワークデバイスの認識に失敗。別途r8168などの ソースを取得してのモジュールのコンパイルが必要だと思います。 下記のカーネルモジュールr8169の対応チップについて調べたメモも参照してください。 SATAのHDD/DVDドライブの認識は問題なかった。 再起動するとXの起動に失敗して固まるので、grub起動時にシングルユーザモードを選択して起動し viなどで/etc/X11/xorg.confの編集を行う。ドライバ指定をi810でなくvesaに書き換える。
□ D945GCLF2にDebian etchnhalfをインストール ネットワークデバイスの認識には成功(r8169)。 SATAのHDD/DVDドライブの認識にも成功。 再起動すると、etchと同じくXの起動に失敗して固まるので、grub起動時にシングルユーザモードで起動して /etc/X11/xorg.confの編集を行う。ドライバ指定をi810でなくintelとかvesaに書き換える。 カーネルバージョン ---------------------------------------------------------- $ uname -a Linux debian 2.6.24-etchnhalf.1-686 #1 SMP Mon Jul 21 11:17:43 UTC 2008 i686 GNU/Linux ---------------------------------------------------------- CPUは4coreとして認識されている。 カーネルモジュール ---------------------------------------------------------- Module Size Used by ac 6212 0 agpgart 31912 2 drm,intel_agp ata_generic 7556 0 ata_piix 17380 2 battery 13700 0 button 8528 0 cdrom 32672 1 sr_mod dm_mirror 21792 0 dm_mod 56004 2 dm_snapshot,dm_mirror dm_snapshot 17060 0 drm 74324 1 i915 ehci_hcd 32556 0 evdev 11200 1 ext3 123272 1 fan 4868 0 generic 4484 0 [permanent] hid 34400 1 usbhid i2c_core 22656 1 i2c_i801 i2c_i801 9456 0 i915 22144 0 iTCO_wdt 11396 0 ide_core 108740 2 generic,piix intel_agp 23540 1 ipv6 242212 20 jbd 43892 1 ext3 libata 144560 2 ata_piix,ata_generic loop 16996 0 lp 11204 0 mbcache 8480 1 ext3 parport 34472 3 ppdev,lp,parport_pc parport_pc 26340 1 pcspkr 3264 0 piix 7556 0 [permanent] ppdev 8900 0 processor 36840 1 thermal psmouse 36656 0 r8169 29508 0 rtc 13148 0 scsi_mod 141516 4 sg,sr_mod,sd_mod,libata sd_mod 27296 3 serio_raw 6788 0 sg 33360 0 snd 48772 5 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer snd_hda_intel 274848 0 snd_mixer_oss 15424 1 snd_pcm_oss snd_page_alloc 10184 2 snd_hda_intel,snd_pcm snd_pcm 72036 2 snd_hda_intel,snd_pcm_oss snd_pcm_oss 38368 0 snd_timer 21348 1 snd_pcm soundcore 7680 1 snd sr_mod 16740 0 thermal 16092 0 uhci_hcd 23568 0 usbcore 127724 4 usbhid,ehci_hcd,uhci_hcd usbhid 28032 0 ----------------------------------------------------------
□ D945GCLF2にDebian lennyをインストール(2008/10/7時点) ネットワークデバイス(r8169)、SATAのCD/HDD、Xの認識なども問題なく行われる。 カーネルバージョン ---------------------------------------------------------- $ uname -a Linux debian 2.6.26-1-686 #1 SMP Wed Sep 10 16:46:13 UTC 2008 i686 GNU/Linux ---------------------------------------------------------- CPUは4coreとして認識されている カーネルモジュール ---------------------------------------------------------- Module Size Used by ac 4196 0 agpgart 28776 3 drm,intel_agp ata_generic 4676 0 ata_piix 14180 3 battery 10180 0 button 6064 0 cdrom 30176 1 sr_mod cpufreq_conservative 5960 0 cpufreq_ondemand 6476 0 cpufreq_powersave 1856 0 cpufreq_stats 3776 0 cpufreq_userspace 3172 0 dock 8272 1 libata drm 65256 3 i915 ehci_hcd 28428 0 evdev 8000 3 ext3 105256 1 fan 4164 0 ff_memless 4392 1 usbhid freq_table 4224 2 cpufreq_ondemand,cpufreq_stats hid 33184 1 usbhid i2c_core 19828 1 i2c_i801 i2c_i801 7920 0 i915 25280 2 iTCO_wdt 9508 0 ide_core 92628 2 piix,ide_pci_generic ide_pci_generic 3908 0 [permanent] intel_agp 22300 1 ipv6 235300 22 jbd 39444 1 ext3 libata 140416 2 ata_generic,ata_piix loop 12748 0 lp 8164 0 mbcache 7108 1 ext3 output 2912 1 video parport 30988 3 ppdev,lp,parport_pc parport_pc 22500 1 pcspkr 2432 0 piix 6568 0 [permanent] ppdev 6468 0 processor 32576 1 thermal psmouse 32336 0 r8169 23684 0 rng_core 3940 0 scsi_mod 129356 4 sg,sr_mod,sd_mod,libata sd_mod 22200 3 serio_raw 4740 0 sg 26964 0 snd 45604 7 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer snd_hda_intel 324248 1 snd_mixer_oss 12320 1 snd_pcm_oss snd_page_alloc 7816 2 snd_hda_intel,snd_pcm snd_pcm 62628 2 snd_hda_intel,snd_pcm_oss snd_pcm_oss 32800 0 snd_timer 17800 1 snd_pcm soundcore 6368 1 snd sr_mod 13316 1 thermal 15228 0 thermal_sys 10856 4 video,thermal,processor,fan uhci_hcd 18672 0 usbcore 118160 4 usbhid,ehci_hcd,uhci_hcd usbhid 35904 0 video 16400 0 ----------------------------------------------------------
□ lm-sensorsを使って電圧/温度を計測する@Ubuntu 8.04 lm-sensorsはLinux環境で、温度や電圧といったハードウェアの状態を IOコントローラチップから取得してモニタするためのツール。 1. lm-sensorsのインストール # aptitude install lm-sensors を実行するか、もしくはsynaptic等を使ってインストールする。 2. 利用しているマザーボードにあったモジュールの検出 # sensors-detect を実行して、利用可能なモジュールを探すためにEnterを押していく。 検出が無事に行われると、最後に組み込むモジュールの一覧が表示される。 ---------------------------------------------------------- To load everything that is needed, add this to /etc/modules: #----cut here---- # I2C adapter drivers i2c-i801 # Chip drivers smsc47m192 smsc47m1 #----cut here---- Do you want to add these lines automatically? (yes/NO) ---------------------------------------------------------- ここで、"yes"と入力してEnterを押して登録する。 3. 再起動するか、modprobeコマンド等でモジュールを読み込むと sensorsコマンドを実行することで、ステータスが表示される。 ---------------------------------------------------------- $ sensors smsc47m192-i2c-0-2d Adapter: SMBus I801 adapter at 2000 +2.5V: +2.54 V (min = +0.00 V, max = +3.32 V) VCore: +1.15 V (min = +0.00 V, max = +2.99 V) +3.3V: +3.33 V (min = +0.00 V, max = +4.38 V) +5V: +5.03 V (min = +0.00 V, max = +6.64 V) +12V: +12.00 V (min = +0.00 V, max = +15.94 V) VCC: +3.35 V (min = +0.00 V, max = +4.38 V) +1.5V: +1.57 V (min = +0.00 V, max = +1.99 V) +1.8V: +1.77 V (min = +0.00 V, max = +2.39 V) Chip Temp: +40.0°C (low = -127.0°C, high = +127.0°C) CPU Temp: +54.0°C (low = -127.0°C, high = +127.0°C) Sys Temp: +48.0°C (low = -127.0°C, high = +127.0°C) cpu0_vid: +2.050 V smsc47m1-isa-0680 Adapter: ISA adapter fan1: 1489 RPM (min = 1280 RPM, div = 4) fan2: 4551 RPM (min = 1280 RPM, div = 4) ---------------------------------------------------------- fan1はCPUファン、fan2は交換したチップセットクーラー。 □ デスクトップ上で温度モニタできるsensors-appletをインストール GNOMEデスクトップ上で常に温度状況をモニタできるので、インストールしておいた。 sensors-appletのインストール。 # aptitude install sensors-applet パネル上で右クリックしてパネルへ追加。 室温25度の環境で、カーネルコンパイルで負荷掛けてみた程度だと チップ温度40度、システム温度48度、CPU温度が58度でした。 ATOM 330のデータシートによるとTc maxが85度なので十分許容範囲内のようです。 lm-sensors.org http://www.lm-sensors.org/
下記のリストは、各バージョンのカーネルソース中のdrivers/net/r8169.cより 対応してそうなチップセットのリストをまとめたものです。 これを見ると、kernel 2.6.24のr8169モジュールでは、一応RTL8111cに対応しているようです。 (パッチの適応状況や細かいリビジョンによって動作の可否は異なるでしょうが) しかし、Debian EtchやCentOS 5.2などで利用しているkernel 2.6.18では RTL8111cに対応していないので、Realtekのサイトからr8168モジュールを ダウンロードしてインストールするか、カーネルバージョンそのものを 上げる必要があるでしょう。 □ kernel 2.6.18のr8169モジュール --------------------- RTL8100e RTL8101e RTL8168b/8111b RTL8169 RTL8169s/8110s RTL8169sb/8110sb RTL8169sc/8110sc □ kernel 2.6.24のr8169モジュール --------------------- RTL8100e RTL8101e RTL8110s RTL8168b/8111b RTL8168c/8111c RTL8168cp/8111cp RTL8169 RTL8169s RTL8169sb/8110sb RTL8169sc/8110sc
r8168モジュールの手動コンパイル/インストールについて、概略だけ。 手動でカーネルモジュールをインストールした際は、カーネルのアップデートの 際に面倒なので、最新のカーネルでr8169を利用するという選択肢も ありかと思います。 詳細に解説したサイトを探すには、「r8168 インストール」とかでググってみてください。 □ 下記のRealtekのサイトよりダウンロード 「LINUX driver for kernel 2.6.x and 2.4.x (Support x86 and x64)」の項目を選択する。 Realtek Driver - RTL8111B/RTL8168B/RTL8111/RTL8168/RTL8111C http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&Get Down=false 2008/11/4時点の最新は、バージョン8.009.00。 ダウンロードしたアーカイブを展開 $ tar xvjf r8168-8.009.00.tar.bz2 $ cd r8168-8.009.00 あとは、このディレクトリ中にあるreadmeファイルを参考にしてインストールする。 Ubuntuで起動時にr8168を設定する方法とかは http://www.jamesonwilliams.com/hardy-r8168.html とか参照。mkinitramfsでinitrdイメージの再生成も必要らしい。
□ sudoでmakeを実行した場合、はまるポイント readmeファイル中では、root権限で実行するよう指定されていたので sudoで実行したらはまった。 /srcという存在しないパスを参照しようとして、エラーになっている。 --------------------------------------------------------- $ sudo make clean modules make -C src/ clean make[1]: ディレクトリ `/home/user/r8168-8.009.00/src' に入ります rm -rf *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags .tmp_versions Module.symvers Modules.symvers *.order make[1]: ディレクトリ `/home/user/r8168-8.009.00/src' から出ます make -C src/ modules make[1]: ディレクトリ `/home/user/r8168-8.009.00/src' に入ります make -C /lib/modules/2.6.27-7-generic/build SUBDIRS=/src modules make[2]: ディレクトリ `/usr/src/linux-headers-2.6.27-7-generic' に入ります scripts/Makefile.build:41: /src/Makefile: No such file or directory make[3]: *** ターゲット `/src/Makefile' を make するルールがありません. 中止. make[2]: *** [_module_/src] エラー 2 make[2]: ディレクトリ `/usr/src/linux-headers-2.6.27-7-generic' から出ます make[1]: *** [modules] エラー 2 make[1]: ディレクトリ `/home/user/r8168-8.009.00/src' から出ます make: *** [modules] エラー 2 --------------------------------------------------------- これは、sudoでmakeした際に$PWD変数に値が入ってないのが原因なので 下記のどちらかの方法を試せばいいかと思います。 --------------------------------------------------------- 方法1. sudoを使わずsuでrootになる方法 下記のように、suコマンドでrootになった上で $ su または、Ubuntu等の場合は $ sudo -i を実行 # make clean modules を実行する。 方法2. ソースをいじる方法 もしくは、src/Makefileの、KFLAG..で始まる行の下(29行目)に PWD := $(shell pwd) の行を追加して、35行目を $(MAKE) -C $(KDIR) SUBDIRS=$(PWD)/src modules から $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules に変更して$ sudo make clean modulesを実行する。
sudoでmakeを実行した際に、$PWDに値が入っていないのを確認してみた。 * makeのバージョン ------------------------------------------------------ $ make -v GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. これはフリーソフトウェアです. 利用許諾についてはソースを ご覧ください. 商業性や特定の目的への適合性の如何に関わらず, 無保証です. This program built for i486-pc-linux-gnu ------------------------------------------------------ 1.テスト用Makefileの作成 --------------------------------------- test: echo "PWD = $(PWD)" echo "shell PWD = $(shell pwd)" --------------------------------------- 2.makeの実行 --------------------------------- $ make -n test echo "PWD = /home/user" echo "shell PWD = /home/user" --------------------------------- ユーザ権限で実行した場合、どちらも値が取得できている --------------------------------- $ sudo make -n test echo "PWD = " echo "shell PWD = /home/user" --------------------------------- sudoで実行した場合は、$(PWD)の値が空になっている。 $(shell pwd)については問題なし。 --------------------------------- # make -n test echo "PWD = /home/user" echo "shell PWD = /home/user" --------------------------------- rootになった上でmakeを実行した場合は、どちらも問題なし。