●リソース競合
リソース競合はかなり頻繁に起きる。一見正常動作をしているように見えても、USBストレージにアクセス中に突然フリーズしたり、保存されているデータが壊れたように見えたり、FAT32.IFSが正常動作しないときは、リソース競合の可能性がある。これらの症状が出たら、とりあえずUSBポートを変更して試す。それでも駄目ならIRQを変更する(BIOSで元のIRQをLegathyにして他のIRQに追い出す)。なお、データが壊れているように見えても、迂闊に修復作業をしてはいけない。まずは、Windowsで読めるかどうかを確認してから。
この症状の厄介なところは、とりあえず動作してしまう点。使っている内にフリーズしたり、知らない内にデータが壊れたりするくらいなら、いっそ全然動かない方がありがたい。事前に正常動作しているかどうか、チェックする方法はないだろうか?−−てんで、私は圧縮ファイルを使ってUSBストレージの動作チェックをすることにしている。数十MB程度のLZHファイルをLHA tして、問題なく最後まで終了したら正常。もし、USBに問題があれば、正常ファイルでも破損メッセージが表示される。
なお、PCIのUSB増設ボードを使用する際も注意。リソース競合が原因かどうかは不明だが、よく似た症状が出ることがある。不具合が出たら、とりあえずオンボードのUSBポート(あれば)を試して見るとよい。
●Removables:の数
マスストレージを使用する際は、スロットの数に注意すること。基本的に、OS/2は使用していないスロットにもリソースを割り当てるようだ。ブート時にメディアが挿入されているスロットが優先されるようだが、空スロットでもリソースは消費する。したがって、内蔵のカードリーダーを使用する際には、Removables:の数をスロット数よりも多く指定しておくこと。そうしないと、後からUSBメモリや外付けリーダーを使用しようとしても、認識されないことがある。
●リムーバブルメディアのHPFS化
市販のSDHCカードやUSBメモリなどはFAT32フォーマットだが、HPFSフォーマットで使用することも可能。と言っても、そのままFORMAT x: /FS:HPFSでは受け付けない。面倒だが、Windowsで領域の開放と再確保をした上で、OS/2でフォーマットすること。なお、フォーマットの最終段階で、かなり長い時間だんまりを決め込むが、必ずしもハングアップしているわけではないので、気長に待つこと。下手に途中でリセットすると、カードがクラッシュして使い物にならなくまる。また、SDHCカードやUSBメモリは、メーカーによる相性が激しいようで、この方法でも上手くHPFS化できないものもある。失敗すると、やはりメモリを潰すことになるので、覚悟は必要。CFカードは比較的成功率が高いように感じられる。個人的には、CF以外のHPFS化は推奨しない。FAT32.IFSでFAT32のまま使用する方がよいと思う。
●USBのバージョンの問題
原則的に、USBポートとUSB機器のバージョンは統一する必要がある。具体的には、USB1.1のポートには、USB1.1専用の機器を使用すること。「2.0/1.1両用」という表記を真に受けてはいけない。全く動作しないだけならまだしも、非常に不安定な状態で動作してしまう(つまり、壊れたデータを転送してしまう)場合がある。これは恐い。
なお、現状の我が家のシステムでは次のようになっている(VIA APOLLO PLE133T + Celeron 566 + VIA VT6212L)。主にUSBフラッシュメモリでチェックした。
| USB 1.1デバイス+USB 1.1ポート | → | ○正常動作 | 
| USB 1.1デバイス+USB 2.0ポート | → | ○正常動作 | 
| USB 2.0デバイス+USB 1.1ポート | → | ×不動(デバイス認識不能) | 
| USB 2.0デバイス+USB 2.0ポート | → | △動作はするが異常なウエィトが掛かる | 
●動作確認報告報告(Warp 4.52)
| 種類 | 機種名 | ドライバ | 
|---|
| MOUSE | サンワサプライ eMouse(ホイール/光学) M$インテリマウス
 | USBMOUSE.SYS | 
| FDD | IOデータ USB-FDX01 | USBMSD.ADD | 
| USBメモリ | pqi Travelling Disk U190 512MB(USB2.0必須) | 
| ELECOM MF-CU204GWH 4GB(USB2.0必須) | 
| IOデータ EasyDisk 32MB & 256MB (USB 1.1/2.0可) | 
| ADTEC Intelligent Stick 256MB (USB1.1のみ可) | 
| SMドライブ | FlashGate HBC-USM1 | 
| CFドライブ | RATOC CF03 Princeton PRD-CF
 | 
| メモリカード・ドライブ | IOデータ USB-6MRW(SM/MS/CF/SD等6種類に対応) | 
| デジカメ 
 | Fuji Finepix A202 (リーダー・モード) | 
| Minolta Dimage X20 (リーダー・モード) | 
| プリンタ | Canon Pixus 550i | USBPRT.SYS | 
| USBスキャナ | EPSON GT-9700F(TAME:別項参照) | USBSCAN.SYS | 
|  |  | USB-FDDとメモリカード・ドライブの共存も確認。ただし、最初はかなりトラブったので、USBUHCD.SYSとUSBMSD.SYSをインストールし直したところ、正常に動作するようになった。 | 
|---|
●ドライバのインストール
ベースドライバと用途別のドライバ(たとえば、マウスとやマスストレージ)の両方をインストールする必要がある。以下は正常動作を確認し、現在も使用中のもの。
【注意】ホストコントロール・ドライバ(USBUHCD.SYSなど)は、ポートの数だけ組み込まれる。CONFIG.SYSに同じ行が複数あるからと言って、削除してはいけない。
| driver | archive file | driver file | time stump | installation | 
|---|
| ベース | USBBASIC.EXE | USBD.SYS(*) | 02-09-19版 | USBINST.EXEを実行 | 
| ストレージ | USBSTOR.EXE | USBMSD.SYS | 03-01-12版 | [デバイス・ドライバのインストール]を実行 | 
| マウス | USBMOUSE.EXE | USBMOUSE.SYS | 01-10-25版 | [デバイス・ドライバのインストール]を実行 | 
(*)USBBASICには、ベースドライバ本体(USBD.SYS)以外にもいくつかの必須ドライバが含まれている。
なお、W45_PACKにはIBM純正の(恐らく)最後のUSBドライバが収録されている(タイムスタンプは2004年)。これはかなり安定的に動作するようだ。私も上記のバージョンから、このバージョンに更新したところ、ほとんど諦めかけていたHPFSやFAT32のリムーバブル・ストレージが実用レベルで使用できるようになった(FAT32の使用にはFAT32.IFSが必要)。なお、W45_PACKは現在(2010年12月)でも入手可能なようだ。Googleで検索すればわりと簡単に見つかるだろう。また、2010年12月には、Lars Erdmann氏による改良版ドライバが発表されたが、我が家の環境ではUSBCFG(USB設定ツール)がハングするといった副作用が出たため、純正品の方を使用している。
●ドライバ・ファイルの構成
ベースドライバにはUSBドライバ、ホストコントロール・ドライバ、ヒューマンインターフェース・ドライバの三種類があり、すべて必須。ただし、ホストコントロール・ドライバは使用されているチップセットに応じて、UHCI用、OHCI用、EHCI用の内から1つを選んでインストールする(インストーラが自動判別してくれる)。また、ホストコントロール・ドライバは、ポートの数だけ組み込む必要がある(たとえば、UHCI用2つ+EHCI用1つなど)。したがって、CONFIG.SYSに同じ内容の行が複数あってもエラーではない。
| ベースドライバ | 
|---|
| USBドライバ | USBD.SYS | 
| ホストコントール・ドライバ | USBUHCD.SYS/USBOHCD.SYS/USBUECD.SYS | 
| ヒューマンインターフェース・ドライバ | USBHID.SYS | 
| 用途別ドライバ | 
|---|
| マスストレージ・ドライバ(*) | USBMSD.SYS | 
| CD-ROMドライバ | USBCDROM.ADD | 
| マウスドライバ | USBMOUSE.SYS | 
(*)FDD、メモリカード・ドライブ、ZIPなど各種のリムーバブル・メディア・ドライブが含まれる。
| ホストコントロール・ドライバ | 
|---|
| driver | controler | chip |  | 
|---|
| USBUHCD.SYS | UHCI | VIA & Intel系 | 現状では多数派のようだ | 
| USBOHCD.SYS | OHCI | SiS & ALi系 | 少数派? | 
| USBEHCD.SYS | EHCI | USB 2.xの統一規格 | 今後はこれに統一される? | 
▼CONFIG.SYSの例
BASEDEV=USBUHCD.SYS /V		←1番目のUHCIポート用
BASEDEV=USBUHCD.SYS /V		←2番目のUCHIポート用
BASEDEV=USBEHCD.SYS /V
BASEDEV=USBD.SYS /REQ:USBUHCD$,USBOHCD$,USBEHCD$
BASEDEV=USBHID.SYS
BASEDEV=USBMSD.ADD /V /FLOPPIES:0 /REMOVABLES:1		←マスストレージ用
DEVICE=D:\OS2\BOOT\USBMOUSE.SYS				←マウス用
●付記:USB 1.1フラッシュメモリ
我が家の環境で安定的に動作するUSBメモリは、1.1規格(2.0非対応)のもののみ。ところが、1.1のUSBメモリは大容量のものが滅多にない。一番入手しやすいのが(勿論オークションのハナシ)、I・OデータのEasyDisk Cute/Mateだが、1.1規格は256MBが上限だったと思う。ADTEC Intelligent Stickも私が持っているのは256MB。BuffaloのClipDriveも初期製品は1.1規格のようだが、32MBのRUF-32Mあたりまでか? 変わり種では、指紋認証機能付きUSBメモリや、初期のペン型USBメモリ、カメラ付きUSBメモリの中にも、1.1規格で比較的容量の大きなものがあるようだ。もし、スマートワイヤレスのSafe Flashが1.1規格ならば、1GBのUSB 1.1メモリも存在することになる。
【重要追記】スマートワイヤレスのSafe Flashは特殊な仕様で、フォーマットも領域解放も不可能。OS/2では全く使用できないようだ。残念。また、Windows 7では指紋認証プログラム(verify.exe)がトロイの木馬Trojan.sisronと見なされるようだ。真偽は不明…というか、そんな事件はなかったハズなので、多分、誤認識だとは思うが、ちょっと気持ち悪くて使う勇気が出ない。
【逆襲のOS/2目次】
【ホーム】