ttt

getttyent

(FreeBSD) ML115 G5で、IPMIによるサーバー状態の監視

2008-11-30 12:17:40 | デジタル・インターネット

HP Proliant ML115 G5で、BIOSメニューをながめていると、IPMIというのが出てきます。

IPMIというのは…

http://www.intel.co.jp/jp/business/glossary/6796.htm
サーバー・プラットフォームの状態 (温度、電圧、ファン、バスなど) 監視や復旧、リモート制御を行うための標準インターフェイス仕様。

というものだそうで、聞いたことはあったけどこれまで使ったことはなかったので、試してみました。

とはいえ、BIOSメニューでIPMIの項目を眺めていても、たいした設定項目は出てきません。

20081130

IPMIによって、ネットワーク経由で、ハングアップしたサーバーの再起動ができる、とかいうものかと思ってたんですが、ML115 G5本体だけでは、それはできないような雰囲気。オプションで、「HP Lights-Out 100cリモート マネジメント カード」というのがあるのですが、それを使えば、いろいろできそうですけど。

「LO100 Device Status : Absent」って表示されてるのは、それを買え!ってことですね(笑)。

ただし、それが無くても、温度やファンの回転数をチェックするくらいなら、出来ました。

FreeBSD 7.1-BETA2 (i386)で試してみました。

ipmiドライバ

ipmiというドライバが必要です。

/boot/loader.confに

ipmi_load="YES"

とか入れておけばよさそうです。

ipmiはsmbusに依存しているようなので、ipmiとsmbusが組み込まれます。

# kldstat
Id Refs Address    Size     Name
1    7 0xc0400000 62d184   kernel
2    1 0xc0a2e000 bf3c     ipmi.ko
3    2 0xc0a3a000 2c20     smbus.ko
4    2 0xc0a3d000 6b2c4    acpi.ko
5    1 0xc65ff000 2000     green_saver.ko

私の場合、kernelを再構築しちゃって、ほとんどのモジュールはビルドしないようにしていたので、configファイルに

makeoptions     MODULES_OVERRIDE="linux acpi/acpi syscons/green drm ipmi i2c/smbus"

という感じで、「ipmi i2c/smbus」の2つを追加して、kernel再構築しなおしました。

ブート時のメッセージに、ipmi0というのが出てきました。ipmi1はエラー?

% dmesg | grep ipmi
ipmi0: <IPMI System Interface> port 0xca2-0xca3 on acpi0
ipmi0: KCS mode found at io 0xca2 on acpi
ipmi1: <IPMI System Interface> on isa0
device_attach: ipmi1 attach returned 16
ipmi0: IPMI device rev. 1, firmware rev. 3.2, version 2.0
ipmi0: Number of channels 1
ipmi0: Attached watchdog

ipmitoolをインストール

portsにある、sysutils/ipmitoolをインストールしました。

「impitool sdr」で、ファンの回転数、温度、電源電圧などが見られます。

# ipmitool sdr
POST Error       | 0x01              | ok
Memory ECC       | Not Readable      | ns
ACPI State       | 0x01              | ok
PCI Reset        | 0x00              | ok
CPU Fan          | 2017.76 RPM       | ok
Rear Fan         | 2164.50 RPM       | ok
CPU Diode        | 33.50 degrees C   | ok
Front Ambient    | 20 degrees C      | ok
System 12V       | 12.04 Volts       | ok
System 5V        | 5.15 Volts        | ok
System AUX 5V    | 5.05 Volts        | ok
System 3.3V      | 3.39 Volts        | ok
System AUX 3.3V  | 3.36 Volts        | ok
CPU Vcore        | 1.13 Volts        | ok
CPU 12V          | 12.04 Volts       | ok
HT 1.2V          | 1.21 Volts        | ok
Mem Vcore        | 1.82 Volts        | ok
MEM VTT          | 0.91 Volts        | ok
MCP55 1.5V       | 1.51 Volts        | ok
MCP55 1.4V       | 1.40 Volts        | ok
Therm-Trip       | 0x01              | ok
CPU Prochot      | 0x01              | ok
System Reset     | 0x01              | ok
NMI              | 0x01              | ok
PCI Error        | Not Readable      | ns
CPU Socket       | 0x02              | ok
LO100 Present    | 0x01              | ok
Watchdog         | Not Readable      | ns

電源が入ってることが確認できます・・・といっても、電源が入ってないとコマンドを実行できませんが。

# ipmitool chassis status
System Power         : on
Power Overload       : false
Power Interlock      : inactive
Main Power Fault     : false
Power Control Fault  : false
Power Restore Policy : previous
Last Power Event     :
Chassis Intrusion    : inactive
Front-Panel Lockout  : inactive
Drive Fault          : false
Cooling/Fan Fault    : false
Sleep Button Disable : allowed
Diag Button Disable  : allowed
Reset Button Disable : allowed
Power Button Disable : allowed
Sleep Button Disabled: true
Diag Button Disabled : true
Reset Button Disabled: true
Power Button Disabled: true

これって、本当は、サーバー本体とは別に、サーバーをリモート監視するためのコントローラのようなものがあって、その監視コントローラに、LAN経由でアクセスして、chassis statusみたいなコマンドを発行するんですよね、きっと。

他のコマンドを試してみたり。

電源を切ることはできました。syncせずにpower offしちゃったようで、次回の起動時に、fsckしてました。ダメじゃん。

(別のFreeBSDマシンから、ML115 G5にログインしていた)
# ipmitool chassis power off
Chassis Power Control: Down/Off
Connection to ML115G5 closed by remote host.
Connection to ML115G5 closed.
(この後、ML115 G5の電源が切れた)

さらに他のコマンドも試してみると、

# ipmitool chassis power cycle
Chassis Power Control: Cycle
Connection to ML115G5 closed by remote host.
Connection to ML115G5 closed.

これも、syncせずにリブート?しちゃったかと思ったら、FreeBSD起動後に、

acpi: suspend request ignored (not ready yet)
acpi: request to enter state S5 failed (err 6)

というメッセージがたびたび出力され、またこのメッセージを出力したあとにファンがうなりをあげたりとかで、変な感じになったので、shutdownコマンドで電源を落として、念のため、コンセントも抜いてみました(ATXだから一部通電しつづける、という理由で)。

リモートから電源オンしたいところですが、ML115 G5本体だけのIPMI経由では無理っぽいです。

WoL(Wake On Lan)ができそうですが、あいにく、FreeBSDでは、NICによって、WoLができたりできなかったり、というのが現状らしく、今のところ、成功していません。

WoLできるようにするためには、シャットダウン処理時に、NICのpower stateをそれ用に設定する必要があるんですが、FreeBSDではNICを完全にpower offにしちゃうので、magic packetを拾えない、ってことじゃないかと思います。

Windows 2000/XPで電源オフしたあとはWoLできるのに、FreeBSDで電源オフするとWoLできなくなる、ってことがよくあります。


(FreeBSD) Xorg.confをいじっても画面の解像度が変更できない・・・Xrandrってのがあるんですか

2008-11-29 09:02:45 | デジタル・インターネット

ビデオカードが1枚あまってたのでML115 G5に挿してみた

のつづきです。

Radeon HD3450というチップを使ったビデオカードで、Xorgを使ってみました。

Xが起動するまでは、何も問題なく、すぐにできたんですが、解像度を変更できなくて、ちょっと手間取りました。

ディスプレイは、しばらく前に買った

LCD-DTV221XBR 地デジチューナーつき液晶ディスプレイ

に、DVIで接続しました。1680x1050で表示できるはずなんですが、xorg.confをどう書き換えても、1280x1024でしか表示されないのです。

FreeBSDは、7.1-BETA2、Xはportsでインストールした最新のXorg 7.3 (xorg-7.3_2)。

ログファイル/var/log/Xorg.0.logをじっくりと眺めていて、ようやく気がつきました。

(II) RADEONHD(0): RandR: Adding RRoutput TV_7PIN_DIN for Output DAC B
(II) RADEONHD(0): RandR: Adding RRoutput VGA_1 for Output DAC A
(II) RADEONHD(0): RandR: Adding RRoutput DVI-I_1/digital for Output UNIPHY_KLDSKP_LVTMA
(II) RADEONHD(0): RandR: Adding RRoutput DVI-I_1/analog for Output DAC B
(II) RADEONHD(0): Output TV_7PIN_DIN using monitor section Monitor0
(II) RADEONHD(0): Output VGA_1 has no monitor section
(II) RADEONHD(0): Output DVI-I_1/digital has no monitor section
(II) RADEONHD(0): Output DVI-I_1/analog has no monitor section
(II) RADEONHD(0): I2C device "RHD I2C line 1:ddc2" registered at address 0xA0.
(II) RADEONHD(0): EDID data for LCD-DTV221X
(II) RADEONHD(0): Manufacturer: IOD  Model: 1683  Serial#: ●●●●●●●●
(II) RADEONHD(0): Year: 2008  Week: 32
(II) RADEONHD(0): EDID Version: 1.3
(II) RADEONHD(0): Digital Display Input
(II) RADEONHD(0): Max H-Image Size [cm]: horiz.: 47  vert.: 30
(II) RADEONHD(0): Gamma: 2.20
(II) RADEONHD(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
(II) RADEONHD(0): First detailed timing is preferred mode
(II) RADEONHD(0): redX: 0.638 redY: 0.328   greenX: 0.300 greenY: 0.600
(II) RADEONHD(0): blueX: 0.149 blueY: 0.060   whiteX: 0.312 whiteY: 0.330
(II) RADEONHD(0): Supported VESA Video Modes:
(II) RADEONHD(0): 720x400@70Hz
(II) RADEONHD(0): 640x480@60Hz
(II) RADEONHD(0): 640x480@67Hz
(II) RADEONHD(0): 640x480@72Hz
(II) RADEONHD(0): 640x480@75Hz
(II) RADEONHD(0): 800x600@56Hz
(II) RADEONHD(0): 800x600@60Hz
(II) RADEONHD(0): 800x600@72Hz
(II) RADEONHD(0): 800x600@75Hz
(II) RADEONHD(0): 832x624@75Hz
(II) RADEONHD(0): 1024x768@60Hz
(II) RADEONHD(0): 1024x768@70Hz
(II) RADEONHD(0): 1024x768@75Hz
(II) RADEONHD(0): 1280x1024@75Hz
(II) RADEONHD(0): Manufacturer's mask: 0
(II) RADEONHD(0): Supported Future Video Modes:
(II) RADEONHD(0): #0: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
(II) RADEONHD(0): #1: hsize: 1440  vsize 900  refresh: 60  vid: 149
(II) RADEONHD(0): #2: hsize: 1680  vsize 1050  refresh: 60  vid: 179
(II) RADEONHD(0): Supported additional Video Mode:
(II) RADEONHD(0): clock: 108.0 MHz   Image Size:  474 x 296 mm
(II) RADEONHD(0): h_active: 1280  h_sync: 1328  h_sync_end 1440 h_blank_end 1688 h_border: 0
(II) RADEONHD(0): v_active: 1024  v_sync: 1025  v_sync_end 1028 v_blanking: 1066 v_border: 0
(II) RADEONHD(0): Supported additional Video Mode:
(II) RADEONHD(0): clock: 119.0 MHz   Image Size:  474 x 296 mm
(II) RADEONHD(0): h_active: 1680  h_sync: 1728  h_sync_end 1760 h_blank_end 1840 h_border: 0
(II) RADEONHD(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1080 v_border: 0
(II) RADEONHD(0): Serial No: ●●●●●●●
(II) RADEONHD(0): Monitor name: LCD-DTV221X
(II) RADEONHD(0): EDID (in hex):
(II) RADEONHD(0):     ■■■■■■■■■■■■■■■■
(II) RADEONHD(0):     ■■■■■■■■■■■■■■■■
(II) RADEONHD(0):     ■■■■■■■■■■■■■■■■
(II) RADEONHD(0):     ■■■■■■■■■■■■■■■■
(II) RADEONHD(0):     ■■■■■■■■■■■■■■■■
(II) RADEONHD(0):     ■■■■■■■■■■■■■■■■
(II) RADEONHD(0):     ■■■■■■■■■■■■■■■■
(II) RADEONHD(0):     ■■■■■■■■■■■■■■■■
(II) RADEONHD(0): Output TV_7PIN_DIN disconnected
(II) RADEONHD(0): Output VGA_1 disconnected
(II) RADEONHD(0): Output DVI-I_1/digital connected
(II) RADEONHD(0): Output DVI-I_1/analog disconnected
(II) RADEONHD(0): Output DVI-I_1/digital using initial mode 1280x1024
(II) RADEONHD(0): RandR 1.2 support enabled
(==) RADEONHD(0): RGB weight 888
(==) RADEONHD(0): Default visual is TrueColor
(==) RADEONHD(0): Using gamma correction (1.0, 1.0, 1.0)
(II) RADEONHD(0): Using 1680x1680 Framebuffer with 1728 pitch
(==) RADEONHD(0): DPI set to (96, 96)

ふとRandRってなんだろうなぁ???と思って調べてみたら、これのことでした。

http://www.thinkwiki.org/wiki/Xorg_RandR_1.2
Xorg RandR 1.2

Xrandrという名前は、portupgradeしたときによく目にしていたので、知ってはいたのですが

Xrandr - X Resize, Rotate and Reflection extension.

というものだそうで、これを使って、解像度やスクリーンサイズを変更できるのでした。

この手の設定は、以前は、xorg.confにあれこれ書いて設定していたのですが、現在、RandRが使える場合には、xorg.confに書いた内容の一部は、無視されてしまうそうです。
この記述は無視するよ、とwarningメッセージとしてログに残してくれてれば、もっとわかりやすかったのに・・・

そういえば、Linuxのナンカでgnome2やkdeとかを使ってると、解像度を変更できるんですが、いったいどういう仕組みになってるんだ?Linux方面で勝手に拡張されたのかね?と、そのときは思ってました。

200811291

200811292

fvwm-1.24rを10年以上使い続けてきた私は、まるで浦島太郎・・・
最近は、若者に負けないように(?)、gnome2とmetacityにしてがんばってますけど。

MacやWindowsと比べて、X Window Systemは歴史は長いものの、機能的にはなんだかなぁと見劣りするところがあって(歴史が長いゆえのしがらみかも)、使っている最中に解像度を変更することは、あまり自由にはできなかったのですが、X RandRのおかげで、ようやくWindows 95程度までに進歩した、ってことでしょうか。

xrandrというコマンドがあって(x r and rという区切りになっていることを、今回初めて知った!)、これで画面の解像度を変更できるそうです。

% xrandr
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 1680 x 1680
TV_7PIN_DIN disconnected
VGA_1 disconnected
DVI-I_1/digital connected 1680x1050+0+0 474mm x 296mm
   1280x1024      60.0 +   75.0     59.9 
   1680x1050      59.9*    59.9 
   1440x900       60.0 
   1024x768       75.1     70.1     60.0 
   832x624        74.6 
   800x600        72.2     75.0     60.3     56.2 
   640x480        75.0     72.8     66.7     60.0     59.9 
   720x400        70.1 
DVI-I_1/analog disconnected

こんな感じで、変更できました。

% xrandr -s 800x600
% xrandr -s 1280x1024
% xrandr -s 1680x1050


これまで、チップセット内蔵ビデオ機能か、古くて枯れたビデオカードと、古いウインドウマネージャを使ってた私には、わからなかったことばかりです。せっかく、やや新しいRadeon HD 3450を使ってみたので、compiz-fusionというウインドウマネージャを試してみようと思いました。

OpenGLをつかってデスクトップを3Dでグリグリ動かしちゃう、見た目は派手だが、実用的ではなく安定性を求めるならやめとく、みたいなものらしいです。

インストールするだけなら、FreeBSDだと、portsで簡単にできました。compizとcompiz-fusionの2つがあって、別物らしい(?)んですが、compiz-fujisonの方がよさそうです。

 ・ ・ ・ で す が、全然、動きませんでした。

いろいろ調べてたら気がついたんですが、dmesgをみてもdrmがでてこないのです。

普通だったら、portsで、graphics/driをインストールしておけば、Xが起動しているときに、radeon_dri.soとかi915_dri.soみたいなのが使われると思うのですが、それは使われいない。なぜなら、drmというカーネルサポートが動いていなかったから。

drm.koとかradeon.koとかi915.koとか、そういったカーネルモジュールが自動的にロードされるはずなのに、それらもロードされていない。

これってのは、

FreeBSDのカーネルでは、Radeon HD 3450がまだサポートされていない

っていうことでした。

Xorgのログを見ると

(II) RADEONHD(0): Unknown card detected: 0x95C5:0x174B:0xE400.
    If - and only if - your card does not work or does not work optimally
    please contact radeonhd@opensuse.org to help rectify this.
    Use the subject: 0x95C5:0x174B:0xE400: <name of board>
    and *please* describe the problems you are seeing
    in your message.
(--) RADEONHD(0): Detected an RV620 on an unidentified card

とか出てて、Unknownはちょっと気になるのですがそれはおいておくとして、RV620とかいうチップなんだってことがわかります。

ちなみに、同じくXorgのログには、こんな対応関係が記録されています。

RV610 : Radeon HD 2350, HD 2400 Pro/XT, HD 2400 Pro AGP; FireGL V4000.
RV620 : Radeon HD 3450, HD 3470.
RV630 : Radeon HD 2600 LE/Pro/XT, HD 2600 Pro/XT AGP; Gemini RV630;
    FireGL V3600/V5600.
RV635 : Radeon HD 3650, HD 3670.
RV670 : Radeon HD 3690, 3850, HD 3870, FireGL V7700, FireStream 9170.

FreeBSDのカーネルで、drmのソースコードはsys/dev/drm/のあたりにありました。drm_pciids.hというファイルにPCIのIDが列挙されていてので、この中で検索してみると、RV620が無いです。

http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/drm/drm_pciids.h

最新の8-CURRENTで使われていると思われるHEADブランチを眺めてみると

http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/drm/drm_pciids.h?rev=1.12&content-type=text/x-cvsweb-markup

まだ入ってないですね。

2008年10月13日のコミットログに、Add support for Radeon rs740 (HD 2100)とあるのですが、もうちょっと先のことでしょうかね?
PCI IDを書き加えるだけで、動いてしまう可能性もあるのかなぁ。

i815な別のパソコンで30分ほど格闘してみましたが、そちらでも動かせず、あきらめました。


絵ナントカ計画

2008-11-28 23:59:00 | 日記・エッセイ・コラム

20081128

ここ2週間ほど、絵空事計画のPodcastが、iTunesでダウンロードできなくて、ウェブも更新されず、最近忙しそうだったので、放送がお休みだったのかと思ってました。
というわけで、1回こっきりの、生のネット配信?ストリーミング放送?を聞いてみたら、あらまあ、ミスだったそうで。たしかに、今見たら、Podcastで2週分、ダウンロードできるようになってました。
出演者が自分で完パケにして放送局に納品するのって、ほほえましいなぁ。

画像は、「絵師のえそらごと4」というソフトで作りました。
最初はもっとなんだかなぁな画像でした。忘れたまま放置してたら、フォトレタッチソフトでフィルタをかけたような、つまんない画像になってしまいました。


ビデオカードが1枚あまってたのでML115 G5に挿してみた

2008-11-27 23:30:03 | デジタル・インターネット

先日、玄人志向 RH4350-LE512H/HSというRadeon HD4350なビデオカードを買ってみたんですが、これは、もともと、玄人志向の「RH3450-LE256H/HS」という、ATI Radeon HD3450なビデオカードを使ってたところ、マザーボードの相性問題なのか、なぜか勝手にリブートする現象が頻発するため、別のにしよう、ということで買ったもの。

というわけで、Radeon HD3450なビデオカードが、1枚、あまってました。

あまらしておくのももったいないので、ML115 G5に挿してみました。

ML115 G5って、工具なしに、ケースをあけることはできるんですが、拡張スロット部分のねじが、普通のプラスのねじじゃなくて、変なのになってます。

☆みたいな形、というか、六芒星?の形になっていて、トルクスドライバーという工具が必要らしいです。

ここで詳しく解説されてました。
http://www26.atwiki.jp/ml115_g5/pages/29.html

100円ショップのダイソーで売ってるらしいんですが、近所のダイソーでは売ってませんでした。


さて・・・、なぜか、持ってました(笑)。ただし、上記のページによれば、T15というサイズのものが必要らしいのですが、もってたのはT10というものでした。

200811272

ちょっとゆるいものの、使えてしまいました。ねじやまをバカにしちゃうかもしれないから、いけないことかもしれませんが。

これ、昔、PowerBookのメモリ増設のときに買って、そのとき1回つかったっきりのものかもしれません。10数年の年月を経て、再び役に立つとは。

200811271

工具がなく、買うのもめんどくさいってときは、なんとか頑張って既存のねじを外して、ふつうのプラスのねじをつけておけばいいんじゃないかなぁ。

で、まあ、FreeBSDでXが、ごく普通に使えてます。

■ 過去記事


(FreeBSD) wineのバージョン1.1.8と1.1.9はブショネ

2008-11-26 23:05:01 | デジタル・インターネット

まあ、ブショネという用語を、かっこつけて使ってみただけなんです。

たしか先週の月曜日に気がついたんですが、portsでインストールしたwine-1.1.8,1で、いくつかのアプリケーションが実行できなくなってました。

これまで、FreeBSD7上で、firefox2とsunbirdを実行するために、wineを使っていました。

wineの1.1.7までは問題なかったのですが、wineの1.1.8でfirefox2を実行しようとすると…

% firefox2-wine …というシェルスクリプトを自分で作って用意してある
fixme:ntoskrnl:KeInitializeSpinLock 0x867a04
wine: could not load L"C:\\Program Files\\Mozilla Firefox\\firefox.exe": Invalid address

うごかないです。

wineでsunbirdを実行しようとすると…

% sunbird-wine  …というシェルスクリプトを自分で作って用意してある
fixme:ntoskrnl:KeInitializeSpinLock 0x867a04
wine: could not load L"C:\\Program Files\\Mozilla Sunbird\\sunbird.exe": Invalid address

これまた、うごかないです。

~/.wine 以下のファイルが腐ったのかと思って、最初からやりなおしてみてもダメ。

というか、firefox2をインストールしようとしても

% wine Firefox\ Setup\ 2.0.0.18.exe
fixme:ntoskrnl:KeInitializeSpinLock 0x867a04
wine: could not load L"Z:\\home\\nhh\\Firefox Setup 2.0.0.18.exe": Invalid address

これが、そもそも動かないのです。

ところが、動くアプリケーションもあります。

たとえば、vixという画像管理のソフト。

% wine /Win/Program\ Files/vix221/ViX.exe
fixme:ntoskrnl:KeInitializeSpinLock 0x867a04
wine: could not load L"Z:\\Win\\Program Files\\vix221\\ViX.exe": Invalid address

Invalid addressと出ますが、動きました・・・wine-1.1.8,1のときは。
今、別のFreeBSD7マシンですが、wine-1.1.9_1,1で試すと、動きませんでした。

ほかにも、picasa2は

% picasa2-wine
fixme:ntoskrnl:KeInitializeSpinLock 0x867a04
fixme:ole:CoResumeClassObjects stub
wine: could not load L"C:\\Program Files\\Picasa2\\PicasaUpdate.exe": Invalid address
wine: could not load L"C:\\Program Files\\Picasa2\\PicasaUpdate.exe": Invalid address
fixme:win:FlashWindowEx 0xc69fcc
fixme:win:FlashWindowEx 0xc68670

となりますが、動いていました・・・wine-1.1.8,1のときは。

同じく、別マシンのwine-1.1.9_1,1で、picasaweb-current-setup.exeを実行しようとしたらダメ。

こうしてみると、この別マシンでwine-1.1.9_1,1を使っていると、Windowsアプリケーションが1つも動かないので、もうこれは無視しましょう。

以下は、先週、調べたときのメモから持ってきたもので、wine-1.1.8,1で試したものです。

TeraPadは・・・

% wine TeraPad/TeraPad.exe
fixme:ntoskrnl:KeInitializeSpinLock 0x867a04
fixme:time:GetCalendarInfoW Unimplemented caltype 4
fixme:time:GetCalendarInfoW Unimplemented caltype 3
fixme:imm:ImmReleaseContext (0x10036, 0x540310): stub

動きました。

PowerPoint Viewerは・・・

% wine Microsoft\ Office/Office12/PPTVIEW.EXE
fixme:ntoskrnl:KeInitializeSpinLock 0x867a04
fixme:heap:HeapSetInformation 0x520000 1 0x0 0
fixme:heap:HeapSetInformation 0x520000 1 0x0 0
fixme:win:EnumDisplayDevicesW ((null),0,0x73f7c0,0x00000000), stub!
fixme:wtsapi:WTSRegisterSessionNotification Stub 0x30028 0x00000000
fixme:commdlg:GetFileName95 Flags 0x00800000 not yet implemented

動きました。

Excel Viewerは・・・

% wine .wine/drive_c/Program\ Files/Microsoft\ Office/OFFICE11/XLVIEW.EXE
fixme:ntoskrnl:KeInitializeSpinLock 0x867a04
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:win:EnumDisplayDevicesW ((null),0,0x73d794,0x00000000), stub!
fixme:wtsapi:WTSRegisterSessionNotification Stub 0x10048 0x00000000
fixme:imm:ImmReleaseContext (0x1002a, 0x542e98): stub
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:wtsapi:WTSRegisterSessionNotification Stub 0x1002a 0x00000000
fixme:reg:GetNativeSystemInfo (0x73ecc4) using GetSystemInfo()
fixme:advapi:CheckTokenMembership (0x0 0x59a030 0x73eccc) stub!
fixme:advapi:CheckTokenMembership (0x0 0x59a030 0x73eccc) stub!
fixme:wtsapi:WTSUnRegisterSessionNotification Stub 0x10048

動きました。

いろいろ試していて、ネットワーク関係を利用するアプリケーションが動かなくなるのかなぁ~?とか思ってました。

先週の時点で、wine-1.1.8,1がおかしい、という情報は結構でてました。

今日になって、wine-1.1.9が出ていることが気がついて、先ほど、試してみたんですが、ぜんぜんダメってかんじですね。

cvswebでportsのwineのところを見てると、

http://www.jp.freebsd.org/cgi/cvsweb.cgi/ports/emulators/wine/Makefile

send-prが出てるようです。

http://www.freebsd.org/cgi/query-pr.cgi?pr=128926

wine-1.1.9になって、問題解決したー!!でcloseしたものの、すぐに、やっぱりダメってことで、またopenになってます(苦笑)。

結局、wine-1.1.7,1に戻しました。

ちなみに、バイナリパッケージが、こんなに残ってまして、そのおかげで、すぐに1.1.7,1に戻せました。普段、消してないんですが、こんなときに役にたつとは!

wine-0.9.60,1.tbz            wine-1.1.1,1.tbz
wine-0.9.61,1.tbz            wine-1.1.2,1.tbz
wine-1.0,1.tbz               wine-1.1.3,1.tbz
wine-1.0.r2,1.tbz            wine-1.1.4,1.tbz
wine-1.0.r3,1.tbz            wine-1.1.5,1.tbz
wine-1.0.r3_1,1.tbz          wine-1.1.7,1.tbz
wine-1.0.r4,1.tbz            wine-1.1.8,1.tbz
wine-1.0.r5,1.tbz            
wine-1.1.0,1.tbz

上でwine-1.1.9,1で動かなかったマシンでも、wine-1.1.7,1をインストールしたら、firefox2、picasa、vixなど、ちゃんと動きました。

(2008/11/29追記)

以下によれば、パッチがあるそうです。私は1.1.7に戻して困っていないので、portsが更新されるのを待ちます。

http://gihyo.jp/admin/clip/01/fdt/200811/27
FreeBSD Daily Topics
2008年11月27日 Wine 1.1.8/1.19 “Invalid address”問題修正パッチ,Portsインストール高速化手法,ATAレベルで実現するソフトウェアRAID,FreeBSDに起動後5分間の脆弱性

(2008/12/20追記)
portsのwine-1.1.10.,1では、パッチがとりこまれたおかげか、一応、動くようになっています。
デバッグ用ログメッセージのようなものがダダ漏れな感じでもありますが。


(FreeBSD) freebsd-updateを初めて使ってみた

2008-11-25 22:58:04 | デジタル・インターネット

FreeBSDのアップデートは、これまで、make buildworldするか、sysinstallのupgrade installを使うかしてたんですが、昨日は、はじめて、freebsd-updateを使ってみました。
なんだか、妙に、時間がかかって、不安な感じになります。短時間で、ちゃちゃっと済ませたいのなら、sysinstallの方が短時間で済むような気がします。

まぁ、とりあえす、うまいこと、7.0-RELEASEを、7.1-BETA2にできました。7.1-RELEASEはいったいいつ出るのやら…

# freebsd-update -r 7.1-BETA2 upgrade
Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 7.0-RELEASE from update1.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files...
Inspecting system... done.

WARNING: This system is running a "■■■■■■■" kernel, which is not a
kernel configuration distributed as part of FreeBSD 7.0-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install".
~~~なんてことを言われてしまう~~~

The following components of FreeBSD seem to be installed:
src/base src/crypto src/sbin src/sys src/tools world/base world/dict
world/doc world/games world/info world/manpages

The following components of FreeBSD do not seem to be installed:
kernel/generic src/bin src/cddl src/compat src/contrib src/etc src/games
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
src/secure src/share src/ubin src/usbin world/catpages world/proflibs

Does this look reasonable (y/n)? y

Fetching metadata signature for 7.1-BETA2 from update1.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.
Fetching files from 7.0-RELEASE for merging... done.
Preparing to download files... done.
Fetching 6792 patches.....10....20....30....40....50....60....70....80....90....100....110....120....130....140....150....160....170....180....190....200....210....220....230....240....250....260....270....280....290....300....310....320....330....340....350....360....370....380....390....400....410....420....430....440....450....460....470....480....490....500....510....520....530....540....550..

...6520....6530....6540....6550....6560....6570....6580....6590....6600....6610....6620....6630....6640....6650....6660....6670....6680....6690....6700....6710....6720....6730....6740....6750....6760....6770....6780....6790. done.
Applying patches...
Fetching 1500 files... done.
Attempting to automatically merge changes in files... done.

The following file could not be merged automatically: /etc/mail/sendmail.cf
Press Enter to edit this file in vi and resolve the conflicts
manually...

とか言われますが、cvs commitしてconflictしたときと同じような書式で表示されてました。

いったいどこに、sendmail.cfをviで編集できる人がいますか!と。。。

submit.cfでも言われた。以下同文。

sshd_configも、直せっていわれた。

あと、いろいろ聞かれた・・・けど、それにしても、このユーザーインターフェイスは、わっかりにくいなぁ~

こんなファイルが更新されるよ、と表示されますが、あまりにも大量に出てくるので、見るのも嫌になる。こんなの見せられても、見にくいだけで、はっきりいって無意味であると。

The following files will be removed as part of updating to 7.1-BETA2-p1:
/etc/rc.d/kernel
/usr/include/netgraph/atm/ng_atmpif.h
/usr/sbin/pkg_check
/usr/sbin/pkg_sign
/usr/share/doc/de_DE.ISO8859-1/books/handbook/portsnap.html
/usr/share/doc/el_GR.ISO8859-7/articles/dialup-firewall/x103.html
/usr/share/doc/el_GR.ISO8859-7/articles/dialup-firewall/x77.html
/usr/share/doc/el_GR.ISO8859-7/articles/formatting-media/x163.html
/usr/share/doc/el_GR.ISO8859-7/articles/formatting-media/x221.html
/usr/share/doc/el_GR.ISO8859-7/articles/formatting-media/x319.html
/usr/share/doc/el_GR.ISO8859-7/articles/freebsd-questions/x115.html
/usr/share/doc/el_GR.ISO8859-7/articles/freebsd-questions/x206.html
/usr/share/doc/el_GR.ISO8859-7/articles/freebsd-questions/x218.html
/usr/share/doc/el_GR.ISO8859-7/articles/freebsd-questions/x48.html
/usr/share/doc/el_GR.ISO8859-7/articles/freebsd-questions/x68.html
/usr/share/doc/el_GR.ISO8859-7/articles/freebsd-questions/x93.html
/usr/share/doc/el_GR.ISO8859-7/articles/laptop/x20.html
/usr/share/doc/el_GR.ISO8859-7/articles/laptop/x24.html
/usr/share/doc/el_GR.ISO8859-7/articles/laptop/x46.html
/usr/share/doc/el_GR.ISO8859-7/books/handbook/eresources-shell.html
/usr/share/doc/el_GR.ISO8859-7/books/handbook/ln21.html
/usr/share/doc/en_US.ISO8859-1/articles/contributors/misc.html
/usr/share/doc/en_US.ISO8859-1/articles/contributors/staff-core.html

たくさん表示されて・・・終わり。え?

実は、まだ新しいファイルはインストールされていなかったりする。わかりにくいなぁ。

# freebsd-update install
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.

とりあえずリブートします。ちゃんとブートする保障もないわけで、非常に不安。

あ、さっき、kernelを置き換えろみたいなことを言われてたけど、忘れちゃった。

リブート後。

もう一度、installを実行。

# freebsd-update install
Installing updates... done.

ここで、またかなり時間がかかる・・・う~ん

なんとなく、freebsd-updateって、個人的には、好きになれないなぁ。

インストールしたまんま、標準インストールのまんまで使っていく、というのなら、freebsd-updateでいいのかもしれません。

アップデート、アップグレードって、やっぱり問題が発生しやすいです。
いざとなったら、新規インストールで、以前の環境を短時間で再現できる技術、それを見につけておくのが、一番いいんじゃないかなぁ、とか思ってみたり。
何かトラブルがあったら新規インストール・・・それは、Windowsのことか。


NTLDR is missing問題、ようやく解決

2008-11-24 19:37:16 | デジタル・インターネット

20081124

前回、11月3日、

実家のパソコンを置き換える作戦 ・・・ 失敗

のとき、

NTLDR is missing

と表示されて、Windows 2000が起動しなくなってしまいました。

そして、今日、ようやく、復旧できました。

どうやったかというと、

FreeBSDのsysinstallで、FreeBSD用のパーティションを作った

なんていう、無関係そうなことで、直ってしまったのです。謎です。

どうも、こういうことが起きていたんではないかと、予想しています。

  • もともと、Windows 98SEで使っていたハードディスクだったので、CドライブはFATだった
  • Windows 2000をCドライブにインストールした。FATのままにしておいた
  • ずーっと、ふつうにWindows 2000を使えていた。
  • Cドライブはそのままにしたまま、ディスクの後半部分のパーティションを切りなおした。
  • FATなCドライブのすぐあとに、FreeBSDをインストール

ここまでは普通に使えていた。

  • そのあと、Windows 2000上で、ディスクの残った領域に、プライマリパーティションとして、NTFSをつくった
  • そしたら、Windows 2000を起動しようとすると、NTLDR is missingと表示されて、二度と起動しなくなった。
  • FreeBSDで、ドライブCの中をマウントしてみると、ちゃんとNTLDRほか、必要なファイルはすべて存在している。
  • もしかすると、NTのローダーが、3個めのパーティション(NTFS)からブートしようとして、NTLDR is missingとなっているのかもしれない。
  • というわけで、3個めのパーティションを削除した。

それでも、NTLDR is missing。う~ん・・・

  • 削除したはずのパーティション(の跡地)に、何かしら、意味ありげなデータが残っていて、それを、NTのローダーが見つけているのかもしれない。
  • じゃあ、新規のパーティションを作ってしまえ、ということで、sysinstallで、FreeBSDなパーティションを作成。

ここで、ようやくWindows 2000が起動するようになったのでした。

その後、3個めのFreeBSDなパーティションは削除し、拡張パーティションを作ってから、その中にNTFSなパーティションを作りました。
こうすることで、NTLDR is missingは出ていません。

ここを参考にしながら、昨日から、試行錯誤していました。

http://nobumasa-web.hp.infoseek.co.jp/faq/boot_hdd/trouble.html
ブートとハードディスクFAQ集(トラブル編)

こっちは、問題解決のためには、ぜんぜん役に立ちませんでした。

Microsoftサポートオンライン
http://support.microsoft.com/kb/318728/ja
Windows 2000 での "NTLDR Is Missing" エラー メッセージのトラブルシューティング方法


勤労感謝の日 2008

2008-11-23 20:22:10 | 日記・エッセイ・コラム

暦どおりに、休んでます。

今朝早く、実家へ。
普通列車の静岡行きに乗って。373系という(らしい・・・さっき調べました)、ちょっといい車両でして、眺めもいいし、シートも座りやすかったので、お得な感じでした。日の出が見えたり、かすかに虹も見えていました。早起きは、やっぱりいいもんですね。

御殿場のほうでは富士山にそこそこ雪が積もってましたが、うちのほうからだと、この程度。

20081123

夕方、犬の散歩。夕焼けがきれい。ただし、天気予報では明日の午後すぎから雨。

200811232


BUFFALO WLI-U2-KG54L ~ USBな無線LANアダプタ

2008-11-22 22:19:15 | デジタル・インターネット

以前、アンケートに答えたら無線LANルータをくれるというので、BUFFALOのAirStation WHR-G/Uというのを、一応もらっておいたんです。

でも、うちでは無線LANはいらないな!ということになってたんですが、
そのあと、ニンテンドーDSiを衝動買いして、ようやく無線LANの出番がきました。

正直なところ、DSiで無線LANを使って、すっげー便利だ!!と思うところもないので、無線LANルータの電源も切ったままなんですが・・・

使うかどうかはともかく、「使えるようにする」ということ自体が目的になることも多いわけで(昔、環境設定オタクという人種がいた…)。

こうなると、実家に行ったときにも、DSiで無線LANを使いたい。

そういえば、もらった無線LANルータに、USB接続な無線LANアダプタがついてました。
それが、WLI-U2-KG54Lというもの。

200811221

これをFreeBSDマシンにつなげば、アクセスポイントがつくれるんじゃない?ということで、ちょっとやってみました。

先日購入したML115 G5にFreeBSD 7.1-BETA2をインストールしてあるので、それを使いました。ところで、そういえば、ML115 G5は、さらに値段が安くなってるみたいです。

200811222

・・・で、いきなり、なんか変。

ubser0: <Buffalo USB2.0 WLAN, class 255/255, rev 2.00/48.10, addr 2> on uhub1
ubser0: failed to get number of serials
device_attach: ubser0 attach returned 6
ubser0: at uhub1 port 8 (addr 2) disconnected
ubser0: <Buffalo USB2.0 WLAN, class 255/255, rev 2.00/48.10, addr 2> on uhub1
ubser0: failed to get number of serials
device_attach: ubser0 attach returned 6

ubserというのは「USB support for BWCT console serial adapters」というヤツのドライバらしいのですが、そんなやつでprobeしようとしてます。

どうしてそんな風になるのか意味がわからないので、ubserを抜いたカーネルを作ってやると、今度は

zyd0: <Buffalo USB2.0 WLAN, class 255/255, rev 2.00/48.10, addr 2> on uhub1
zyd0: sorry, radio "PV2000" is not supported yet
zyd0: could not attach RF, rev 0xa
device_attach: zyd0 attach returned 22

という感じ。
zydというドライバは、「ZyDAS ZD1211/ZD1211B USB IEEE 802.11b/g wireless network device」というものなので、近くなってきました。

ネットで調べてみると、WLI-U2-KG54Lは、ZD1211Bというデバイスを使っているらしく、ビンゴ?

Windows用のデバイスドライバに入ってるNETU2KGL.INFを見てみると、

Device name    : ZD1211B USB 802.11 b+g Wireless LAN card. (ZD1211B)

と書いてあって、たしかにそうらしいです。

だけど、エラーが出てる。「PV2000」と表示されるのは、revisionが0xaというのが、zydではPV2000だと思っているだけのことですが、とにかく、そいつはサポートされていない、と。

とりあえず、ソースコードを眺めてみる。

http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/usb/if_zyd.c

ちょっといじれば使えるようになる、ってもんじゃないことはわかりました(笑)。

一応別のPCで8-CURRENTにて確認しましたがダメでしたし、ソースコードを見てもダメなことは明らか。



もう1つの方法。あんまりよく知らなかったんですが、NDISという仕組みを使って、Windows用のデバイスドライバから、FreeBSD用のデバイスドライバを作れちゃうというもの。

さっそくやってみたんですが、まったくprobeされない。

ん? FreeBSDのNDISは、USBデバイスをサポートしてないみたいです。それじゃあprobeされないわけです。


さらにネット検索すると

CFT/CFR: NDIS(4) USB support
http://groups.google.co.jp/group/muc.lists.freebsd.current/browse_thread/thread/51ef831522c5078f

It looks that NDIS USB support works for some USB wireless drivers so
I'd like to call for tests to everyone who interested in NDIS for
FreeBSD.  I have 7 USB wireless adapters and with current NDIS USB
support 4 of 7 adapters are supported. 

なんていう、まさにこれだ!な情報があります。

数ヶ月前の情報なので、すでにCURRENTかSTABLEに入ってるかも?と期待して、パッチが提供されていたファイルについて、CSV中のソースコードを見てみたんですが、入っていないようでした。

上記のリンク先のスレッドもあまり伸びてないので、ダメなんですかね?

つい最近、CURRENTではUSBのコードがすっかり置き換わったみたいだし、もうちょっと待ってると、使えるようになるかな???



思い出したんですが、無線LANのデバイスって、アクセスポイントになれるものと、なれないものがあるんですよね。無線LANは全然使って無いので、あんまりよく知らないんですけど。

zydのマニュアルを見ると、どうもコイツ、アクセスポイントになれなそう。それじゃダメですね。




Linux方面ではどうなのかな?と思ってネット検索してみると、どうも使えているらしいです。

とりあえず、Fedora 9のLive CDをつくって、ML115 G5にいれてブート・・・

200811223

・・・ブートしません。固まりました。

ブート時のオプションを変更して、メッセージを表示させてみると

200811224

なんだか、よくわかりません(笑)。

とりあえず、HPのウェブサイトで、ML115 G5にRedHatやFedoraをインストールするときは、SATAのデバイスドライバをフロッピーディスクでロードしてやる、みたいな情報が出てるので、それが関係しているのかも。


しかたないので、別のパソコン、FreeBSDでもけっこうてこずった、ASUS P5Qというマザーボードのパソコンで、Fedora 9のLive CDを使ってブート・・・

200811225

やっぱりブートしません。

うーん、リナックスでも、こんなもんだったのかぁ。