IBM NetVista M41 の電源ユニット修理

以前 FreeBSD のアップグレードを失敗して、我が家に一度引き取ってアップグレードを行った IBM NetVista M41 が再び戻って来ました。

(参考記事)
FreeBSD 9.3 へのアップグレード失敗
http://near-unix.blogspot.jp/2015/02/freebsd-93.html

マシンが立ち上がらないということでした。電源を投入するとフロッピーディスク・ドライブを激しくアクセスしているかのようにガタガタと音を立たせたまま、ハードディスクへはアクセスを行うこともなく、そして BIOS のブート画面も表示されない状況でした。

とりあえず手持ちの遊休中のマシンへハードディスクを移設して、動作確認をした後、新しいマシンでとりあえず使用してもらうこととなりました。

そして手元に残ったマシン(NetVista M41)の不良箇所を探してみることとしました。

だいたいこんな症状が発生するのは電源関係に多いので、プロセッサ周りの電解コンデンサに異常がないか確認してみました。特に問題はないようです。

そこで電源ユニットを取り出して確認してみると、一個のコンデンサの頭が膨らんでいるのを発見しました。

NetVista M41 の電源ユニットです。
竹串で指し示しているのが問題の電解コンデンサです。
写真では解りにくいのですが、頭部が膨らんでいます。

本格的に電源ユニットの分解を行なって、プリント印刷基盤を取り出すことができました。そして底面部分からハンダゴテを当てて問題の電解コンデンサを取り外しました。470 マイクロファラッド/16 ボルトのものでした。手元に同じ規格の電解コンデンサの持ち合わせが無かったので 1500 マイクロファラッド/16 ボルトのものを取り付けてみました。

電源ユニットのプリント印刷基盤の裏側の様子です。
ホコリがびっしりと詰まっていました。
これでは電解コンデンサのパンク以前に動作不良の原因になりそうです。

取り出したプリント印刷基盤を元通りに電源ユニットの筐体に戻して動作確認を行なってみました。すると修理は成功したようで、マシンが異常動作をすることなく正常に立ち上がりました。

そして本格的にマシンを組み立てなおして、再度確認を行なって修理を終了しました。

電源ユニットを修理した後、動作確認を行なっているところです。

10年以上前の製品なので、電子部品の中でも寿命が比較的短い電解コンデンサが劣化して故障してしまったようです。手元には10年を過ぎた製品がたくさんあるので、これからもこんな電解コンデンサの交換修理をする機会も増えてくるものと思っています(苦笑)。

FreeBSD の Apache をようやくアップグレード

昨年の夏に FreeBSD のウェブサーバ Apache のデフォルト・バージョンが 2.2 から 2.4 へ変更されていましたが、今日までずっと 2.2 のまま使用してきました。ようやく Apache のアップグレードを行いました。

アップグレードは、portupgrade を使用して行いました。

まず最初に Apache のデフォルト・バージョンを固定していた /etc/make.conf の修正を行いました。下記の行を消去しました。実際には、行頭に “#” マークを付けてコメント文としました。

“DEFAULT_VERSIONS+=apache=2.2”

そしてマシンの起動時に自動的に Apache が起動できるように /etc/rc.conf の中にあるイネーブラを修正しました。

apache22_enable=”YES”
    ↓
apache24_enable=”YES”

そして portupgrade でアップグレードを行いました。ここでは置き換えインストールのオプション “-o” (小文字のオー)を付けて実行しました。

portupgrade -o www/apache24 -f www/apache22

apache24-2.4.12 のビルド・オプション

新しい Apache 2.4 がインストールされると、/usr/local/etc/apache24 に設定ファイルが設置されました。そして以前のバージョンの Apache2.2 の設定ファイルは /usr/local/etc/apache22 の中に httpd.conf のみが残っていました。

当初は古いバージョンの httpd.conf をそのままコピーして使用してみましたが、文法エラーが発生して Apache が起動できませんでした。この古い httpd.conf を修正して再利用するよりは、新しく設けられた httpd.conf を現在のサーバのディレクトリの実態にあった形で手作業の修正を行なって、ようやく Apache の起動と動作を完了させました。
もう長いこと見直していなかった Apache が管理するディレクトリを見直すよい機会となりました(笑)。

その他、php5 の動作のために php_mod を再インストールさせました。

portupgrade -f www/mod_php5

Linksys WRT320N へ DD-WRT をインストール

もう一年以上も前に入手したまま放置していたリンクシス社の無線 LAN ルータ WRT320N へ DD-WRT のファームウェアをインストールしてみました。

今回 DD-WRT や Tomato のファームウェアをインストールした WRT320N です。

じつのところ、最近お気に入りの Shibby 版の Tomato ファームウェアをインストールしようとしたところ、ファームウェアのファイルサイズが大きいため、WRT320N に元々入っていたオリジナルのファームウェアではアップグレードの手順でインストールすることができませんでした。この現象は、古い WRT54G などの無線 LAN ルータでも見られる現象で、DD-WRT のファームウェアの内、容量の小さな mini や micro の記号がついたファームウェアを一旦インストールした後に、目的のファームウェアをインストールすれば成功します。

今回の DD-WRT をインストールした時点と、Tomato をインストールした時点で通信転送速度の計測を行いましたが、Tomato ファームウェアにおいて、IEEE 802.11 a と 5GHz 帯の IEEE 802.11 n の通信が出来ないなどの問題が発生したため、Tomato ファームウェアについては参考程度のデータとしてみてもらいたいと思っています。(注記:記事の最後に追記があります。Tomato も安定していました。)

LED ランプは黄色と青色の二色切替タイプのものが使用されています。

DD-WRT ファームウェアのインストール

まず最初に Linksys 社のオリジナルファームウェアから DD-WRT のミニ・ファームウェアのインストールを行います。以下の DD-WRT の公式ウェブサイトを参考にしました。

Linksys WRT320N v1.0
http://www.dd-wrt.com/wiki/index.php/Linksys_WRT320N_v1.0

上記のインストールの解説のページでは、次の Build 14471 のものを使用するように指示しています。ここでは冒険をすることなく、確実に動作するファームウェアをインストールするべきでしょう。

ftp://ftp.dd-wrt.com/others/eko/V24-K26/svn14471/dd-wrt.v24-14471_NEWD-2_K2.6_mini_wrt320n.bin

ブラウザでの設定画面の中で [Administration] のタブの中の [Firmware Upgrade] のところで、ファームウェアを指定して [Start to Upgrade] のボタンを押せば、インストールが開始されます。そして、自動的に再起動するまで待つだけです。途中で電源を切ることは厳禁です。

WRT320N のアップグレード画面から DD-WRT をインストールします。
インストールに成功するとこんな白黒の画面に
「アップグレード成功」と表示されます!

DD-WRT ファームウェアのアップグレード

DD-WRT のミニ・ファームウェアがインストールできたところで、すぐに最新の Build 21061 のファームウェアを同様にしてインストールします。インストールが成功すると自動的に再起動します。

なおこの DD-WRT のミニ・ファームウェアも何故か Tomato のファームウェアをインストールすることができませんでした。最新の DD-WRT ファームウェア(Build 21061)から出来ました。

Tomato ファームウェアのインストール

DD-WRT のブラウザのアップグレード画面から Tomato ファームウェアを指定して、インストールを行います。

DD-WRT のファームウェアのアップグレード画面です。

使用した Tomato ファームウェアは Linksys E2000 用のものです。

tomato-E2000-NVRAM60K-1.28.RT-MIPSR2-124-Max.bin
http://tomato.groov.pl/download/K26/build5x-124-EN/tomato-E2000-NVRAM60K-1.28.RT-MIPSR2-124-Max.bin

再起動に成功すればインストール成功です。

通信転送速度の計測

Linksys社オリジナルのファームウェアと DD-WRT ファームウェアと Tomato ファームウェアでそれぞれ通信転送速度を計測してみました。 測定条件としては、FTP 転送で、およそ 100MB の単一ファイルをダウンロードする速さを五回計測して、平均値を求めるものです。

上記のとおり、Tomatoファームウェアでは 5GHz 帯の IEEE 802.11 a と n で通信が出来ませんでした。症状としては、一瞬はつながり、DHCP で IP アドレスの設定も行える場合もあるのですが、数秒で通信が切れてしまうのです。原因は不明です。

また全てのファームウェアで 5GHz 帯の IEEE 802.11 n の通信の内、帯域を 40MHz に設定すると、やはり通信が不安定となってしまうため、計測を断念しました。

まずは 2.4GHz 帯の IEEE 802.11 g と IEEE 802.11 n についての測定結果です。

★ 通信転送速度 IEEE 802.11 g の計測結果 ★

オリジナル・ファームウェア : 2,605KB/s ( 20,846Kbps )
DD-WRT ファームウェア : 2,672KB/s ( 21,381Kbps )
Tomato
ファームウェア : 2,813KB/s ( 22,510Kbps )

★ 通信転送速度 IEEE 802.11 n (20MHz) の計測結果 ★

オリジナル・ファームウェア : 6,986KB/s ( 55,891Kbps )
DD-WRT ファームウェア : 5,858KB/s ( 46,868Kbps )
Tomato
ファームウェア : 5,590KB/s ( 44,721Kbps )

★ 通信転送速度 IEEE 802.11 n (40MHz) の計測結果 ★

オリジナル・ファームウェア : 7,070KB/s ( 56,560Kbps )
DD-WRT ファームウェア : 6,470KB/s ( 51,760Kbps )
Tomato
ファームウェア : 測定不能

次に 5GHz 帯の IEEE 802.11 a と IEEE 802.11 n についての測定結果です。

★ 通信転送速度 IEEE 802.11 a の計測結果 ★

オリジナル・ファームウェア : 3,467KB/s ( 27,742Kbps )
DD-WRT ファームウェア : 3,116KB/s ( 24,931Kbps )
Tomato
ファームウェア : 測定不能

★ 通信転送速度 IEEE 802.11 n (20MHz) の計測結果 ★

オリジナル・ファームウェア : 8,975KB/s ( 71,804Kbps )
DD-WRT ファームウェア : 7,628KB/s ( 61,029Kbps )
Tomato
ファームウェア : 測定不能

感想

上記の通り、三つのファームウェアを比較してみました。やはり Linksys 社のオリジナル・ファームウェアが一番通信速度が速いという結果となりました。また計測したデータのばらつき具合でも現れていますが、オリジナルのファームウェアが通信中も安定してデータを転送していました。どうも現在の時点では、オリジナルのファームウェアに軍配が上がります。VPN 通信を行いたいなどの理由がなければ、オリジナルのファームウェアで運用するのが一番効率のよい運用ができそうです。

追記 2015-02-26

その後、Tomato ファームウェアの動作が不調な件について調べていたのですが、どうも通信転送速度計測に使っていたパソコンの OS 側か、パソコンに装着していた無線 LAN アダプタ(CG-WLCB300AGN)のドライバに何らかの問題がありそうです。

通信転送速度計測時には Puppy Linux 5.7.1 JP を使用していました。無線LANアダプタに適用されていたドライバは rt2800pci でした。この状態で IEEE 802.11 a モードの動作が不安定になっていました。

しかし Debian Wheezy において動作確認を行なってみたところ、IEEE 802.11 a モードでも 5GHz 帯の IEEE 802.11 n モードにおいても、安定して通信することができました。

一体どうしたことなのでしょう!

5GHz 帯の IEEE 802.11 a や n の無線 LAN アダプタをほとんど所有していないため、他の無線 LAN アダプタではどうなるのか?検証が出来ない状態となっています。linux 用のドライバのない 5GHz 帯の無線 LAN アダプタは若干持ち合わせているので、ndiswrapper を使用するなどをして、5GHz 帯の動作状況の確認も行なってみたいと考えています。

FreeBSD 9.3 へ p10 アップデート到着

FreeBSD 9.3 へ p10 アップデート(5個)が到着しました。今回のアップデートも大変重要な項目が含まれているため、早めの対応が必要だと思います。

/usr/ports/UPDATING の内容

20150225:       p10     FreeBSD-SA-15:04.igmp
                        FreeBSD-SA-15:05.bind
                        FreeBSD-EN-15:01.vt
                        FreeBSD-EN-15:02.openssl
                        FreeBSD-EN-15:03.freebsd-update

FreeBSD-SA-15:04.igmp
Integer overflow in IGMP protocol
https://www.freebsd.org/security/advisories/FreeBSD-SA-15:04.igmp.asc

FreeBSD-SA-15:05.bind
BIND remote denial of service vulnerability
https://www.freebsd.org/security/advisories/FreeBSD-SA-15:05.bind.asc

FreeBSD-EN-15:01.vt
vt(4) crash with improper ioctl parameters
https://www.freebsd.org/security/advisories/FreeBSD-EN-15:01.vt.asc

FreeBSD-EN-15:02.openssl
OpenSSL update
https://www.freebsd.org/security/advisories/FreeBSD-EN-15:02.openssl.asc

FreeBSD-EN-15:03.freebsd-update
freebsd-update updates libraries in suboptimal order
https://www.freebsd.org/security/advisories/FreeBSD-EN-15:03.freebsd-update.asc

ソースツリーの更新

subversion でソースツリーを更新します。合計 411 行の更新がありました。

# svn update /usr/src
Updating ‘/usr/src’:
U /usr/src/secure/usr.bin/openssl/man/pkcs7.1
U /usr/src/secure/usr.bin/openssl/man/req.1
U /usr/src/secure/usr.bin/openssl/man/ec.1
          ↓
          ↓
          ↓
U /usr/src/crypto/openssl/crypto/rsa/rsa_sign.c
U /usr/src/crypto/openssl/crypto/rsa/rsa_pk1.c
A /usr/src/crypto/openssl/crypto/constant_time_test.c
Updated to revision 279278.

ユーザランドとカーネルの再ビルド

今回のアップデートでは、ユーザランドもカーネルも再ビルド(再構築)が必要です。

# cd /usr/src
# make buildworld
# make buildkernel KERNCONF=MYKERNEL

ユーザランドとカーネルのインストール

# make installkernel
# make installworld

マシンの再起動

# make reboot

FreeBSD で Samba 3.6.25 へのアップグレード

FreeBSD の ports へ Samba のアップグレード(samba36-3.6.24_2 -> samba36-3.6.25)が到着していました。

ビルド・オプションを確認するといくつか新しい項目が追加になったようです。

  • FAM (File Alteration Monitor support)
  • GSSAPI Security API support

portupgrade で更新を行なっておきました。

samba36-3.6.25 のビルド・オプション(前)
前方に + マークがあるのが新規項目です。
samba36-3.6.25 のビルド・オプション(後)
前方に + マークがあるのが新規項目です。