マスストレージクラスに対応していれば、製品毎のドライバは不要なのでは。各種解説でもWindowsでは製品毎にドライバを用意しなくても使えるなどと書かれています。
しかし、実際の動作を見ていると、そのパソコンで初めて使うUSBメモリ製品を挿すと、「新しいデバイスが・・・」から始まり、わざわざドライバのインストールが行われているようです。汎用ドライバがロードされていれば、どのメーカーのどのUSBメモリを使っても読み書きが問題無く行える筈だと思うのですが、何故そうなっていないのでしょうか?使われているチップなどが違っても「それはそのUSBメモリ内部で吸収する」筈では。個別の製品毎のドライバインストールを止めることは出来ないでしょうか?
Mac OS Xでは恐らくAppleが提供している汎用ドライバひとつで全てのUSBメモリを取り扱えているように見えます。
推測や想像ではなくある程度根拠がある説明をして頂けた方、実現出来る対処法などを教えて頂いた方にはポイントを進呈しますので、何卒よろしくお願いします。
http://ja.wikipedia.org/wiki/Universal_Serial_Bus
USBでは、周辺機器の機能によってグループ分けされた デバイス・クラスと呼ばれる仕様群が定義されている。それぞれのクラス仕様(クラス仕様によってはサブクラスの仕様)に従って作成されたデバイスには統一した制御インターフェイスが用意され、クラス仕様に準拠した機器類は、クラス・ドライバーと呼ばれる共通のデバイスドライバ・ソフトウェアによって動作させることができるため、同一クラスであれば製品ごとに個別のドライバ・ソフトウェアを作る必要がなくなっている。例えば、多くのUSBメモリはマスストレージ・クラスというクラスに属しており、OS側がマスストレージ・クラス対応のクラス・ドライバを用意していれば、USBメモリがクラス仕様に準拠する限り、新たにドライバをインストールする必要がなく、初めて接続してもすぐに動作する。ただし、実際にはデバイス側の仕様違反、特定ホストの動作に依存したデバイスの実装、仕様上の曖昧さによるぶれなどにより、共通のクラス・ドライバでは動作しない、ドライバ内に不具合回避処理が盛り込まれる、専用ドライバが提供される、という場合もある。
USB規格ではホストコントローラの規格を定義しておらず、以下のホストコントローラ規格はUSBの仕様外である。複数のホストコントローラ規格がある。これらは制御方法が異なるため、それぞれ別のドライバが必要である。ただし同一ホストコントローラ規格内では共通のものが通常使える。
http://ja.wikipedia.org/wiki/Universal_Serial_Bus
USBでは、周辺機器の機能によってグループ分けされた デバイス・クラスと呼ばれる仕様群が定義されている。それぞれのクラス仕様(クラス仕様によってはサブクラスの仕様)に従って作成されたデバイスには統一した制御インターフェイスが用意され、クラス仕様に準拠した機器類は、クラス・ドライバーと呼ばれる共通のデバイスドライバ・ソフトウェアによって動作させることができるため、同一クラスであれば製品ごとに個別のドライバ・ソフトウェアを作る必要がなくなっている。例えば、多くのUSBメモリはマスストレージ・クラスというクラスに属しており、OS側がマスストレージ・クラス対応のクラス・ドライバを用意していれば、USBメモリがクラス仕様に準拠する限り、新たにドライバをインストールする必要がなく、初めて接続してもすぐに動作する。ただし、実際にはデバイス側の仕様違反、特定ホストの動作に依存したデバイスの実装、仕様上の曖昧さによるぶれなどにより、共通のクラス・ドライバでは動作しない、ドライバ内に不具合回避処理が盛り込まれる、専用ドライバが提供される、という場合もある。
USB規格ではホストコントローラの規格を定義しておらず、以下のホストコントローラ規格はUSBの仕様外である。複数のホストコントローラ規格がある。これらは制御方法が異なるため、それぞれ別のドライバが必要である。ただし同一ホストコントローラ規格内では共通のものが通常使える。
Windows のデバイス認識動作の詳細に詳しいわけではないので
参考になりようなURLだけ示しておきます。
http://social.msdn.microsoft.com/Forums/ja/windowsdevicedriverja/thread/6bec6ec2-3be7-4799-b394-b1e62ecf97ae
ちなみに、ドライバのインストールといっても
使用されるドライバのファイル自体はどれも同じモノを使うので
インストールされることによるディスク容量の無駄はないはずです。
レジストリが少し大きくなるぐらいかな。
コメント(2件)
どこぞのメーカーのシリアルがどうの、、みたいに。
(レジストリを開くと、ドライブレターと一緒にズラっと並んでいます。ああ、そういえば前にこんな小容量のメモリも使ってたな、とか)
usbコネクタを変えただけでもいちいちドライバのインストが始まる時もあります。
ファイル自動再生の設定とか、つまんない事を沢山登録しているみたいですね。
同じメモリを同じコネクタへ挿した場合はすんなり行きます。w
レジストリまで関係しているとは知りませんでした。参考になりました。
コメントの方だったのでポイントを差し上げられなくて申し訳ありません。
参考になりました。