JP2006024155A - 周辺装置 - Google Patents
周辺装置 Download PDFInfo
- Publication number
- JP2006024155A JP2006024155A JP2004203972A JP2004203972A JP2006024155A JP 2006024155 A JP2006024155 A JP 2006024155A JP 2004203972 A JP2004203972 A JP 2004203972A JP 2004203972 A JP2004203972 A JP 2004203972A JP 2006024155 A JP2006024155 A JP 2006024155A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- operation mode
- personal computer
- driver
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】主装置を動作させるOS応じて動作し、そのOSにとって必要なデバイスドライバを自動的にインストールする周辺装置を提供する。
【解決手段】プリンタ1のROM11に、複数の動作モードに対応したファームウェアおよび自らのデバイスドライバを格納する。CPU10は、パソコン2のOSがサポートするデバイスクラスを検出すると、パソコン2のOSに応じた動作モードを選択してプリンタ1の各部の動作を制御しつつ、プリンタ1のデバイスドライバをパソコン2にインストールする。
【選択図】図1
【解決手段】プリンタ1のROM11に、複数の動作モードに対応したファームウェアおよび自らのデバイスドライバを格納する。CPU10は、パソコン2のOSがサポートするデバイスクラスを検出すると、パソコン2のOSに応じた動作モードを選択してプリンタ1の各部の動作を制御しつつ、プリンタ1のデバイスドライバをパソコン2にインストールする。
【選択図】図1
Description
この発明は、主装置に接続される周辺装置に関し、特に、主装置にデバイスドライバを自動的にインストールする機能を備えた周辺装置に関する。
デバイスドライバは、周辺装置がどのような製品でどのように制御すべきかをコンピュータ(主装置)に伝えるソフトウェアであり、コンピュータに周辺装置を接続する際に不可欠である。このため、周辺装置の使用にあたって、周辺装置のデバイスドライバをこの周辺装置を接続するコンピュータにインストールする必要がある。
ところが、デバイスドライバのインストールはコンピュータの操作に不慣れな者にとって煩わしい作業となる。また、一般的にデバイスドライバはフレキシブルディスクやCD−ROM等の記録媒体に格納されており、デバイスドライバを記録した記録媒体の保管にユーザが気をつかわなければならない。さらに、デバイスドライバを格納した記録媒体の記録内容を読み取るためのドライブがコンピュータ側に設けられていなければデバイスドライバのインストールをすることができないという不都合もある。
そこで、従来技術の中には、自らのデバイスドライバを記録するメモリを有し、コンピュータに接続されると自動的にメモリに記録されたデバイスドライバをコンピュータにインストールすることが可能なUSB接続機器が存在する(例えば、特許文献1参照)。このUSB接続機器によれば、デバイスドライバを格納する記録媒体を用いて必要なデバイスドライバをコンピュータにインストールする作業が不要になり、ユーザの作業負担を軽減できる、とされている。
特開2003−114859号公報
しかしながら、特許文献1に係る発明では、コンピュータ側に搭載されるオペレーティングシステム(OS)の機能が全く考慮されていない。近年、次々と新たなOSが登場しているため、ユーザのコンピュータに搭載されるOSは古いものから新しいものまで様々である。特許文献1の発明は、比較的新しいOSを対象にしたものであり、古いOSにおいては特許文献1の発明者が意図したとおりにOSが動作しない虞がある。
この発明の目的は、主装置を動作させるOS応じて動作し、そのOSにとって必要なデバイスドライバを自動的にインストールする周辺装置を提供することである。
この発明は以下の構成を備えている。
(1)主装置との間で通信を行う通信手段と、
前記通信手段を介して入力される信号を解析し、前記主装置のOSがサポートするデバイスクラスを解析する解析手段と、
前記解析手段の解析結果に基づいて、前記主装置のOSがサポートするデバイスクラスに対応した動作モードで本周辺装置を動作させる動作モード選択手段と、
本周辺装置に係るデバイスドライバを記録する記録手段と、
前記解析手段の解析結果に基づいて、前記主装置のOSに必要なデバイスドライバを前記記録手段から選択的に読み出し前記主装置にインストールするインストール手段と、
を備えたことを特徴とする。
前記通信手段を介して入力される信号を解析し、前記主装置のOSがサポートするデバイスクラスを解析する解析手段と、
前記解析手段の解析結果に基づいて、前記主装置のOSがサポートするデバイスクラスに対応した動作モードで本周辺装置を動作させる動作モード選択手段と、
本周辺装置に係るデバイスドライバを記録する記録手段と、
前記解析手段の解析結果に基づいて、前記主装置のOSに必要なデバイスドライバを前記記録手段から選択的に読み出し前記主装置にインストールするインストール手段と、
を備えたことを特徴とする。
この発明に係る周辺装置は、通信手段、解析手段、動作モード選択手段、記録手段、およびインストール手段を備えている。本周辺装置に係るデバイスドライバは記録手段に記録される。ここで、本周辺装置に係るデバイスドライバとは、本周辺装置の動作モード毎に異なる複数種類のデバイスドライバを意味する。解析手段は、通信手段を介して入力される主装置からの信号を検出し、検出した信号を解析して主装置のOSがサポートするデバイスクラスを解析する。解析手段の解析手法の例として、サポートするデバイスクラスに応じてOSが異なったコマンドを出力することを利用し、OSから出力されるコマンドを解析してそのOSがサポートするデバイスクラスを特定する手法が挙げられる。
解析手段の解析結果は、動作モード選択手段およびインストール手段にて活用される。動作モード選択手段は主装置のOSがサポートするデバイスクラスに対応する周辺装置の動作モードを選択する。インストール手段は、主装置のOSがサポートしないデバイスクラスに係るデバイスドライバを選択し、記録手段から読み出して主装置にインストールする。
なお、「OSがサポートするデバイスクラス」とは、OSが標準状態でデバイス認識やデバイス制御をすることができるデバイスクラスをいう。例えば、OSがあるデバイスクラスに係る標準デバイスドライバを有している場合、そのOSはそのデバイスクラスをサポートしていると考えることができる。デバイスクラスの代表例として、コミュニケーションクラス、パワーデバイスクラス、オーディオデバイスクラス、マスストレージクラス、プリンタクラス、モニタクラス、ヒューマンインタフェースデバイス(HID)クラスが挙げられる。
(2)前記動作モード選択手段は、動作モード毎に互いに異なったデバイスクラスが対応づけられた複数の動作モードに係る複数のプログラムを記録するプログラム記録部、および前記解析手段の解析結果に基づいて前記複数のプログラムを選択的に実行するプログラム実行部を備えたことを特徴とする。
この構成においては、本周辺装置の動作モードを切り換える動作モード選択手段が、プログラム記録部およびプログラム実行部を備えている。プログラム記録部に記録されるプログラムの例として、複数の動作モードで本周辺装置を動作させる複数のファームウェアが挙げられる。プログラム実行部が実行するプログラムによって本周辺装置の動作モードが切り換えられる。動作モードの切り換えがされると、主装置が認識する本周辺装置のデバイスクラスも切り換えられる。
(3)前記インストール手段は、前記解析手段の解析結果に基づいて前記主装置のOSがサポートしないデバイスクラスに係るデバイスドライバを前記記録手段から選択的に読み出すことを特徴とする。
この構成においては、インストール手段は、解析手段の解析結果に基づいてどのデバイスクラスのデバイスドライバを主装置にインストールすれば良いかを決定し、決定したデバイスドライバを主装置にインストールする。
(4)前記通信手段は、USBインタフェース部を備え、
前記記録手段は、少なくともUSBマスストレージクラスのデバイスドライバおよび本周辺装置の固有のデバイスドライバを記録しており、
前記プログラム記録部は、USBヒューマンインタフェースデバイスクラスのデバイスとして本周辺装置を動作させつつ、前記USBマスストレージクラスのデバイスドライバを前記記録手段から読み出して前記主装置にインストールするプログラムと、
USBマスストレージクラスのデバイスとして本周辺装置を動作させつつ、本周辺装置の固有のデバイスドライバを前記記録手段から読み出して前記主装置にインストールするプログラムと、を記録することを特徴とする。
前記記録手段は、少なくともUSBマスストレージクラスのデバイスドライバおよび本周辺装置の固有のデバイスドライバを記録しており、
前記プログラム記録部は、USBヒューマンインタフェースデバイスクラスのデバイスとして本周辺装置を動作させつつ、前記USBマスストレージクラスのデバイスドライバを前記記録手段から読み出して前記主装置にインストールするプログラムと、
USBマスストレージクラスのデバイスとして本周辺装置を動作させつつ、本周辺装置の固有のデバイスドライバを前記記録手段から読み出して前記主装置にインストールするプログラムと、を記録することを特徴とする。
この構成においては、本周辺装置が、USBヒューマンインタフェースデバイスとして動作する動作モード、およびUSBマスストレージデバイスとして動作する動作モード、および本周辺装置固有の機能を発揮するいわゆる通常動作モードを含む複数の動作モードを有している。これらの動作モードは、主装置のOSがサポートするデバイスクラスによって随時切り換えられる。
(1)請求項1の構成によれば、デバイスドライバを格納した記録媒体を失くすという不都合がない。また、主装置に搭載されたOSに応じて周辺装置を動作させ、そのOSにとって必要なデバイスドライバを自動的にインストールできる。
(2)請求項2の構成によれば、プログラム記憶部に記録されたプログラムを随時選択的に読み込むことで、主装置に搭載されたOSの機能に応じて周辺装置の動作モードを切り換えることができる。
(3)請求項3の構成によれば、主装置のOSがサポートしないデバイスクラスのデバイスドライバを主装置に自動的にインストールすることができる。
(4)請求項4の構成によれば、主装置のOSが古いバージョンであっても、USBデバイスに係るデバイスドライバの自動インストールを行い易くなる。
以下、図1〜5を用いて本発明の周辺装置の第1の実施形態であるプリンタを説明する。
プリンタ1は、USBケーブル3を介してパソコン2に接続される。図1に示すように、プリンタ1は、マスクROM11、USBインタフェース部12、プリント部13、RAM14、およびCPU10を備える。マスクROM11、USBインタフェース部12、プリント部13、RAM14、およびCPU10は、それぞれがメインバス9に接続される。マスクROM11は、通常動作モード用ファームウェア4、マスストレージモード用ファームウェア5、HIDモード用ファームウェア6、デバイスドライバ7、およびユーティリティソフトウェア8を格納する。これらのソフトウェアについては、後述する。
USBインタフェース部12は、プリンタ1とパソコン2との間の通信を行う。プリント部13は、USBインタフェース部12を介してパソコン2から提供される画像データに基づいて、用紙に対してインクジェット方式の印刷を行う。RAM14は、一時的にデータを保持する揮発性のメモリである。CPU10は、プリンタ1の各部を統括的に制御する。CPU10がROM11内のいずれのプログラムを読み込むかを選択することにより、プリンタ1の動作モードが切り換えられる。ここでは、CPU10が本発明の解析手段、インストール手段、およびプログラム実行部を構成し、USBインタフェース部12が本発明の通信手段を構成し、マスクROM11が本発明のプログラム記録部を構成し、CPU10およびマスクROM11が本発明の動作モード選択手段を構成する。
パソコン2は、入力装置、出力装置、記憶装置、制御装置、および演算装置など公知の装置によって構成される。パソコン2には、公知のOSおよびアプリケーションソフトがインストールされる。本実施形態では、パソコン2にはOSとしてマイクロソフトウィンドウズ(登録商標)98がインストールされる。
次に、図2を用いて、上述の通常動作モード用ファームウェア4、マスストレージモード用ファームウェア5、HIDモード用ファームウェア6、デバイスドライバ7、ユーティリティソフトウェア8を説明する。
通常動作モード用ファームウェア4は、プリンタ1がプリンタとしての本来の機能を発揮するための動作手順を示したプログラムで構成される。通常動作モード用ファームウェア4には、入力される画像データに基づいてプリント部13の各部を制御し、インクジェット方式の印刷を行うプリントプログラム41が含まれる。通常動作モード用ファームウェアに基づいて動作するプリンタ1がパソコン2に接続されたときには、パソコン2のOSはプリンタ1をUSBプリントクラスデバイスとして認識する。
マスストレージモード用ファームウェア5は、エミュレートプログラム52、設定切り換えプログラム53、プリンタ用インストーラ54、Autorun.inf51を有している。エミュレートプログラム52、プリンタ1がCD−ROMドライブであるとしてパソコン2のOSに認識させるためのCPU10の動作手順を示したプログラムである。設定切り換えプログラム53は、オートランアプリケーション領域をパソコン2のOSにリードさせるためのCPU10の動作手順を示したプログラムである。具体的には、CD−ROMドライブにメディアが挿入されたり、CD−ROMドライブからメディアが取り出されたときと同様の信号をCPU10に生成させ、その信号をパソコン2に出力するためのプログラムである。プリンタ用インストーラ54は、CPU10を用いてプリンタ1の動作に必要なプリンタ用デバイスドライバ71およびフィルタドライバ72をパソコン2にインストールするためのプログラムである。Autorun.inf51は、エミュレートプログラム52の作用によってパソコン2がプリンタ1をCD−ROMとして認識したときに、プリンタ用インストーラ54をパソコン2に自動実行させるための情報を有している。ここでは、Autorun.inf51内に、プリンタ用インストーラ54を特定するための情報が記載されている。
HIDモード用ファームウェア6は、フィルタドライバ用インストーラ61およびマスストレージクラスデバイスドライバ用インストーラ62を含んでいる。フィルタドライバ用インストーラ61は、パソコン2のOSのデバッガを起動させるプログラム、フィルタドライバファイル作成プログラム、およびフィルタドライバファイルを実行させるプログラムを含んでいる。
マスストレージクラスデバイスドライバ用インストーラ62は、マスストレージクラスデバイスドライバファイルを作成するプログラム、およびマスストレージクラスデバイスドライバのインストールを実行するプログラムを含んでいる。
デバイスドライバ7には、プリンタ用デバイスドライバ71、フィルタドライバ72、およびマスストレージクラスデバイスドライバ73が含まれる。プリンタ用デバイスドライバ71は、プリンタ1固有のデバイスドライバである。フィルタドライバ72は、HID動作モードにおけるプリンタ1に高速データ転送機能を発揮させるためのドライバである。また、フィルタドライバ72は、プリンタ1を通常動作モードに切り換えるように要求するコマンドをパソコン2に出力させるプログラムを含んでいる。マスストレージクラスデバイスドライバ73は、マイクロソフトウィンドウズ(登録商標)98、98SEで、USBマスストレージクラスのデバイスをサポートするためのプログラムを含んでいる。ユーティリティソフトウェア8には、アプリケーションソフトとしてのフォトアルバム用プログラム81が含まれる。
ここで、図3〜図5を用いて、プリンタ1のデバイスドライバのインストール時におけるCPU10の動作手順を説明する。
図3に示すように、プリンタ1の電源がオンになると、CPU10はHIDモード用ファームウェア6を読み込み、プリンタ1をHID動作モードで動作させる(S1)。HID動作モードとは、プリンタ1をHIDクラスに準拠したデバイスとしてOSに認識させるための動作モードである。特に、本実施形態でHID動作モードとは、USBキーボードとして動作するキーボード動作モードをいう。
HIDクラスに準拠したデバイスの例として、USBキーボードやUSBマウスなどの基本的な周辺装置が挙げられる。このような基本的な周辺装置はOSに初めから入っている標準ドライバによってサポートされていることが多いため、本実施形態ではプリンタ1をHID動作モードで起動させている。マイクロソフトウィンドウズ(登録商標)では、ウィンドウズ(登録商標)98以降のバージョンのものは、USBキーボードやUSBマウスのデバイスドライバを有しておりプラグアンドプレイに対応している。
続いて、CPU10は、USBの初期化が完了するまで待機する(S2)。USB初期化とは、USBバスのリセットやコンフィグレーションを行いパソコン2に接続されたHID動作モードのプリンタ1を使用可能な状態にすることをいう。USBの初期化が完了すると、CPU10は、プリンタ1に固有のデバイスドライバが既にパソコン2にインストールされているか否かを判断する(S3)。S3の判断ステップは、プリンタ用デバイスドライバ71のインストールの際にパソコン2にインストールされるフィルタドライバ72が、パソコン2を介してプリンタ1に動作モード切換要求を出力するか否かを検出するステップである。CPU10は、通常動作モードに切り換える旨の要求をパソコン2側からされた場合には、既にプリンタ1の動作に必要なプリンタ用デバイスドライバ71がパソコン2にインストールされているものとみなしている。
S3の判断ステップにおいて、既にプリンタ1の動作に必要なデバイスドライバがパソコン2にインストールされている場合には、CPU10はプリンタ1とパソコン2との間の接続を電気的に切断する(S4)。続いて、CPU10はプリンタ1をHID動作モードから通常動作モードに切り換える(S5)。S5のステップにおいて、CPU10は、通常動作モード用ファームウェア4を読み込む。通常動作モードとは、プリンタ1がプリンタとして振る舞い本来の機能を発揮するモードである。続いて、CPU10はプリンタ1とパソコン2との間を再度接続する(S6)。S6のステップは、プリンタ用の動作モードの変化をパソコン2に認識させることを目的としている。動作モード毎にパソコン2に認識させるべきデバイスクラスが異なるため、動作モードが変更されるたびにCPU10は接続のやり直しを行う。パソコン2にはプリンタ1を動作させるためのプリンタ用デバイスドライバ71がインストールされているため、パソコン2側でプリンタ1を認識すると、プラグアンドプレイによりプリンタ1がただちに動作可能になる。
S3の判断ステップにおいて、プリンタ1の動作に必要なデバイスドライバがパソコン2にインストールされていない場合には、図4に示すS11の判断ステップに移行する。S11の判断ステップでは、パソコン2のOSがマスストレージクラスのデバイスをサポートしているか否かをCPU10が判断する。ここでは、パソコン2から固有パラメータのUSBコマンドが出力されるか否かをCPU10が検出する。
S11の判断ステップを詳しく説明する。プリンタ1がHID動作モードにより動作開始する際、初期シーケンスの一連の手順の中で、「Set Configuration」や「Get Descriptor」といったコマンドがパソコン2からプリンタ1に発行される。このとき、「Get Descriptor(Configration
Type)」のwLength(転送長)がウィンドウズ(登録商標)98およびウィンドウズ(登録商標)98SEと、ウィンドウズ(登録商標)2000、ウィンドウズ(登録商標)ME、およびウィンドウズ(登録商標)XPと、で相違する。S11の判断ステップでは、CPU10はパソコン2が発行した「Get Descriptor(Configration Type)」のwLength(転送長)を解析して、パソコン2のOSがウィンドウズ(登録商標)98,98SE、または、ウィンドウズ(登録商標)2000,ME,XPのいずれであるのかを判断している。本実施形態では、wLength(転送長)が3f1h(1009)で指定された「Get Descriptor(Configration Type)」が少なくとも1回パソコン2から発行された場合には、パソコン2のOSがマスストレージクラスのデバイスをサポートしていないOS(ウィンドウズ(登録商標)98,98SE)であると判断する。これに対して、wLength(転送長)が3f1h(1009)で指定された「Get Descriptor(Configration Type)」が1度もパソコン2から発行されない場合には、パソコン2のOSがマスストレージクラスのデバイスをサポートするOS(ウィンドウズ(登録商標)2000,ME,XP)であると判断する。
Type)」のwLength(転送長)がウィンドウズ(登録商標)98およびウィンドウズ(登録商標)98SEと、ウィンドウズ(登録商標)2000、ウィンドウズ(登録商標)ME、およびウィンドウズ(登録商標)XPと、で相違する。S11の判断ステップでは、CPU10はパソコン2が発行した「Get Descriptor(Configration Type)」のwLength(転送長)を解析して、パソコン2のOSがウィンドウズ(登録商標)98,98SE、または、ウィンドウズ(登録商標)2000,ME,XPのいずれであるのかを判断している。本実施形態では、wLength(転送長)が3f1h(1009)で指定された「Get Descriptor(Configration Type)」が少なくとも1回パソコン2から発行された場合には、パソコン2のOSがマスストレージクラスのデバイスをサポートしていないOS(ウィンドウズ(登録商標)98,98SE)であると判断する。これに対して、wLength(転送長)が3f1h(1009)で指定された「Get Descriptor(Configration Type)」が1度もパソコン2から発行されない場合には、パソコン2のOSがマスストレージクラスのデバイスをサポートするOS(ウィンドウズ(登録商標)2000,ME,XP)であると判断する。
S11の判断ステップにおいて、パソコン2のOSがUSBマスストレージクラスのデバイスをサポートしている場合、CPU10はプリンタ1とパソコン2との間の接続を電気的に切断する(S12)。続いて、CPU10は、マスストレージモード用ファームウェア5を読み込み、プリンタ1をHID動作モードからマスストレージクラス動作モードに切り換える(S13)。マスストレージ動作モードとは、プリンタ1をマスストレージクラスに準拠したデバイスとしてOSに認識させるための動作モードである。マスストレージクラス動作モードでは、プリンタ1がCD−ROMドライブであるとしてパソコン2に認識させる。続いて、CPU10はプリンタ1とパソコン2との間を再度接続する(S14)。
パソコン側ではUSBマスストレージクラスに準拠したデバイスを動作させるための標準デバイスドライバを有しているため、S14の接続ステップが実行されると、プリンタ1を標準デバイスドライバを用いて動作させるためのコンフィグレーションが実行される。コンフィグレーションの実行中において、CPU10は、オートランアプリケーション領域へパソコン2側からのアクセスが有ったか否かを検出する(S15)。ここで、オートランアプリケーション領域とは、Autorun.inf51に記述されているプリンタ用インストーラ54が格納された領域をいう。
S15の検出ステップにおいて、オートランアプリケーション領域へパソコン2側からのアクセスがあった場合には、CPU10はOSのオートラン機能によりプリンタ用インストーラ54の実行が開始されたものと判断し、プリンタ用デバイスドライバ71のインストールが完了するまで待機する(S16)。この間、パソコン2側では、プリンタ用デバイスドライバ71、フィルタドライバ72、およびフォトアルバム用プログラム81のインストール処理が実行される。
S16のステップにおいて、インストールの完了をCPU10が検出すると、図3におけるS4のステップに移行する。その後、上述したように、CPU10はプリンタ1とパソコン2との間の接続を電気的に切断し(S4)、プリンタ1をHID動作モードから通常動作モードに切り換え(S5)、プリンタ1とパソコン2との間を再度接続する(S6)。S15およびS16のステップにおいて、プリンタ1を動作させるためのデバイスドライバがパソコン2にインストールされているため、パソコン2側でプリンタ1との接続を認識すると、プリンタ1が動作可能になる。
S11の判断ステップにおいて、パソコン2のOSがUSBマスストレージクラスのデバイスをサポートをしていない場合、図5におけるS21のステップに移行する。S21のステップでは、フィルタドライバ用インストーラ61に基づいてCPU10は、パソコン2のOSのデバッガ(Debugプログラム)を起動させ、フィルタドライバ72を構成するバイナリコードを順次パソコン2側に出力する。このとき、OSのデバッガを起動させるためのキー操作や、フィルタドライバ72を構成するバイナリコードを入力するためのキー操作がされた場合にキーボードが発する信号と同一の信号がプリンタ1からパソコン2に供給される。デバッガは、プリンタ1から供給されるコードを作業エリアに1バイトずつ保存する。さらに、S21のステップではCPU10は、フィルタドライバ72を構成するすべてのバイナリコードの出力が完了すると、出力したバイナリコードをフィルタドライバ72のファイルとしてパソコン2に保存させる。この処理によってフィルタドライバ72のコピーがパソコン2の記憶装置に作成される。続いて、CPU10は、保存したフィルタドライバ72のファイルのインストール処理をパソコン2に実行させる。
続いて、CPU10はフィルタドライバのインストールが完了するまで待機する(S22)。続いて、CPU10は、キーボードドライバインストール情報をパソコン2のレジストリから削除する(S23)。続いて、CPU10は、プリンタ1とパソコン2との間の接続を電気的に切断する(S24)。この間、CPU10はプリンタ1の動作モードをHID動作モードのまま維持する(S25)。続いて、CPU10はプリンタ1とパソコン2との間を再度接続する(S26)。S26のステップにより再接続された後は、プリンタ1は、S21のステップにてインストールされたフィルタドライバ72によって高速データ転送機能が追加されている。そして、OSが有する標準のデバイスドライバ、フィルタドライバ72、およびCPU10の協働した動作によって、マスストレージクラスデバイスドライバ用インストーラ62が起動される。マスストレージクラスデバイスドライバ用インストーラ62は、マスストレージクラス用デバイスドライバ73を構成するすべてのバイナリコードの出力をCPU10に実行させる。マスストレージクラス用デバイスドライバ73を構成するすべてのバイナリコードの出力が完了すると、CPU10は、出力したバイナリコードを特定のファイル名でパソコン2の記録装置に記録する。この結果、プリンタ1のROM11に格納されているマスストレージクラス用デバイスドライバ73がパソコン2にインストールされる。この間、CPU10は、マスストレージクラス用デバイスドライバのインストールが完了するまで待機する(S27)。S27のステップにおいて、マスストレージクラス用デバイスドライバのインストールが完了すると、CPU10は図4のS12のステップに移行する。
その後、上述のように、CPU10は、プリンタ1をマスストレージ動作モードで動作させつつ、パソコン2のOSがプリンタ1を動作させるために必要なプリンタ用デバイスドライバ71のインストール処理をパソコン2に実行させる(S12〜S16)。プリンタ用デバイスドライバ71がパソコン2にインストールされた後に、CPU10はプリンタ1を通常動作モードに切り換えてパソコン2に接続し、プリンタ1が動作可能な状態になる(S4〜S6)。
パソコン2にマイクロソフトウィンドウズ(登録商標)98がインストールされている本実施形態の場合、まず、プリンタ1がHID動作モードで動作し、プリンタ1がUSBキーボードであるようにパソコン2に見せかける。HID動作モードでプリンタ1が動作する際に、プリンタ1が保有しているマスストレージクラス用デバイスドライバ73がパソコン2にインストールされる。マスストレージクラス用デバイスドライバ73のインストールが完了することにより、マイクロソフトウィンドウズ(登録商標)98でもUSBマスストレージクラスデバイスがサポートされるようになる。その後、プリンタ1はマスストレージ動作モードに切り換わり、マスストレージクラス用デバイスドライバ73が付加されたマイクロソフトウィンドウズ(登録商標)98のオートラン機能を利用してプリンタ用デバイスドライバ71の自動インストールがされる。プリンタ用デバイスドライバ71がパソコン2にインストールされた後は、プリンタ1が通常動作モードに切り換わり、プラグアンドプレイ機能によってパソコン2に接続されたプリンタ1が使用可能な状態になる。
第1の実施形態によれば、マスストレージクラスのUSBデバイスをサポートしていないマイクロソフトウィンドウズ(登録商標)98、ウィンドウズ(登録商標)98SEを搭載するパソコンにおいても、プリンタ1の動作に必要なドライバの自動インストールを実行することが可能になる。なお、将来的にOSがバージョンアップすることを考慮して、プリンタ1にPROMを設け、必要なファームウェアやデバイスドライバを後から追加記録できる態勢を整えておいても良い。本実施形態では、本発明の周辺装置の例としてプリンタを説明したが、無線LAN装置、スキャナ、ディジタルカメラ、ビデオキャプチャ等の周辺装置とパソコンを接続する場合にも上述と同様の手法を用いることができる。
次に、図6〜図8を用いて本発明の周辺装置の第2の実施形態である外部ストレージ機器を説明する。
図6に示すように、外部ストレージ装置1′は、マスクROM11′、USBインタフェース部12′、ハードディスク15、RAM14′、およびCPU10′を備える。これらの構成のうち第1の実施形態と機能的に類似するものについては、引用符に同じ数値を割り当て「ダッシュ(′)」を付している。ここでは、第1の実施形態と同一の数値が付された構成については説明を省略する。外部ストレージ装置1′の構成は、プリント部13に代えてハードディスク15を備えた点、および通常動作モード用ファームウェア4,ユーティリティソフトウェア8が除かれている点でプリンタ1の構成と相違する。
図7および図8を用いて、外部ストレージ装置1′の接続時のCPU10′の動作手順を説明する。図7に示すように、外部ストレージ装置1′の起動時に、CPU10′はマスストレージ動作モードに切り換える(S31)。続いて、CPU10′は、コンフィグレーションの完了まで待機する(S32)。このとき、コンフィグレーションが完了すると、CPU10′は外部ストレージ装置1′の接続処理を終了する。
S32の待機ステップで、コンフィグレーションが完了しない場合、CPU10′はタイムアウトであるか否かを判断する(S33)。具体的には、CPU10′は起動から20秒経過してもコンフィグレーションが完了しないときにタイムアウトであると判断する。
S33の判断ステップで、タイムアウトであると判断すると、CPU10′は外部ストレージ装置1′の動作モードをHID動作モードに切り換える(S34)。続いて、CPU10′はUSB初期化処理が完了するまで待機する(S35)。USB初期化処理が完了すると、CPU10′は外部ストレージ装置1′のデバイスドライバが既にインストールされているか否かを判断する(S36)。このS36のステップは、フィルタドライバが外部ストレージ装置1′に対してマスストレージ動作モードへの切換要求を出力するか否かを判断することによって行われる。このフィルタドライバは外部ストレージ装置1′のデバイスドライバとともにパソコン2にインストールされるものであるため、マスストレージ動作モードへの切換要求の有無によって外部ストレージ装置1′のデバイスドライバのインストールの有無が判断できる。S36のステップにて、既に外部ストレージ装置1′のデバイスドライバがインストールされている場合には、CPU10′は、パソコン2との間の電気的な接続を切断し(S38)、外部ストレージ装置1′をマスストレージ動作モードに切り換え(S39)、再度パソコン2と外部ストレージ装置1を接続して(S40)、外部ストレージ装置1′の接続処理を終了する。一方、S36のステップにて、未だ外部ストレージ装置1′のデバイスドライバがインストールされていない場合には、CPU10′はパソコン2のOSがマイクロソフトウィンドウズ(登録商標)98,98SEであるか否かを判断する(S37)。このS37のステップは、第1の実施形態のS11のステップと同様の手法によって行われる。
S37のステップにおいて、パソコン2のOSがウィンドウズ(登録商標)98,98SEではない場合、CPU10′はパソコン2のOSがマスストレージクラスのデバイスをサポートするウィンドウズ(登録商標)2000,ME,XPのいずれかであると判断し、外部ストレージ装置1′をマスストレージ動作モードに切り換え(S38〜S40)、接続処理を終了する。
S37のステップにおいて、パソコン2のOSがウィンドウズ(登録商標)98,98SEのいずれかである場合、図8のS41のステップに移行する。S41〜S47の処理は、外部ストレージ装置1′からパソコン2に対してマスストレージクラス用デバイスドライバをインストールする処理を示しているが、その処理内容は第1の実施形態におけるS21〜S27のステップと同様であるため説明を省略する。本実施形態では、CPU10′は、S47のステップの後に、キーボードドライバインストール情報を削除し、マスストレージモード切換用フィルタドライバをパソコン2にインストールする。その後、CPU10′は図7のS34のステップに移行する。そして、CPU10′は、S34のステップ、S35のステップ、S36のステップを順次実行し、外部ストレージ装置1′の接続処理を終了する。
第2の実施形態によれば、USBハードディスク等の外部ストレージ装置のデバイスドライバのインストール作業負担を軽減させることができる。なお、この実施形態では、マスストレージ用ファームウェア5′、HIDモード用ファームウェア6′、デバイスドライバ7′をROM11′に格納しているが、ROM11′の記録領域が狭い場合にはこれらのソフトウェアの一部または全部をハードディスク15に格納するようにしても良い。
最後に、上述の実施形態の説明は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述の実施形態ではなく、特許請求の範囲によって示される。さらに、本発明の範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1−プリンタ
2−パソコン
10−CPU
11−ROM
12−USBインタフェース部
13−プリント部
2−パソコン
10−CPU
11−ROM
12−USBインタフェース部
13−プリント部
Claims (4)
- 主装置との間で通信を行う通信手段と、
前記通信手段を介して入力される信号を解析し、前記主装置のOSがサポートするデバイスクラスを解析する解析手段と、
前記解析手段の解析結果に基づいて、前記主装置のOSがサポートするデバイスクラスに対応した動作モードで本周辺装置を動作させる動作モード選択手段と、
本周辺装置に係るデバイスドライバを記録する記録手段と、
前記解析手段の解析結果に基づいて、前記主装置のOSに必要なデバイスドライバを前記記録手段から選択的に読み出し前記主装置にインストールするインストール手段と、
を備えたことを特徴とする周辺装置。 - 前記動作モード選択手段は、動作モード毎に互いに異なったデバイスクラスが対応づけられた複数の動作モードに係る複数のプログラムを記録するプログラム記録部、および前記解析手段の解析結果に基づいて前記複数のプログラムを選択的に実行するプログラム実行部を備えたことを特徴とする請求項1に記載の周辺装置。
- 前記インストール手段は、前記解析手段の解析結果に基づいて前記主装置のOSがサポートしないデバイスクラスに係るデバイスドライバを前記記録手段から選択的に読み出し前記主装置にインストールすることを特徴とする請求項1または2に記載の周辺装置。
- 前記通信手段は、USBインタフェース部を備え、
前記記録手段は、少なくともUSBマスストレージクラスのデバイスドライバおよび本周辺装置の固有のデバイスドライバを記録しており、
前記プログラム記録部は、USBヒューマンインタフェースデバイスクラスのデバイスとして本周辺装置を動作させつつ、前記USBマスストレージクラスのデバイスドライバを前記記録手段から読み出して前記主装置にインストールするプログラムと、
USBマスストレージクラスのデバイスとして本周辺装置を動作させつつ、本周辺装置の固有のデバイスドライバを前記記録手段から読み出して前記主装置にインストールするプログラムと、を記録することを特徴とする請求項2または3に記載の周辺装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004203972A JP2006024155A (ja) | 2004-07-09 | 2004-07-09 | 周辺装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004203972A JP2006024155A (ja) | 2004-07-09 | 2004-07-09 | 周辺装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006024155A true JP2006024155A (ja) | 2006-01-26 |
Family
ID=35797360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004203972A Pending JP2006024155A (ja) | 2004-07-09 | 2004-07-09 | 周辺装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006024155A (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100802241B1 (ko) | 2006-12-19 | 2008-02-11 | 디디티아이씨 코포레이션 리미티드 | 크로스 플랫폼을 구비한 드라이버 없는 주변장치의 구동방법 |
JP2009223874A (ja) * | 2008-02-21 | 2009-10-01 | Brother Ind Ltd | プリンター |
JP2009266179A (ja) * | 2008-04-30 | 2009-11-12 | Brother Ind Ltd | 印刷装置、外部端末及び印刷システム |
JP2009265982A (ja) * | 2008-04-25 | 2009-11-12 | Brother Ind Ltd | 印刷装置 |
JP2010044579A (ja) * | 2008-08-12 | 2010-02-25 | Brother Ind Ltd | 周辺装置、プログラム、およびドライバインストールシステム |
KR101143839B1 (ko) | 2007-04-23 | 2012-07-12 | 삼성테크윈 주식회사 | 초광대역 통신이 지원되는 메모리 카드 및 그의 동작 방법 |
WO2013001871A1 (ja) * | 2011-06-28 | 2013-01-03 | ブラザー工業株式会社 | 印刷装置 |
JP2013164598A (ja) * | 2013-03-18 | 2013-08-22 | Seiko Epson Corp | 画像表示装置 |
JP2013167881A (ja) * | 2013-03-18 | 2013-08-29 | Seiko Epson Corp | 画像表示装置、画像表示装置の制御方法 |
JP2014514640A (ja) * | 2011-03-21 | 2014-06-19 | マイクロソフト コーポレーション | シンプルペリフェラルバスを利用するシステム及び方法 |
JP2014520327A (ja) * | 2011-06-17 | 2014-08-21 | アルカテル−ルーセント | モバイル・コンピューティング・デバイスを介して管理されたusbサービスをリモートに送達する方法および装置 |
JP2015189025A (ja) * | 2014-03-27 | 2015-11-02 | セイコーエプソン株式会社 | 印刷装置 |
US9176745B2 (en) | 2011-03-23 | 2015-11-03 | Canon Kabushiki Kaisha | Peripheral device used while being connected to information processing apparatus |
JP2017033141A (ja) * | 2015-07-30 | 2017-02-09 | キヤノン株式会社 | 周辺装置、その方法、及びプログラム |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08161250A (ja) * | 1994-12-06 | 1996-06-21 | Canon Inc | 情報処理装置 |
JPH1011849A (ja) * | 1996-06-24 | 1998-01-16 | Sharp Corp | 磁気記録再生装置 |
JP2000132378A (ja) * | 1998-10-23 | 2000-05-12 | Fuji Xerox Co Ltd | 画像出力装置 |
JP2000194645A (ja) * | 1998-12-28 | 2000-07-14 | Toshiba Corp | 電子機器制御方法および電子機器制御装置および電子機器 |
JP2003114859A (ja) * | 2001-10-05 | 2003-04-18 | Matsushita Electric Ind Co Ltd | Usb接続機器 |
JP2003122699A (ja) * | 2001-10-15 | 2003-04-25 | Toshiba Corp | 情報処理システムとその周辺機器 |
JP2003150530A (ja) * | 2001-11-16 | 2003-05-23 | Naltec Inc | 周辺機器およびその制御方法 |
JP2004086617A (ja) * | 2002-08-27 | 2004-03-18 | Workbit Corp | バックアップ装置 |
JP2005352928A (ja) * | 2004-06-14 | 2005-12-22 | Japan Research Institute Ltd | 在庫管理支援システムおよび支援プログラム |
-
2004
- 2004-07-09 JP JP2004203972A patent/JP2006024155A/ja active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08161250A (ja) * | 1994-12-06 | 1996-06-21 | Canon Inc | 情報処理装置 |
JPH1011849A (ja) * | 1996-06-24 | 1998-01-16 | Sharp Corp | 磁気記録再生装置 |
JP2000132378A (ja) * | 1998-10-23 | 2000-05-12 | Fuji Xerox Co Ltd | 画像出力装置 |
JP2000194645A (ja) * | 1998-12-28 | 2000-07-14 | Toshiba Corp | 電子機器制御方法および電子機器制御装置および電子機器 |
JP2003114859A (ja) * | 2001-10-05 | 2003-04-18 | Matsushita Electric Ind Co Ltd | Usb接続機器 |
JP2003122699A (ja) * | 2001-10-15 | 2003-04-25 | Toshiba Corp | 情報処理システムとその周辺機器 |
JP2003150530A (ja) * | 2001-11-16 | 2003-05-23 | Naltec Inc | 周辺機器およびその制御方法 |
JP2004086617A (ja) * | 2002-08-27 | 2004-03-18 | Workbit Corp | バックアップ装置 |
JP2005352928A (ja) * | 2004-06-14 | 2005-12-22 | Japan Research Institute Ltd | 在庫管理支援システムおよび支援プログラム |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100802241B1 (ko) | 2006-12-19 | 2008-02-11 | 디디티아이씨 코포레이션 리미티드 | 크로스 플랫폼을 구비한 드라이버 없는 주변장치의 구동방법 |
KR101143839B1 (ko) | 2007-04-23 | 2012-07-12 | 삼성테크윈 주식회사 | 초광대역 통신이 지원되는 메모리 카드 및 그의 동작 방법 |
JP2009223874A (ja) * | 2008-02-21 | 2009-10-01 | Brother Ind Ltd | プリンター |
JP4544356B2 (ja) * | 2008-02-21 | 2010-09-15 | ブラザー工業株式会社 | プリンター |
JP2009265982A (ja) * | 2008-04-25 | 2009-11-12 | Brother Ind Ltd | 印刷装置 |
JP2009266179A (ja) * | 2008-04-30 | 2009-11-12 | Brother Ind Ltd | 印刷装置、外部端末及び印刷システム |
JP4513893B2 (ja) * | 2008-04-30 | 2010-07-28 | ブラザー工業株式会社 | 印刷装置、外部端末及び印刷システム |
JP2010044579A (ja) * | 2008-08-12 | 2010-02-25 | Brother Ind Ltd | 周辺装置、プログラム、およびドライバインストールシステム |
JP2014514640A (ja) * | 2011-03-21 | 2014-06-19 | マイクロソフト コーポレーション | シンプルペリフェラルバスを利用するシステム及び方法 |
US9176745B2 (en) | 2011-03-23 | 2015-11-03 | Canon Kabushiki Kaisha | Peripheral device used while being connected to information processing apparatus |
JP2014520327A (ja) * | 2011-06-17 | 2014-08-21 | アルカテル−ルーセント | モバイル・コンピューティング・デバイスを介して管理されたusbサービスをリモートに送達する方法および装置 |
US9619417B2 (en) | 2011-06-17 | 2017-04-11 | Alcatel Lucent | Method and apparatus for remote delivery of managed USB services via a mobile computing device |
WO2013001871A1 (ja) * | 2011-06-28 | 2013-01-03 | ブラザー工業株式会社 | 印刷装置 |
JP2013167881A (ja) * | 2013-03-18 | 2013-08-29 | Seiko Epson Corp | 画像表示装置、画像表示装置の制御方法 |
JP2013164598A (ja) * | 2013-03-18 | 2013-08-22 | Seiko Epson Corp | 画像表示装置 |
JP2015189025A (ja) * | 2014-03-27 | 2015-11-02 | セイコーエプソン株式会社 | 印刷装置 |
JP2017033141A (ja) * | 2015-07-30 | 2017-02-09 | キヤノン株式会社 | 周辺装置、その方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4612912B1 (ja) | 情報処理装置、情報処理システムの制御方法およびプログラム | |
US20050162688A1 (en) | Printing terminal, printing data outputting device, and computer and peripheral device using therefor | |
US6965953B2 (en) | Information processing apparatus, method for controlling information processing apparatus, and storage medium storing program for realizing the method | |
JP2004171516A (ja) | 情報処理装置および印刷制御方法および印刷制御プログラム | |
JP2006024155A (ja) | 周辺装置 | |
US20040090652A1 (en) | Printer, and control method thereof, having extended communication interface functions | |
JP2004310775A (ja) | 同じものをロードするためのポータブルオペレーティングシステムおよび方法 | |
JP2010044579A (ja) | 周辺装置、プログラム、およびドライバインストールシステム | |
JP2007272763A (ja) | モジュールインストール方法及び装置 | |
US20100027041A1 (en) | Image forming apparatus, information processing apparatus, data processing method, and storage medium storing program | |
US7791745B2 (en) | Information processing apparatus on which printer driver can be installed, information processing apparatus, control method, program, and storage medium | |
JP4622277B2 (ja) | 周辺機器ドライバインストール装置、周辺機器、周辺機器ドライバインストールシステムおよび周辺機器ドライバインストール方法 | |
JP5397162B2 (ja) | プリンタードライバー、及び、posプリンターの制御方法 | |
JP4306479B2 (ja) | 画像出力装置、および、画像出力システム | |
JP2005216019A (ja) | 可搬型記録媒体 | |
JP5596376B2 (ja) | 周辺装置 | |
JP2005115427A (ja) | コンピュータにローカル接続される周辺装置 | |
JP2005115440A (ja) | コンピュータにアンインストールを行わせるためのコンピュータプログラム | |
JP2008162054A (ja) | 印刷装置 | |
JPH10283129A (ja) | 印刷制御装置及び印刷制御プログラムのインストール方法及び記憶媒体 | |
US20050257225A1 (en) | Office automation device and method of installing, reinstalling, and upgrading a driver thereof | |
JP2009193511A (ja) | 制御装置、画像処理装置、メモリ情報保存制御方法、メモリ情報保存制御プログラム及び記憶媒体 | |
JP2005063128A (ja) | 印刷ターミナルおよび印刷データ出力装置 | |
KR100607970B1 (ko) | Oa기기 및 그 드라이버 설치/재설치 방법 | |
JPH10293619A (ja) | 情報処理装置、情報処理システムおよび記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060403 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070702 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100629 |