FreeBSD Perl 5.18.4 が連日のアップデート

先日 Perl 5.16 から Perl 5.18 へアップグレードしたばかりの FreeBSD ですが、昨日・今日とアップデートが続いています。

今日のアップデートで Perl 5.18.4_8 となっています。Perl はシステムの機関部分を担う言語になっていますので、問題があれば速やかに対応してくれることは、とてもありがたいものです。

[2014-11-30 追記]
Perl 5.18.4_9 へアップデートしました。

[2014-12-03 追記]
Perl 5.18.4_10 へアップデートしました。

FreeBSD Perl 5.16 から 5.18 へアップグレードしました

Perl 関係のアップデートが大量に出ていたのを気にして /usr/ports/UPDATING を確認してみました。

するとFreeBSD の Perl の標準バージョンが 5.16 から 5.18 へ変更されていました。

そこで今回 5.16 から 5.18 へアップグレードしました。

アップグレードの方法は /usr/ports/UPDATING に記述されていました。私は portupgrade を使用しているので、以下の方法で Perl 本体の他、インストール済みのモジュールもアップグレードしました。

# portupgrade -o lang/perl5.18 -f lang/perl5.16
# portupgrade -fr lang/perl5.18

一行目は Perl 5.16 から 5.18 へ置き換えアップグレードです。
二行目は Perl 5.18 に合わせて、インストール済みのモジュールや依存関係の ports の再ビルドです。

FreeBSD Perl 5.16.3_12 へアップデート

FreeBSD の Perl 5.16 が 5.16.3_11 から 5.16.3_12 へアップデートしていました。

これに伴ったことなのか? Perl モジュールが大量にアップデートしていました。

以下は今回アップデートした ports です。

ja-freepwing-1.4.4_1        <  needs updating (port has 1.4.4_2)
ja-jcode.pl-2.13_1          <  needs updating (port has 2.13_2)
ja-p5-Jcode-2.07            <  needs updating (port has 2.07_1)
ja-p5-MeCab-0.996_1         <  needs updating (port has 0.996_2)
ja-p5-Text-Kakasi-2.04_1    <  needs updating (port has 2.04_2)
ja-p5-nkf-2.1.2,1           <  needs updating (port has 2.1.2_1,1)
p5-Authen-NTLM-1.09         <  needs updating (port has 1.09_1)
p5-BerkeleyDB-0.54_1        <  needs updating (port has 0.54_2)
p5-Compress-Raw-Bzip2-2.066  <  needs updating (port has 2.066_1)
p5-Compress-Raw-Zlib-2.066  <  needs updating (port has 2.066_1)
p5-DBD-SQLite-1.42          <  needs updating (port has 1.42_1)
p5-DBD-SQLite2-0.36         <  needs updating (port has 0.36_1)
p5-DBI-1.631                <  needs updating (port has 1.631_1)
p5-Data-Dump-1.22           <  needs updating (port has 1.22_1)
p5-Digest-1.17              <  needs updating (port has 1.17_1)
p5-Digest-HMAC-1.03         <  needs updating (port has 1.03_1)
p5-Digest-MD5-2.53          <  needs updating (port has 2.53_1)
p5-Digest-SHA1-2.13         <  needs updating (port has 2.13_1)
p5-Encode-Locale-1.03       <  needs updating (port has 1.03_1)
p5-File-Listing-6.04        <  needs updating (port has 6.04_1)
p5-File-MMagic-1.30         <  needs updating (port has 1.30_1)
p5-FreeBSD-Portindex-3.4_1  <  needs updating (port has 3.4_2)
p5-HTML-Parser-3.71         <  needs updating (port has 3.71_1)
p5-HTML-Tagset-3.20         <  needs updating (port has 3.20_1)
p5-HTML-Template-2.95       <  needs updating (port has 2.95_1)
p5-HTTP-Cookies-6.01        <  needs updating (port has 6.01_1)
p5-HTTP-Daemon-6.01         <  needs updating (port has 6.01_1)
p5-HTTP-Date-6.02           <  needs updating (port has 6.02_1)
p5-HTTP-Message-6.06_2      <  needs updating (port has 6.06_3)
p5-HTTP-Negotiate-6.01      <  needs updating (port has 6.01_1)
p5-IO-Compress-2.066        <  needs updating (port has 2.066_1)
p5-IO-HTML-1.001            <  needs updating (port has 1.001_1)
p5-IO-Socket-SSL-2.006      <  needs updating (port has 2.006_1)
p5-Image-ExifTool-9.60      <  needs updating (port has 9.60_1)
p5-Image-Size-3.232         <  needs updating (port has 3.232_1)
p5-LWP-MediaTypes-6.02      <  needs updating (port has 6.02_1)
p5-Locale-gettext-1.05_3    <  needs updating (port has 1.05_4)
p5-MIME-Base64-3.14         <  needs updating (port has 3.14_1)
p5-Mozilla-CA-20130114      <  needs updating (port has 20130114_1)
p5-Net-HTTP-6.07            <  needs updating (port has 6.07_1)
p5-Net-SSLeay-1.66          <  needs updating (port has 1.66_1)
p5-PathTools-3.4700         <  needs updating (port has 3.4700_1)
p5-Scalar-List-Utils-1.35,1  <  needs updating (port has 1.35_1,1)
p5-Storable-2.45            <  needs updating (port has 2.45_1)
p5-TimeDate-2.30_1,1        <  needs updating (port has 2.30_2,1)
p5-URI-1.64                 <  needs updating (port has 1.64_1)
p5-WWW-RobotRules-6.02      <  needs updating (port has 6.02_1)
p5-XML-Parser-2.41_1        <  needs updating (port has 2.41_2)
p5-libwww-6.08              <  needs updating (port has 6.08_1)
perl5-5.16.3_11             <  needs updating (port has 5.16.3_12)

電池が液漏れしている ThinkPad 535 を入手しました。

インターネット・オークションにて ThinkPad 535 (2606-MF9) を入手しました。535E や 535X ではない、いわゆる初代の ThinkPad 535 です。

到着した ThinkPad 535 に電源を投入してみると、ちょっと様子が変です! 何かガサガサと底面にあるスピーカーから雑音が出ているのです。そして電源ランプなど 7 つのランプが並んだ部分が激しく明滅を繰り返しています。ちょっと見た感じではどこか接触不良なのだろうと安易に考えていました。

いつものように外観の掃除をし始めたところ、パームレストと筐体の隙間の部分が少し粘ついた感じになっていました。表面がゴム塗装(ピーチスキン)の機種なのでよくあることと思っていましたが、一箇所の角だけで不安が頭の中を過ぎりました。強アルカリ性の液体はビーチスキンのゴム塗装を剥がすのです。強アルカリ性の液体と言えば、乾電池や充電池の電解液です。もしかして内蔵の電池が液漏れをしているのでは・・・。

早速パームレストを取り外してみると、右手前にあるボタン型リチウム電池とひょうたん型ニッカド充電池の二個の電池の内、ひょうたん型のニッカド充電池が液漏れを起こしていました。すでに乾燥した状態になっていて、液漏れはかなり昔に発生したもののようです。限定的に緑青が発生しているのを確認できる程度で大した問題ではないとこの時も思っていました。

左がボタン型リチウム電池 BR-2020 で
右側がひょうたん型ニカド充電池です。
これが取り出したひょうたん型ニカド(ニカド・メタハイ)充電池です。

しかしスピーカーからの雑音とランプの異常点滅の原因を探るために、本体を分解していろいろ調べていると、ひょうたん型ニッカド充電池からシステムボードまでアルカリ性の液体が流れてきたもようで、システムボード自身が錆びていました。

ひょうたん型ニカド充電池のケーブルを伝わってシステムボードまで液体が流れてきた模様です。
部品の一部が緑色の錆が浮き出ていました。

システムボードのクリーニングと部品の再ハンダ付けなどを行なって、かなり症状は改善されましたが、まだ時折異常動作することがあり、まだ完全な対策が出来ていない状況となっています。

以下は今日の作業の様子のです。

いつものように分解した筐体は、しっかり水洗いをしておきました。
ひょうたん型ニカド充電池が収納されていた部分には緑色や青色の物体が付着していました。
少量のレンジ周り用アルカリ洗剤(マイペットなど)で洗ってみたところ、かなりの部分が落ちました。
これは取り出したシステムボードです。
システムボードは三枚のボードが重なって作られていました。
プロセッサ(Pentium MMX)の姿です。
アルミ製ヒートシンクと取り外すとき、プロセッサのリード線の一部を曲げてしまいました。
細いドライバーの先端を使って元に戻してみましたが、今後問題が発生するかもしれません。
これは CMOS 用のボタン型リチウム電池です。
通常よくある CR 型ではなく、長寿命の BR 型でした。
ひょうたん型ニカド充電池からの液漏れが伝わってきたシステムボードをクリーニングして、さらに再ハンダ付けを行ったところです。右上に見えるのはひょうたん型ニカド充電池のソケットです。
そしてひょうたん型ニカド充電池のソケットのある裏側部分も液漏れが伝わっていて、ここもクリーニングと再ハンダ付けを行なっておきました。さらに 10 キロオームの抵抗も錆で壊れていたので交換をしておきました。一部パターンも錆びてなくなっている部分があったため、ハンダブリッジでつないでおきました。
しかしこれだけ作業をしても新しい症状が発生するのです。システムボードの表面を竹串でところどころ押し付けて圧力を加えて、問題の有りそうな部分を探しています。復旧まで、まだ道のりは遠いようです。

ThinkPad R40e (2684-GHJ) を入手しました。

インターネット・オークションにて、動作不良の商品として ThinkPad R40e (2684-GHJ) を入手しました。だんだんと ThinkPad R シリーズがコンプリートに近づいています。

今回入手した ThinkPad R40e (2684-GHJ) です。

表面がそこそこ汚れていたので簡単に掃除をした後、電源を投入してみました。バッテリの充電ランプや電源ランプは点灯しますが、全然動作しない状況でした。

そこで簡単に確認できるメモリスロットなどを確認してみました。するとメモリが抜き取られれていました。さらにハードディスクも存在しませんでした。おまけに Windows XP のライセンスシールも剥がされていました。どうやら不要となったパソコンの中から必要なものを抜き取って廃棄したもののようです。

底面のネジの多くは失われ、ライセンスシールも剥がされていました。

とりあえず PC2700 512MB のメモリを二枚ほどメモリスロットへ挿入して再度電源を投入してみました。すると電源が入り IBM のロゴマークが表示されました。どうも動作しなかったのはメモリが挿入されていなかったことが原因でした。

そこで BIOS 画面を確認しようとしたところ F1 を押しても一向に BIOS 画面へ移行しません。数分後、忘れていたころにこっそりと切り替わっていました。これは時々見かけるハードディスクを装着してしないと、ハードディスクの検出待ち状態となって、なかなか起動してくれない機種の ThinkPad のようです。そこでハードディスクを仮に装着してみました。ハードディスクの蓋の部分はありましたが、マウンタやネジは存在せず、直接本体内部のコネクタにハードディスクを差し込む方法を採りました。すると電源投入と同時に BIOS 画面への移行も可能となりました。

BIOS 設定では F9 キーを押して初期設定にした後、ハードウェアの検査をしてみることとしました。いつもの memtest86+ によるメモリ試験から開始しました。

すると5分ほどで勝手に電源が切れて停止してしまいました。どうも冷却ファンが回転していないように感じました。そこでキーボードを取り外して冷却ファンを確認してみると、ホコリが詰まっていました。このホコリをエアーダスターで吹き出した後も、まだ羽の回転に粘りがある状態で上手く回ってくれないようです。それでもエアーダスターを吹き付けながら、羽をねじ回しの先端で回転させていると粘りは多少改善出来たように感じました。この状態で再度 memtest86+ を実行してみたところ、よろよろと冷却ファンは回転を始めていました。そしてだんだんと回転速度が出てくるようになりました。そしてメモリ試験も無事通過することができました。

掃除を行った冷却ファンです。
掃除を行いましたが、まだ回転が粘っこい状態です。予想としてはホコリとグリスが混じって粘土状になっているように思われました。
今後分解掃除の時にもっとなめらかに回転するように整備したいと思っています。

ここで安心していたのも束の間でした。何と!液晶画面が写真のように乱れていました。液晶パネルの問題なのか、ビデオチップの問題なのかは不明ですが、ちょっと困った症状のようです。特に BGA のビデオチップのハンダ不良だと、私個人ではとても直せません。その時には、部品取り用のマシンになってしまうかもしれません。

このビデオ画面の乱れは深刻です。
ビデオチップの BGA のハンダ割れだと私には復旧方法がありません。

そう言えばこの個体は一度分解して組立直した痕跡が随所にありました。特に液晶パネルの部分も分解していたようで、目隠しシールも剥がされたままであった他、ちゃんと液晶ベゼルが嵌めこまれていませんでした。さらにキーボードを照らすランプも点灯しない状況となっています。さらに底面のネジも随分と欠品が多く、十分に固定できていない部分もありました。

液晶パネルのベゼル部分の目隠しシールが剥がされたままとなっており、さらにベゼルのはめ込みも十分でないところがありました。どうも分解を行った後、元通りに組立を行なっていないようです。

どうも前の所有者さんがビデオ画面の表示の問題を自分で解決しようとして分解したのではないかと思われました。しかし解決できなかったので、活用できそうなものを取り外して廃棄したのではないかと想像しているところです。

現時点ではビデオ画面の乱れの原因は不明ですが、今後分解と掃除(特に冷却ファン)を行なって、原因を探ってみようと思っています。

ThinkPad R51e 用にメモリを 2 枚で 1GB ほど入手しました

インターネット・オークションにて ThinkPad R51e 用に PC2-4200 512MB のものを二枚(合計 1GB)入手しました。

今回入手したサムスン社製の PC2-4200S 512MB メモリです。

元々 256MB のものが二枚(合計 512MB)装着されていましたが、これで Debian Wheezy の Gnome3 デスクトップを操作するには十分なメモリを確保することができました。

メモリの交換は底面の蓋を開けて一枚交換して、さらにキーボードを取り外してもう一枚交換するようになります。

実際メモリを装着してみたところ、メモリ・スワップが減少していることがすぐに判りました。

512MB から 1024MB へメモリを増設してマシンを立ち上げたところです。

ただ memtest86+ でメモリ試験を行ったときに判明したことですが、ビデオ用にメモリを 128MB ほど消費しているようで、実際に Debian Wheezy で使用出来るのは 895MB しかないようです。

いつものように memtest86+ を使ってメモリ試験を行いました。
するとメモリの容量が 895MB しか存在しないこととなっていました。
どうやらビデオメモリに消費されているようです。

BIOS 画面でメモリの容量を確認すると、ちゃんと 1024MB と表示されているので、メモリのトラブルではありません。

BIOS 上では 1024MB とメモリを認識していました。

またビデオ関係の BIOS 設定を確認しましたが、ビデオメモリへの割り当ては全くの自動設定のようで、設定項目すらありませんでした。

BIOS にはビデオメモリの設定項目はありませんでした。

とりあえず現状のメモリ容量で十分に動作しているので、このまま使用し続ける予定です。

QKFLASH.EXE を実行するフロッピーディスクの作り方

バッテリが消耗してしまった ThinkPad の BIOS のアップデートをしようとするとバッテリの充電不足を理由にアップデート・プログラムを中断してしまいます。そこで公式な方法ではなく、直接 QKFLASH.EXE を実行して BIOS を書き換えてしまう方法があります。

バッテリの充電不足で BIOS のアップデートが中断された事例

バッテリの充電を確認して BIOS のアップデートを行うようにしているのは、BIOS 書き換え途中のトラブル回避のためです。BIOS の書き換えに失敗すると ThinkPad が起動しなくなります。そのため直接 QKFLASH.EXE で BIOS を書き換えする方法は推奨できない危険な方法です。執筆者自身もすべての ThinkPad の BIOS の書き換えを行ったわけではないので、この QKFLASH.EXE で直接書き換える方法の有効性も疑わしいものです。そのため、QKFLASH.EXE で直接書き換える方法を採用するのではなく、バッテリを何らかの方法で確保するか、BIOS のアップデートを諦めることをお勧めします。BIOS に起因する問題が発生するとき以外は、アップデートする必要はありません。

 ここではバッテリが消耗した状態でむりやり BIOS アップデートするために必要な起動フロッピーディスクの作り方の紹介です。

事例として ThinkPad R51e の BIOS アップデート・フロッピーディスクの内容です。 この中から必要なファイル(青い太字で表示)を MS-DOS 起動フロッピーディスクへコピーします。

$01A2000.FL1
$DISP.SYS
$FONT.SYS
$JPNHN16.FNT
$JPNHN19.FNT
$JPNZN16.FNT

06D0.PAT
06D1.PAT
06D2.PAT
06D6.PAT
06D8.PAT
06d0.HSH
06d1.HSH
06d2.HSH
06d6.HSH
06d8.HSH
CHKBMP.EXE
COMMAND.COM
CONFIG.SYS
COUNTRY.SYS

FLASH2.EXE
IBMBIO.COM
IBMDOS.COM
PHLASH16.EXE
PROD.dat
QKFLASH.EXE
README.TXT
TPCHKS.EXE
UPDTFLSH.EXE
UPDTMN.EXE
USERINT.EXE
UTILINFO.EXE
lcreflsh.bat

QKFLASH.EXE を実行できる起動フロッピーディスクの作成

まず MS-DOS で起動しているマシンにおいて起動フロッピーディスクを作成します。

A:\FORMAT A:/S

フォント・ファイルやドライバをコピーします。

$DISP.SYS
$FONT.SYS
$JPNHN16.FNT
$JPNHN19.FNT
$JPNZN16.FNT
COUNTRY.SYS

QKFLASH.EXE を実行できる起動フロッピーディスクの内容です。

$DISP.SYS
$FONT.SYS
$JPNHN16.FNT
$JPNHN19.FNT
$JPNZN16.FNT
COMMAND.COM
CONFIG.SYS
COUNTRY.SYS
DBLSPACE.BIN
IO.SYS
MSDOS.SYS

この中からシステム設定する CONFIG.SYS を下記のように書き換えます。

STACKS=9,128
BUFFERS=20
FILES=20
COUNTRY=081,932,\COUNTRY.SYS
DEVICE=\$FONT.SYS /MSG=OFF /F=HN /F=ZN
DEVICE=\$DISP.SYS /MSG=OFF

以上で QKFLASH.EXE を実行できる起動フロッピーディスクはこれで完成です。

QKFLASH.EXE を実行できる起動フロッピーディスクの使い方

この起動フロッピーディスクが使用できる条件として、公式の BIOS アップデート・フロッピーディスクの中に QKFLASH.EXE が存在していることです。この QKFLASH.EXE 以外の書き換えソフトウェアで書き換える BIOS アップデート・フロッピーディスクも存在します。この場合、この QKFLASH.EXE で BIOS を直接書き換える方法は使用できません。

まず最初にQKFLASH.EXE を実行できる起動フロッピーディスクで BIOS をアップデートする ThinkPad を起動させます。起動すると日付や時刻の設定の問い合わせがありますが、リターン・キーでそのまま通過します。

起動フロッピーディスクで起動したところです。

起動が完了したところで、BIOS アップデート・フロッピーディスクへ差し替えます。

そして QKFLASH.EXE を /U オプションを付けて BIOS を書き換えます。

A:\QKFLASH.EXE /U

なお書き換え中は、カーソルの点滅もなくなり、フリーズしたかのような状態になります。ここで絶対 ThinkPad の電源を切らないでください。BIOS の書き換えが終了すると自動的に電源が切れるのを待ってください。通常書き換えに5分程度の時間が掛かります。

QKFLASH.EXE で直接 BIOS を書き換えているところです。

書き換えが終了したら、ThinkPad の電源を投入して、F1 キーを押して BIOS 画面を表示して BIOS のバージョンを確認してください。

なお前述しましたが、この QKFLASH.EXE を直接実行する方法は ThinkPad が動作しなくなる可能性があります。もう ThinkPad を破損しても構わないから BIOS をアップデートしたいときのみにしてください。くれぐれも安易に使用する方法ではありません。