10月 272010
 

さてさて。最近ネタが一段落して来たので、CPU コレクションが連発になります。今回で第16回目ですね。Intel i486 系、本当に最後の CPU です。

今回登場するのは i486DX2 の「オーバードライブプロセッサ」になります。まずは写真を。

i486DX-ODP_1.jpg

さてさて。後にも先にも、CPU にヒートシンクが default で付いている CPU は、僕が持っている中でこれだけになります。

それくらい貴重かなぁ。などと勝手に思ってしまったわけなんですけども。僕的にはこっちを先に手に入れたのですが、よくよく探してみると前回書いた i486XS の「オーバードライブプロセッサ」もあるみたいなので、そちらを後から手に入れた。と言う感じなのでありました;-)。

こちらは CPU の裏側になります。

i486DX-ODP_2.jpg

基本的には i486 系なのでどれも似たような感じてあまり面白みはないですかねぇf(^^;;。

これで、僕の手持ちの i486、i586 な CPU は全てになります。ここまでで 16 エントリーになりました。CPU の個体的には 20 個位持っている感じですが;-)。

でもって次回からはいよいよ i686 系 CPU になっていきます。ただ、Socket370 に行くまでまだ随分と先になるかと思いますが、皆さんお楽しみにー;-)。

10月 192010
 

さて。CPU コレクションの第15回目です。そろそろ違うアーキテクチャに行くのかぁ?とか思いきや、もう少し i486 続いてしまうのであります。どうも済みません。

今回は i486 の「オーバードライブプロセッサ」の登場です。これもまぁ、 i486 なのですが、今回登場するのは i486SX の OverDrive プロセッサです。クロックは 20MHz 明らかに i486DX4 よりも遅いと思うのですけどもね。

i486SX-ODP_1.jpg

この辺りの CPU を使った事のある人は多分、コテコテの PC マニアなんでしょうナァ。僕は P54 から PC をいじりだしたので実は良く分かっていません。フツーの i486SX よりも 「オーバードライブプロセッサ」のほうが速いのだろうなぁ。などと、漠然と思っているだけです。

こちらが裏側。

i486SX-ODP_2.jpg

そー言えば、こないだ、アキバに行ったとき、Intel の “神様” が「『オーパドライブ』って付く CPU はハズレが多いですね。」みたいなこと行っていましたが、それはこの CPU のことをある意味さしているんでしょうなぁ。

ふふふ。僕、持っているもんねー。みたいな。使ったこと無いんだけど;-P。

10月 152010
 

前回のエントリーで「ThinkPad X100e がサスペンド/レジュームしない。」って書いたんだけど、FreeBSD/amd64 8.1-STABLE 自体はもうバリバリサスペンド/レジュームします。ただ、X の画面がエラー吐いてちぃとも復活しない。って感じなのであります。

ati ドライバ(の radeon)や radeonhd を試したり、後 vesa も試しました。 vesa の場合はレジューム後に X の画面が戻ってきて X が使える場合もあります。ただ、サイズが 1024×768 なのとレジューム後に利用はできるのだけどログを吐きまくっている状態なので使い続けるのはどうかな。などと思うのでありました。

こうなったら xf86-video-ati の radeon ドライバでバグが治ってくれるのを待つばかりですが、せっかくなので、絶えず最新版が利用できるような環境を用意しておこうなどと思ったのであります。

http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/

この辺りを見ていると、コツコツと更新はされているようです。で、snapshot は “master” と言う文字列が付加されて公開されているようなので、それ用の ports を作ってみました。以下に転がしておきます。

結構トリッキーなのでコミットはしません。また、もし利用するのであれば ports に詳しい人限定です;-)。
後、 automake-1.11.1 が必要です。利用する場合には portupgrade して automake のバージョンを上げてください。

http://www.icmpv6.org/Prog/FreeBSD_ports/ports-xf86-video-ati-master.tgz

このファイルをダウンロードしたら /usr/ports/x11-drivers/ 辺りに展開します。 そーすると xf86-video-ati-master/ と言うディレクトリができたかと思います。

ちなみに ports の雛形は x11-drivers/xf86-video-radeonhd-devel を参考にさせてもらっています。nork さんありがとー;-)。

# cd /usr/ports/x11-drivers
# tar xvzfp ~/ports-xf86-video-ati-master.tgz
# cd xf86-video-ati-master
# rm /usr/ports/distfiles/xorg/driver/xf86-video-ati-master.tar.bz2
# make NO_CHECKSUM=yes configure
# cat patch-man_Makefile | patch
# make NO_CHECKSUM=yes install

 
こんな感じですかねー。man がインストールできないので patch-man_Makefile を実行しますが、ports の Makefile で吸収することができませんでした。ダサくてすみません・・。

後、絶えず最新版の xf86-video-ati-master.tar.bz2 を取ってくるので make NO_CHECKSUM=yes します。 distinfo はオマケみたいなものですが、 xf86-video-ati-master.tar.bz2 がダウンロードできない時は distinfo の SIZE を書き換える必要があるかもしれません。

一回インストールしている場合は make deinstall してから make reinstall になると思います。

 
ThinkPad X100e のグラフィックスチップは RADEON HD 3200 の RS780M になります。フツーであれば x11-drivers/xf86-video-radeonhd を利用するのですが、最近の ATI ドライバには radeon ドライバが吸収されていてこっちのほうが進んでいるようです。

xf86-video-ati の ports は 6.13.0 なんですが、上記 URL が示すとおり最新版は 6.13.2 になります。 x11-drivers/xf86-video-ati の Makefile の PORTVERSION= を 6.13.2 にして make NO_CHECKSUM=yes install って手もあります。この場合 xorg.conf のドライバは Driver “radeon” にすると良いです。

で、xf86-video-ati のドライバを使うと何が良いか?と言うことなのですが、僕は持ってませんが DH5000 番台のグラフィックカードが利用できるみたいなんですね。

最新の ATI のグラフィックスチップを利用している人は xf86-video-ati の 6.13.2 もしくは開発中版の master を利用して、トライしてみるのもひとつの手かと思います。

ちなみに ThinkPad X100e の RADEON HD 3200 は前のエントリでも書きましたが、レジューム後に以下のメッセージが出力されて、利用できなくなります。

info: [drm] wait idle failed status : 0xA0003030 0x00000003

 
この文字列で gogo ってみると以下の URL が出てくるので、問題点については認識されていると思うので、早く改修されて、まずは master 版で提供されないかなー。

https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/608665

などと思っているのでありすます。

これからは一週間に一度位の割合で xf86-video-ati を更新するのであります;-)。

あ。もっと美しい ports を書いてくれる方、絶賛募集中;-)。

10月 072010
 

ThinkPad X100e の三回目です。これで最後になるか?! と、言う感じなのですが、僕がこの X100e を購入した後に Lenovo から新製品が出たり DELL から AthonII X2 な CPU の NotePC が出たりしてちょっと悲しいことが続いている、つまりはまぁ、僕が購入したタイミングが非常に悪かった。と言うことになるのですけども・・。orz。

と、言うことで今回は X100e で FreeBSD を利用した時の Suspend と Resume についてのお話です。「ThinkPad X100e で FreeBSD。気がついた点。」のエントリーでは「サスペンド・レジューム動きません。」とキッパリと書いたのですが、色々試したら、X 無しだと Suspend して Resume することが確認できました。FreeBSD もドンドンと進んでいると言うことですねぇ・・。大変失礼しました・・。

試した方法ですが、全てのカーネルモジュールを unload します。でもって必要最小限のカーネルもシュールのみで起動します。以下はそのモジュールのリストです。

kernel
acpi_ibm.ko
random.ko
if_re.ko
miibus.ko
procfs.ko
pseudofs.ko
ipfw.ko
libalias.ko
radeon.ko
drm.ko
agp.ko

 
ファイルシステム系のモジュールはあってもなくても大丈夫でしょう。ネットワーク系モジュールはリモートから ssh する用です。後、random もですね。その他に X 系のモジュールをロードしました。
僕は ATA 系周りはモジュールにしていません。

この状態で色々試したわけです。acpi_video は動作が怪しい kldunload acpi_video するとマシンがフリーズするので利用しないことにしました。後は sysctl の設定ですが、 /etc/sysctl.conf には以下の設定を入れました。

#hw.acpi.standby_state=S3
hw.acpi.suspend_state=S3
hw.acpi.thermal.min_runtime=300
hw.acpi.battery.info_expire=30
hw.acpi.power_button_state=S5
hw.acpi.sleep_button_state=S3
hw.acpi.lid_switch_state=NONE
hw.acpi.reset_video=1 hw.syscons.sc_no_suspend_vtswitch=1
vfs.usermount=1 hw.snd.default_unit=1

 
hw.acpi.reset_video と hw.syscons.sc_no_suspend_vtswitch を 1 にするとレジューム後に画面が表示されるようになります。

まずは X を起動せずにコンソールから acpiconf -s3 と叩くと「ヒューン」とか言ってスリープします。でもってパワーボタンはブリンクします。その後しばらくしてからパワーボタンを押すと。おぉーーっ!! 無事に復活するのであります。リモートからの ssh も接続が復活していてコマンドも受け付けてくれます。また、コンソールからもコマンドがバシバシ打てるのであります。

この辺りはミョーに感動です;-)。

と、言うことで、次に X を起動して KDE4 でログインしてから acpiconf -s3 を試してみます。スリープした後にパワーボタンを押すとバックライトは点灯するのですが、X の画面が出てきません。

ssh は利用可能なので、dev.acpi_ibm.0.lcd_brightness や dev.acpi_ibm.0.events 、そして hw.acpi.reset_video などの値を変更してみるのですが、復活する兆しは全く無いのでありました。

しゃーないので shutdown します。

次に試したのは X を起動して KDE4 でログインした後に CTRL-ALT-F1 して X の画面を一旦閉じてコンソールの画面にします。この時、コンソールではベコベコ文字が打てる状態なので acpiconf -s3 します。でもってサスペンドした後にパワーボタンを押すと、おぉっ!! コンソール画面は無事に返ってました。ここでコマンドもベコベコ打てます。

では、さっき CTRL-ALT-F1 しているので、今度は CTRL-ALT-F2 や CTRL-ALT-F3 を押して X の画面を戻すべ。とか思うのですが、ここで再度ブラックアウト。orz バックライトが点いているだけにちょっと悲しい状態なのですが、レジューム後に X が表示されることはないのでありました・・。orz

ちなみに、この状態の時、drm.ko は膨大な量のログを吐きまくっております。以下のようなログなんですけども。

info: [drm] wait idle failed status : 0xA0003030 0x00000003

 
なので問題は drm.ko 側にあるのかなぁ?などとも思えるのですが、vesa.ko でやったらどうなんだ?とか、色々あるわけなんですけどもね。

とりあえず、xf86-video なドライバは radeonhd と radeonhd-devel を試してみましたが、とちらも症状は一緒でした。とほほ。vesa ドライバでも試してみましたが、vesa の場合、ちょっと症状が変わって、壊れた X の画面が表示されたりましたが、X がまともに使える状態ではありませんでした。vesa の場合は drm.ko とか kldunload したら症状変わったりするかなぁ・・。

と、言うことで、X 無しでは無事にサスペンド・レジュームすることを確認しました。ただ、必要最低限のカーネルモジュールをロードしての確認なのですけどね。そもそも、X が動かないので、これ以上、カーネルモジュールをロードしてテストしても仕方がない。と言うのが素直な僕の感想なのですけども・・。

ThinkPadX100e は Radeon なんだけど、Core2Duo の Intel 系のグラフィックスチップの場合、無事に drm.ko も動作するのかなぁ? それがちっくと疑問なのですけども。

10月 052010
 

さて。ThinkPad X100e を購入して色々試している最中です。「ThinkPad X100e で FreeBSD。気がついた点。」のエントリーで書いた通り、if_iwn が動作しないので手元にある USB 接続の WiFi デバイスを試してみました。

手元にあるのは二つ。

MELCO WLR-UC-G
PCI GW-US300MiniW

上の MELCO WLR-UC-G は Ralink の 802.11a/b/g に対応した RT2500W のチップを載せています。こいつは FreeBSD 8.1-STABLE においては usbdevs にエントリが無いのでパッチを書きました。以下の URL にパッチはあります。

http://icmpv6.org/Prog/FreeBSD_patches/MELCO_WLR-UC-G_8.1-STABLE.patch

そして、このパッチは send-pr したので近いうちにパッチを適用せずとも利用できるようになるのでは。と思います。
なお、MELCO WLR-UC-G は ディップスイッチで AOSS(AP モード)とクライアントモードの両方に対応していますが、USB の deviceid は両方とも登録しておきました。

下の PCI GW-US300MiniW は 8.1-STABLE にはドライバは用意されていますが、man ページが存在していないようですね。if_run で認識するデバイスです。 if_run は Ralink の 802.11a/b/g/n に対応した RT2700U / RT2800U / RT3000U のチップに対応したデバイスです。

if_rum_run_0.jpg

では、FreeBSD/amd64 8.1-STABLE で利用できるのか? 検証した結果をちょっと書いておきます。

まず、if_rum の MELCO WLR-UC-G ですが、パッチを適用して kldload if_rum した後に USB に接続すると無事に認識します。認識するとこんな感じになります。

ugen2.2: <Buffalo> at usbus2
rum0: <Buffalo WLR-UC-G, class 0/0, rev 2.00/0.01, addr 2> on usbus2
rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528

 
今回は一番簡単な wep で接続しています。全ての機器はこれで利用するようにコマンドを投入しました。rum0、run0 とオンボードの iwn0 は以下のコマンドで検証しています。

# ifconfig wlan0 create wlandev rum0
# ifconfig wlan0 ssid SS-ID wepmode on wepkey 0x313131 weptxkey 1 up
# dhclient wlan0

 
パッチ適用後の MELCO WLR-UC-G はこれで無事に動作することを確認しました。DHCP サーバからアドレスを取得して、ネットワークに接続できることを確認しました。ただ、問題もまたあって、どうやらマルチキャストパケットが通らないようです。

最近の FreeBSD と言うか KDE は mDNS が動作していて、Apple の Bonjour などと連携してプリンタが利用できたりするんですが、 mDNSResponder が以下のメッセージを出力し正常に動作していないように見えます。あれま・・。orz。

mDNSResponder: mDNS_AddDNSServer: Lock not held! mDNS_busy (0) mDNS_reentrancy (0)

 
ユニキャストなどが無事に通信ができるデバイスなだけにちょっと残念です。ちなみに mDNS 関係のソースは追ってないのであります・・。

次に if_run の PCI GW-US300MiniW についてですが、僕は 9-CURRENT を追っかけていないのでよく解らないのですが、 8.1-STABLE に man が無いと言うことはまだ STABLE に降りてきて時間が経ってないと言うことなんでしょうかね?

kldload if_run した後に USB に接続すると、既にエントリーが登録されているようで特にパッチを書く必要もなくサクっと認識しました;-)。

ugen2.2: <Ralink> at usbus2
run0: <1.0> on usbus2
run0: MAC/BBP RT2860 (rev 0x0102), RF RT2820 (MIMO 2T2R), address 00:90:cc:fd:86:e7
run0: firmware RT2870 loaded

 
上に書いてある ifconfig コマンドを投入し、こちらも wep で動作確認します。run0、wlan0 ともに status: associated になっているのですが、DHCP でアドレスをもらうことができませんでした。orz。

パケットが全く外に出て行ってない感じで手動で IP アドレスを付加して ping を打ってもまぁるで利用できない状態なのでありました・・。orz。

後、run0 で気になったのは if_run のコードをチロっと見てみると 802.11n に対応しているコードが入っているようです。でもって、今回接続したPCI GW-US300MiniW は 802.11n に対応しているデバイスなのですが、こいつは 802.11g で認識してしまいました。あぁれぇ・・。

ドライバがアップデートされるのをちっくと待ちましょうかねぇ。

さてと。ThinkPad X100e に付属の fi_iwn が利用できない。USB の if_run が利用できない。USB の if_rum は利用できるみたいだけどマルチキャストがどうもあやすぃ。みたいな感じとなりました。さてと、どうすっかなぁ・・。

10月 012010
 

さてと。CPU コレクションのエントリーを一個書いてしまいましょう。ThinkPad のネタをもう一個書くかもしれないですが、他にももう一個ネタがあるのですが、その間に;-)。

今回登場するのは Intel i486 系で一番速い CPU になります。DX4 ですね。

i486DX4_1.jpg

i486 を SX から掲載し続けていますが、この CPU だけ、表面のデザインが今までのとは違うんですね。”i486″ って文字列が無くなってきました。だんだん Pentium に近くなって来たって感じでしょうか?

あれ? Intel は “i486” では商標が取れなくなったのがこの時期だったけか?確か、i486 はタダの英数字の並びなので、互換メーカも同じ文字列を使っても良いとか言うふうになったのがこの辺りなのかな?

そもそも「商標が取れなくなった。」って言う事実があったのかも僕の記憶の中では定かではありませんが、まぁ、特に調べもせずにこの記事を書いていますf(^^;;。だって Wiki とか見てそれを書いても当たり前すぎて面白くないでしょー。当時の自分の記憶を思い出しつつ書いているのであります。なので、間違いももしかしたらあるかもしれません。その場合はお許しを;-)。

こちらは DX4 の裏側ですね。

i486DX4_2.jpg

もう i486 系の CPU は裏側はどれも一緒になりますね。面白みがないですなぁ。

と、言うことで これにて Intel i486 系の CPU は全ておしまいです。僕の手持ちはもう無いのであります。この後、どの CPU に行こうかなぁ。楽しみなのであります;-)。